From codagent
Evaluates software ideas for viability and writes proposal documents. Use when assessing an idea, deciding if it's worth building, or formalizing a proposal.
How this skill is triggered — by the user, by Claude, or both
Slash command
/codagent:proposeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Evaluate whether an idea is worth formalizing, and if so, write the proposal document. This sits between optional freeform exploration and the formal design artifact.
Evaluate whether an idea is worth formalizing, and if so, write the proposal document. This sits between optional freeform exploration and the formal design artifact.
The proposal is a "why + high-level what + high-level how" document. Deeply understand and articulate the motivation — the problem, the opportunity, and why it matters now. Scope "what" at a high level — enough to bound the change and identify capabilities, but leave detailed behavioral requirements for specs. Sketch the high-level technical approach and architecture — enough to ground the change in reality and surface structural risks early — but leave detailed design for design.md.
proposal.md. Keep these phases distinct.First understand the idea. If the user's invocation didn't include enough context, follow the codagent:ask-questions skill to gather:
Focus on purpose, constraints, success criteria, audience, and scope boundaries. Do not proceed until you have a concrete understanding of the idea. If the prompt is rough, ask specific discovery questions before evaluating or drafting — do not jump straight to a proposal-shaped artifact.
Investigate before forming opinions. Do this proactively.
Spec research (when requirement specs exist):
Codebase research (when a relevant codebase exists):
Web research (when applicable):
When sharing findings, use diagrams to show architecture fits, data flows, or option comparisons rather than just prose.
This is the decision point. Before going further into "how", assess whether this is worth doing:
Be direct about the verdict:
VERDICT
════════════════════════════════════════════
GO Worth pursuing.
→ Explore the approach, then write the proposal
GO WITH Worth pursuing, but with
CAVEATS scope or approach adjustments.
→ Discuss adjustments first
NO-GO Not worth building.
→ State why directly.
A "no-go" requires explanation: what specifically makes this not worth pursuing, and whether anything could change that assessment. If the user disagrees, engage with their reasoning — but ultimately it's their decision.
Only reached on GO or GO WITH CAVEATS. Sketch the high-level technical approach — enough to ground the proposal in architectural reality and surface structural risks. This is NOT the design phase; you're establishing the approach, not detailing component internals.
Present options when multiple approaches exist. Give a recommendation with reasoning, but let the user decide. Keep comparisons concise: recommend the path, name the trade-off, and ask only if the answer changes scope or direction. Draw comparison tables and architecture sketches when they clarify the decision.
The findings from this phase feed directly into the proposal's Technical Approach section.
Once the idea has been evaluated and the approach has crystallized, determine where to write proposal.md, then write it using the Artifact Template below.
Determining the output location:
user-auth-improvements, rate-limit-api).~/.agent-skills/changes/<slug>/proposal.mdThe proposal should be anchored in the "why" — the problem, the motivation, and the impact. Draw heavily from the Understand and Evaluate phases. The "what changes" section should scope the work at a high level — enough to bound capabilities, not to detail requirements. The "technical approach" section should capture the high-level architecture and key decisions from the Explore phase.
Before writing, check that the proposal has a clear recommendation, no unresolved low-risk implementation choices, and only the assumptions needed to move into specs/design. When asking for approval, include a compact "Low-level decisions I made" list for defaults you chose from context.
codagent:ask-questions to confirm before writing the proposal. A "no-go" verdict means no proposal.Use this structure when writing proposal.md. Replace comments with actual content.
## Why
<!-- 1-2 sentences on the problem or opportunity. What problem does this solve? Why now? -->
## What Changes
<!-- High-level bullet list of what's changing. Enough to bound scope and identify capabilities,
not detailed requirements. Mark breaking changes with **BREAKING**. -->
## Capabilities
<!-- This section is critical. It creates the contract between the proposal and specs phases.
Research existing specs before filling this in. Each capability listed here will need a
corresponding spec file. -->
### New Capabilities
<!-- Capabilities being introduced. Replace <name> with kebab-case identifier
(e.g., user-auth, data-export, api-rate-limiting). Each creates specs/<name>/spec.md -->
- `<name>`: <brief description of what this capability covers>
### Modified Capabilities
<!-- Existing capabilities whose REQUIREMENTS are changing (not just implementation).
Only list here if spec-level behavior changes. Each needs a delta spec file.
Leave empty if no requirement changes. -->
- `<existing-name>`: <what requirement is changing>
## Technical Approach
<!-- High-level architecture and key technical decisions. NOT detailed design —
just enough to ground the proposal in reality.
- Overall shape of the solution: which layers/components are involved
- Key technical decisions and why (e.g., sync vs async, build vs buy)
- How this fits into the existing architecture
- Use ASCII diagrams for architecture sketches and data flows -->
## Out of Scope
<!-- What is explicitly out of scope for this change. Be specific — vague exclusions
don't prevent scope creep. -->
## Impact
<!-- Affected code, APIs, dependencies, systems -->
npx claudepluginhub codagent-ai/agent-skills --plugin codagentAdversarially reviews proposals by challenging the why, what, and how, and suggesting alternative approaches. Use for stress-testing or getting a second opinion before moving to specs/design.
Explores feature ideas and requirements via collaborative dialogue, then generates a right-sized requirements document for planning. Use for vague requests, brainstorming, or scoping ambiguous problems.
Collaboratively explores feature requirements and options through dialogue, producing a right-sized requirements document for implementation planning. Use for vague ideas, brainstorming, or scoping ambitious requests.