arsenal
Use when the user invokes Arsenal, needs help choosing an approach, or wants an end-to-end task handled with the installed…
Design a concrete technical proposal with evidence and tradeoffs when a decision needs design. No implementation or automatic reviewer.
Claude Code
$ npx -y skills add mirkobozzetto/arsenal --skill propose --agent claude-code
Codex
$ npx skills add mirkobozzetto/arsenal --skill propose -a codex -y
Cursor
$ npx skills add mirkobozzetto/arsenal --skill propose -a cursor -y
Gemini CLI
$ npx skills add mirkobozzetto/arsenal --skill propose -a gemini-cli -y
GitHub Copilot
$ npx skills add mirkobozzetto/arsenal --skill propose -a github-copilot -y
OpenCode
$ npx skills add mirkobozzetto/arsenal --skill propose -a opencode -y
Windsurf
$ npx skills add mirkobozzetto/arsenal --skill propose -a windsurf -y
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]"
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. Research only unresolved external questions.
Without --auto, interview the user before drafting: problem, scope, goals/non-goals, alternatives direction, design choices. One question per message, in plain text, then wait for the answer. Draw questions from references/interview-questions.md; skip one only when the request already answers it. Never infer an answer the user can give. Under --auto, infer from code and the request and ask only about a blocking decision.
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.
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.
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.
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. Stop when the requested result is delivered. User stops and scope changes override pending steps.
Portable workflow skills and controlled runtime for Pi, OMP, Codex, and Claude Code
Use when the user invokes Arsenal, needs help choosing an approach, or wants an end-to-end task handled with the installed…
Write a product brief and its task list when the user requests a product specification. Never implement it.
Create, update or resume a GitHub or Linear issue as durable resolution memory when requested.
Session nap in Claude Code - save where the session stands with trace, clear it, and resume it with next, with no question and no…
Start a session from what was left - trace saves, briefs, proposals, review reports, issues - and ask what to continue. Never…
Deep code review driven by a short interview. Read-only reader agents analyze the chosen scope per angle, the lead verifies every…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.