From codagent
Evaluates if a software idea is worth building and drafts a proposal document using a template if viable. Activates on assess, evaluate, propose, or 'is this worth building' requests.
npx claudepluginhub codagent-ai/agent-skills --plugin codagentThis skill uses the workspace's default tool permissions.
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.
Adversarially reviews software proposals: challenges why/what/how, surfaces blind spots, suggests alternatives. Use for 'review proposal', 'poke holes', or second opinions before specs.
Turns rough ideas into approved plans with validated structure before writing code. Covers new features, architecture decisions, and value judgments on building, keeping, or removing something. Not for bug fixes.
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.
Share bugs, ideas, or general feedback.
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. Draw comparison tables and architecture sketches.
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.
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 -->