propose · git:20260922.f331667 · 2026-09-22 · sha256 c9cd124c33695ec8
propose git:20260922.f331667A
Immutable. This exact content never changes and is served at /api/v1/blob/c9cd124c33695ec8.
--- name: propose description: Design a concrete technical proposal with evidence and tradeoffs when a decision needs design. No implementation or automatic reviewer. argument-hint: "<question> [--short|--full] [--auto] [--scope path] [--no-review] [--out dir] [--html]" --- # Propose Gather only the context needed to answer the design question. Prefer the smallest sufficient format: short for a bounded reversible choice, standard for one system, full for a genuine cross-system design. No format interview when the request already determines the appropriate size. Use references/proposal-template.md for stable section numbers and artifact shape. Write problem, real alternatives (including status quo when relevant), tradeoffs, design, risks, recommendation and runnable implementation tasks. Do not manufacture alternatives, diagrams, metrics or verification layers to fill a template. Ask only about a blocking decision not recoverable from code or the request. Research only unresolved external questions. Review the draft yourself. An independent review is optional and requires explicit user consent, never merely omission of --no-review. Retain supported findings only. Leave status Draft or Review until the user explicitly accepts the proposal; writing it is not implementation approval. Keep the existing docs/proposals/<id>-<slug>/PROPOSAL.md layout and links to a source brief. Do not supersede that brief until the design is accepted. On acceptance, record the Git `base` and `branch` in the frontmatter (steps/step-09-finalize.md) so ship branches without asking again. Render via scripts/render.py only on --html or request. Do not launch ship, open a browser, create an index, or start another agent just to finish. ## Arsenal handoff When called by Arsenal, return the proposal, status and unresolved decisions to Arsenal. Do not launch ship yourself. Explicit user acceptance remains required before Arsenal can consume the proposal for implementation, even when the original request was to build the feature. ## Verify external facts Before stating an external fact (a version, an API, a price, a date, a regulation, the behaviour of a tool or library, a person or company), search first when the runtime offers web search: read the `websearch` skill and run one quick search, then cite the source. One search per fact; `--deep` only on request. Without web search, mark the claim unverified. Facts visible in the repository or the request need no search. ## Execution policy Work solo. Ask before any subagent or reviewer, even in auto mode. Explain the independent scope and expected benefit first. No hidden advisor, nested delegation, model retuning, repeated successful checks, or progress spam. Use existing context before asking questions. Stop when the requested result is delivered. User stops and scope changes override pending steps.