Skip to content
Back to skills

Decision

ASecurity

Through one structured decision, settle the work into a user-confirmed, landable shape: the key changes that realize it, how they fit together, and the constraints on them, without execution detail. This file starts, routes, and finishes; Signals fire beside the spine, and each runner owns dialogue. ---

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 2, 2026
ai-agentspythonnode

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add lulufoo/lulu-workflow --skill decision --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Decision?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Decision
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lulufoo-decision/badge)](https://www.skillsdirectory.com/skills/lulufoo-decision)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: decision
---

# decision-workflow

Through one structured decision, settle the work into a user-confirmed, landable shape: the key changes that realize it, how they fit together, and the constraints on them, without execution detail. This file starts, routes, and finishes; Signals fire beside the spine, and each runner owns dialogue.

---

## Principles

1. **Fully expose risks** — surface risks arising from any Prior, Constraint, or Assumption.
2. **Clear unresolved doubts** — when doubts remain, offer to resolve them one question at a time.
3. **Respect evidence boundaries** — never present an unverified premise as a verified conclusion.
4. **User prior over framework** — integrate the user's judgments; never let the framework override them.

---

## Contract

<HARD-GATE>
Do NOT proceed until the holder has provided:

- `$SKILL_ROOT`, `$WORKFLOW_DIR`, `$PLATFORM`, `$CACHE_DIR`
- `$DECISION_SKILL_DIR` = `$SKILL_ROOT/decision`
- a confirmed `$CYCLE_ID`
</HARD-GATE>

<HARD-GATE name="Domain Constraints">

1. Pin `$CTX` via `$GATE_CONTROL resolve-context`.
2. Apply `$CTX.domain_constraints` (`objective`, `role`, `domain`, `x_dimensions`, `omitted_sections`) to the session.
3. Do not infer domain constraints from holder SKILL prose or memory.

</HARD-GATE>

## Script Macros

| Macro | Command |
|-------|---------|
| `$DEC_START` | `python3 "$DECISION_SKILL_DIR/scripts/dec_start.py" --cycle-id "<cycle_id>" --constraints "<constraints_path>" [--conversation-id "<conversation_id>"] [--domain-constraints-file "<path>"] [--session-dir "<session_dir>"]` |
| `$DEC_REOPEN` | `python3 "$DECISION_SKILL_DIR/scripts/dec_reopen.py" --cycle-id "<cycle_id>" --constraints "<constraints_path>" [--permit "<permit_path>"]` |
| `$GATE_CONTROL` | `python3 "$DECISION_SKILL_DIR/scripts/dec_gate_control.py" --cycle-id "<cycle_id>" --constraints "<constraints_path>"` |
| `$GET_PAYLOAD` | `$GATE_CONTROL get-payload` |
| `$REGISTER_CONTROL` | `python3 "$DECISION_SKILL_DIR/scripts/dec_register_control.py" --cycle-id "<cycle_id>" --constraints "<constraints_path>"` |
| `$REGISTER_COMMIT` | `python3 "$DECISION_SKILL_DIR/scripts/dec_register_control.py" --cycle-id "<cycle_id>" --constraints "<constraints_path>" register-commit --operations '<json array>'` |
| `$RS_COMMIT` | `python3 "$DECISION_SKILL_DIR/scripts/dec_gate_control.py" --cycle-id "<cycle_id>" --constraints "<constraints_path>" rs-commit --gate "<G>" --operations '<json array>'` |
| `$BATCH_RECLOSE` | `python3 "$DECISION_SKILL_DIR/scripts/dec_gate_control.py" --cycle-id "<cycle_id>" --constraints "<constraints_path>" batch-reclose --payloads '<json object>'` |

Subcommand contracts: module docstrings / `--help`. Loaded runners inherit these
macros; runner-only macros stay local.

---

## Start

1. Run `$DEC_START`. Holder stages pass their own `--constraints`; generic `decision` may omit it. When the platform provides a conversation ID, pass `--conversation-id`.
2. After `$DEC_START` or a holder binding returns `context_docs`: run `$GATE_CONTROL resolve-context`; pin `$CTX`; load each returned context document once; declare the bound session and use only the new `$CTX`.

---

## Router

<HARD-GATE>
Load the routed runner before execution; never rely on memory. The runner owns its context and dialogue map.
Route only from `$CTX` and macro stdout; never access session artifacts directly.
</HARD-GATE>

**Spine:** O → Q → GL → E → D → X → R → DC → `$GATE_CONTROL complete`.

**Dispatch:** `GATE_COMPLETE` → next spine runner; RS / Batch → returned runner. Signals route P / Scan / RS. Scan incremental `open` or R `handle` → Release.

**Global**

| Route | Runner |
|-------|--------|
| P | `$DECISION_SKILL_DIR/runners/p-registers-runner/SKILL.md` |
| RS | `$DECISION_SKILL_DIR/runners/rs-realign-runner/SKILL.md` |

**Gate**

| Route | Runner |
|-------|--------|
| O | `$DECISION_SKILL_DIR/runners/o-open-channel-runner/SKILL.md` |
| Q | `$DECISION_SKILL_DIR/runners/q-problem-runner/SKILL.md` |
| GL | `$DECISION_SKILL_DIR/runners/gl-grill-runner/SKILL.md` |
| E | `$DECISION_SKILL_DIR/runners/e-direction-runner/SKILL.md` |
| D | `$DECISION_SKILL_DIR/runners/d-decision-runner/SKILL.md` |
| X | `$DECISION_SKILL_DIR/runners/x-full-diagnosis-runner/SKILL.md` |
| R | `$DECISION_SKILL_DIR/runners/r-expose-bets-runner/SKILL.md` |
| DC | `$DECISION_SKILL_DIR/runners/dc-delivery-runner/SKILL.md` |

**Tools**

| Route | Runner |
|-------|--------|
| Scan | `$DECISION_SKILL_DIR/runners/risk-scan-runner/SKILL.md` |
| Release | `$DECISION_SKILL_DIR/runners/risk-release-runner/SKILL.md` |
| HD | `$DECISION_SKILL_DIR/runners/hd-human-decision-runner/SKILL.md` |

---

## Signals

When both trigger, complete S2 before handling S3.

| ID | Contract |
|----|----------|
| S1 | Any new Register item in dialogue → load P in parallel before replying; resume the current runner on `P_COMPLETE`. |
| S2 | Any new Register write or gate-payload write → use its stdout as Diff; run Scan incremental. |
| S3 | Any new Register write, gate-payload write, or user input that conflicts with a closed conclusion → load RS. |

---

## Cross-gate

### Projection

1. Speak in task terms; name internal IDs only for implementation or failure.
2. Preserve `$CTX.domain_constraints` vocabulary. Precedence: `domain.instruction > role.instruction > projection rules`.
3. Projected text is presentation only; never persist it.

### Operating rules

**G1.** Ask one question at a time. Apply the full [Ask Protocol](../shared/references/ask-protocol.md) only where the active runner binds it.

**G2.** Advance only when the active runner's map holds.

**G3.** Bypassing unclosed gates requires explicit user confirmation; confirmed exit ends incomplete.

---

## Freeze and Resume

`Frozen` is external-revision-only; `$RS_COMMIT` releases it. In-session RS stays `InProgress`.

1. **Freeze** — For a revision, run `$DEC_REOPEN`, not `$DEC_START`. The holder owns any required reopen permit.
2. **Hold** — While `Frozen`, block ordinary gate advancement and complete RS.
3. **Resume** — After RS confirmation, run `$RS_COMMIT`; it returns the session to `InProgress` and names the gate to resume.

---

## Done

<HARD-GATE name="Decision completion">

1. Do not exit Decision or transition to the next stage until DC succeeds and the user explicitly confirms readiness.
2. In a holder, Decision completion closes only the decision node; holder delivery owns the outer transition and delivered references.

</HARD-GATE>

Files in this skill

  • SKILL.md6.5 KB
  • eval/dimension-defs/decision-consistency.json610 B
  • eval/eval-profile.json203 B
  • eval/methods/decision-consistency.md1.2 KB
  • references/r-stale-review.md1.2 KB
  • references/rs-stale-batch-confirm.md1.4 KB
  • references/rs-stale-gate-update.md1.2 KB
  • runners/d-decision-runner/SKILL.md2.2 KB
  • runners/dc-delivery-runner/SKILL.md3.2 KB
  • runners/e-direction-runner/SKILL.md2.1 KB
  • runners/gl-grill-runner/SKILL.md2.9 KB
  • runners/hd-human-decision-runner/SKILL.md1.4 KB
  • runners/o-open-channel-runner/SKILL.md1.4 KB
  • runners/p-registers-runner/SKILL.md2.2 KB
  • runners/q-problem-runner/SKILL.md1.7 KB
  • runners/r-expose-bets-runner/SKILL.md2.5 KB
  • runners/risk-release-runner/SKILL.md2.9 KB
  • runners/risk-scan-runner/SKILL.md2.7 KB
  • runners/rs-realign-runner/SKILL.md2.8 KB
  • runners/x-full-diagnosis-runner/SKILL.md3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.