propose

propose is a skill for Claude Code from ribeirogab/specwright. It costs 73 tokens per session (1,316 once invoked), scanned A, original, MIT.

A planning skill that turns a settled discussion into a written change ticket with clear pass-or-fail acceptance criteria.

In plain words
What is it for?
Use it to resolve remaining questions, decide whether work is one change or a larger delivery, and create proposal.md.
Why use it?
It records what will be built and why without mixing those decisions with technical implementation details.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: mentions .claude-plugin; mentions Codex.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the sw plugin — 8 skills, 8 commands, 2 agents shipped together

Good fit Use it to resolve remaining questions, decide whether work is one change or a larger delivery, and create proposal.md.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add ribeirogab/specwright
Claude Code
/plugin install sw

Made for: Claude Code.

Or install sw, the plugin that ships this one along with the rest of its 8 skills, 8 commands, 2 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for propose

README.md
[![agentmods](https://agentmods.dev/badge/skills/ribeirogab/specwright/propose/github.svg)](https://agentmods.dev/skills/ribeirogab/specwright/propose)
Your own site
<a href="https://agentmods.dev/skills/ribeirogab/specwright/propose"><img src="https://agentmods.dev/badge/skills/ribeirogab/specwright/propose/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for propose

Your own site · 80×15
<a href="https://agentmods.dev/skills/ribeirogab/specwright/propose"><img src="https://agentmods.dev/badge/skills/ribeirogab/specwright/propose.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 73 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,316 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00073 $0.01316
Opus 5.5 $0.00029 $0.00526
Sonnet 5.5 $0.00015 $0.00263
Haiku 4.5 $0.00007 $0.00132

Measured 1mo ago against content hash 81d72441913c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

propose scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/sw/skills/propose/SKILL.md · 121 lines

How it starts

The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.

propose — intent into an approved ticket

Produce the ticket: what is being built, why, and the acceptance criteria that decide when it is done. The technical how is not written here — that is sw:plan's job, and mixing them makes both worse.

Announce at start: "Writing the change ticket."

Resolve bundled resources

Resolve SW_PLUGIN_ROOT before reading a template:

  1. use PLUGIN_ROOT when it contains .codex-plugin/plugin.json;
  2. otherwise use CLAUDE_PLUGIN_ROOT when it contains .claude-plugin/plugin.json;
  3. otherwise derive the root from this loaded skills/propose/SKILL.md real path (two parents above the skills/propose/ directory).

Require templates/proposal.md and templates/delivery.md beneath that root. Stop before writing if resolution fails. Never look for bundled resources inside the target repository.

Two ways in

After a conversation — the common case. The design discussion already happened in this session; you are here to capture it. Read the conversation back, build the ticket from what was actually settled, and ask only about what is still open. Do not re-litigate a decision the maintainer already made, and do not re-ask something the conversation answered.

From a cold start — $ARGUMENTS names a topic and there is no prior discussion. Then the exploration happens now: understand the intent, surface the alternatives, and talk it through.

Either way, the rule is the same: converse first, decide at the end. Explore in prose — questions, trade-offs, a recommendation with its reason. Do not open with a multiple-choice gate, and do not stack option menus mid-exploration; they force a decision before the maintainer has the picture. When the shape is clear, then confirm the choices that remain.

Find the loose ends

Before writing anything, list what a ticket needs and the conversation has not settled. A loose end is real when a different answer would change what gets built: an unnamed boundary, an unstated failure behavior, an unpinned data shape, a scope edge that could reasonably fall either way.

Read the full file on GitHub · 121 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 121 lines · 73 tokens per session scan A 81d72441913c

Subscribe to this mod's changes

propose is a skill published in the GitHub repository ribeirogab/specwright (3 stars, last pushed 2mo ago), licensed MIT. It adds 73 tokens to every session and 1,316 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

template-sia

SIA (Self-Improvement Agent) harness exemplar — Meta/Target/Feedback loops, public/private splits, fixture replay, fail-closed validation.

docxology/template · 35 tokens

review-depth

Decide how much review a change has earned, before reviewing it. Selects quick, standard, or deep from stated signals (reviewable changed lines, directory spread, trust-boundary risk flags, blast radius, documentation-only scope), reports the signal table and the rule that fired, then runs house-review at the selected…

hams-ollo/zen-agent-skills · 180 tokens

systematic-debugging

Use when a defect, test failure, flaky test, or unexpected behavior needs its cause established before anyone writes a task file or a fix. Reproduces the report first, localizes the failure to the boundary where behavior diverges, then tests one hypothesis at a time and returns a deterministic verdict, so a run that…

hams-ollo/zen-agent-skills · 209 tokens

doc-sync

Use when code has moved and the documentation may not have, or when a documentation set needs auditing for stale claims. Detects documentation drift by checking prose claims against repository facts, classifies every document as current-state (correctable), contract (report-only, human-owned) or ledger (skipped), and…

hams-ollo/zen-agent-skills · 193 tokens

init-worktracking

Scaffold a portable, agent-optimized spec-driven work-tracking system into the current repository: AGENTS.md (global rules + agent reading protocol), a .tasks/ directory of atomic task files, and (by tier) ROADMAP.md, CHANGELOG.md, a validate.py checker, and thin CLAUDE.md/Cursor/Copilot pointers. Choose a footprint…

hams-ollo/zen-agent-skills · 207 tokens

reconcile-worktrees

Safely consolidate one or more isolated git worktrees (for example left behind by parallel background agents, or from the fix-batch skill) into the main working tree, without committing or merging blindly. Use whenever asked to "reconcile the worktrees", "merge these agent branches", "bring the worktree changes back…

hams-ollo/zen-agent-skills · 161 tokens