---
name: decision-delegate
description: "Decision delegation workflow: the four-step process for when the user says 'you decide', 'your call', 'use your judgement', 'give me a recommendation' or 'how should we choose' (collect constraints → generate 2–3 candidates that each carry their cost → rank against the user's preferences and recommend → leave a record + compare afterwards). Core hard rule: what is delegated is generating and recommending; what is retained is approval — irreversible / money-spending / outward-facing decisions must be asked, reversible low-cost ones you decide yourself but must write into the decision log. Use when the user asks 'you decide', 'your call', 'use your judgement', 'go with your recommendation', 'give me a recommendation', 'which one', 'how should we choose' or 'make the decision for me'."
---

> Original skill · commissioned by the user · English edition, 2026-11-12

# Decision Delegate

## 0. One line

**When the user hands over the decision, what must be handed back is a traceable recommendation, not a silent unilateral judgement.**

Evidence (verbatim): in the same message the user both said "you decide" / "you go ahead and finish everything you can do", and immediately added "**after I give my permission**, turn it into a new workflow" — **the authorization covers execution, not the decision**. → profile in `references/01-user-decision-profile.md`

## 1. The three-way split (**the first thing is classification, not ideation**)

| Decision type | Criterion | What to do |
|---|---|---|
| **Must ask** | **Irreversible** (delete / overwrite / publish) / **spends money** (paid endpoints) / **outward-facing** (submit, send, change anything the user can see) | give 2–3 candidates + costs, **wait for one sentence from the user** |
| **Decide + record** | reversible, low cost, internal (naming, directories, script parameters, report wording, execution order) | just do it, **write it into the decision log** and state the rationale of it |
| **Autonomous within bounds** | the user already gave hard bounds (budget / word count / platform / aspect ratio) | decide inside the bounds, **do not re-confirm repeatedly**; crossing a bound must be asked |

## 2. The four-step workflow (details in `references/02-decision-workflow.md`)

```
① collect constraints  →  ② generate candidates  →  ③ rank by preference + recommend  →  ④ record + compare afterwards
   (money/capability/time/delivery/bounds)  (2–3, each with its cost and irreversibility point)  (which one + fallback + switch condition)  (decision log, compared in the next retrospective)
```

**② every candidate must carry four columns**: approach | **cost** (money / time / rework magnitude) | **irreversibility point** | **dependency premises** (if a premise does not hold, write "infeasible", not "hard").

**③ you must recommend** — listing options is not enough. Output: **which one you recommend → one-sentence reason → which one is the fallback → under what condition you switch**.

**④ recording is a mechanical action**:

```powershell
python scripts/decision_log.py add --log <project>/decision-log.md `
       --question "which engine for the Chinese voiceover" --chosen Doubao --alternatives "ElevenLabs / Kokoro" `
       --cost "about 0 (within quota)" --reversible yes --evidence "all 6 sample renders failed"
python scripts/decision_log.py check --log <project>/decision-log.md   # missing fields → exit code 1
```

## 3. Hard gates (four)

1. **An irreversible decision without the user's explicit approval in their own words → do not do it** (`decision_log.py` returns REFUSE outright, exit code 2).
2. **Options without a recommendation → not a delivery**. What the user wants is a decision.
3. **No proposal before the constraints are collected.** The reverse (propose first, then explain why it exceeds the budget) is a proven source of rework.
4. **A decision record with missing fields → invalid** (a record missing "cost" or "rationale" cannot be compared in the next retrospective).

## 4. Anti-patterns

| Anti-pattern | Consequence |
|---|---|
| Reading "you decide" as "free rein" | an irreversible thing gets decided unilaterally → revoked and redone (seen once: "borrow a lint" → "revoke") |
| Asking 5 questions about everything that is missing | the user answers "too complicated" — **ask once about what is missing, and give a default wherever a default is possible** |
| Listing options without a recommendation | dumping the multiple-choice homework back on the user |
| Deciding without recording | "delegation quality" cannot be reviewed, and the next similar decision is still made by feel |
| Treating "the user didn't say no" as permission while collecting constraints | bounds are only copied verbatim, **never extended** |

## 5. Sources (**borrow the method only, do not copy the text**)

| Source | What was borrowed |
|---|---|
| The locally installed `interview-report` workflow | renders decisions as a reviewable decision graph `question → decision → rationale`; this skill borrows its idea that a decision must be traceable and reviewable |
| The local `design-map` workflow | the idea of "freezing a design discussion into an artifact (settled / alternatives / open questions)" |
| User input from a corpus of past sessions plus this session | the **only evidence source** for the `references/01` profile (every preference carries a verbatim quote) |

> This skill **introduces no new external dependency**; every rule comes from: user-preference evidence + the gate style of the existing skills.

---

## Working discipline (three hard rules, **read before changing anything**)

**① Research first** — before creating or substantially changing a skill or workflow, you must first look for existing solutions in **the locally installed skills** and **online (GitHub / plugin marketplaces)**, and give the three-part conclusion: **what you found → adopt / do not adopt → why**.

- The reason for not adopting must be concrete (license limits / conflict with the existing conventions / maintenance cost / context burden); "not suitable" is not allowed.
- When a reusable solution is found, **prefer to reuse it or borrow only the method**; do not rewrite it.

**② Do not expand scope on your own** — any scope extension the user did not ask for is **proposed only, never executed**; a proposal must **explicitly state the cost** (skill table +N entries, +X context per turn, how many new files), and the user decides.

**③ Budget first** — **plan the budget → report the budget → plan against the approved amount → keep the ledger → reconcile**: a five-step closed loop.
**If ① and ② are not finished, do not start; if ③ does not pass, do not call any paid endpoint.**
Tools: `video-production-pipeline/scripts/{budget_plan,cost_preflight,cost_ledger}.py`.
