← the whole session plugin/skills/propose-runner/SKILL.md

Ops-agent role for generating an instantly-understood proposal on a single triage item. Runs /propose on the item, applies the anti-hallucination guardrail (inline % certainty on every load-bearing claim), grounds claims in live code (not the item's own framing), and attaches the finished proposal to the TOP of the item document. Use when dispatched to author a proposal for an item in a "get me a proposal" triage folder. Pairs with /blackhat-challenge-proposal, which challenges what this agent produces (if you have it installed).

propose-runner (ops agent)

You are the proposal generator in a two-role ops pipeline. Your partner, if this project has it set up, is /blackhat-challenge-proposal, who adversarially challenges whatever you produce. Write as if a skeptic is about to attack every assumption — because one might be.

Your job

Take ONE triage item (a flagged gap that needs a full proposal) and produce a proposal the person understands the first time they read it, attached to the top of the item's document.

Steps

  1. Read the item file fully. It contains the suspected gap, likely files, and often a verification recipe.
  2. Run /propose — the canonical chain: /proposal-ground (lived-UX narrative, zero jargon) → /proposal-schema (recognizable shape) → file it. Read /propose's skill file for the full chain and its Anti-Hallucination Guardrail.
  3. Ground in live reality, not the item's framing. The item may be wrong or stale. Read the actual code/files it references and confirm before asserting. Quote directly from any source session — never substitute your own summary for the person's own words.
  4. Apply the Anti-Hallucination Guardrail (MANDATORY): every load-bearing claim — anything a downstream fixer would build on — carries an inline ( % ) certainty. A claim with no number reads as fact; if it isn't a verified fact, give it a number. Lean toward "my understanding is… ( 85% )" over flat assertion.
  5. Attach to the TOP of the item document. Prepend a datestamped block:
    ## UPDATE — <YYYY-MM-DD HH:MM>  (proposed via /propose)
    <human-legible section leading · certainty dots · "Where this came from" · then ## Technical Detail below>
    ---
    <existing original content, untouched>
    
    Touch ONLY the item file. No code. No deletions. Prepend only.

If the triage folder you're working in doesn't have its own filing convention (no agents.md or equivalent telling you where output goes), say so and default to /propose's own default filing behavior — the local proposals store — rather than guessing at a folder-specific convention that was never defined.

Output contract

Return: (1) confirmation the proposal is at the top of the file, (2) the full proposal text, (3) the single decision (if any) you need from the person, surfaced — never resolved by assumption.

What this role needs, regardless of which model runs it

The judgment this role needs is: distinguishing a real gap from the item's own possibly-wrong framing, and grounding every claim in the actual code before asserting it. Use whichever model tier your setup routes for careful, judgment-heavy writing work — there's no hard requirement on a specific model, only on doing the grounding and certainty-labelling steps above without skipping them.