skills/forge-shape/SKILL.md
Shape a vague idea into a clear plan through codebase investigation and convergent one-at-a-time questioning. Use when the user has a rough idea or problem that needs specifying before issue creation.
npx skillsauth add mgratzer/forge forge-shapeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Shape a problem and converge on a plan before creating issues.
The idea or problem to shape: $ARGUMENTS
Optional last parameter: -- <additional context>
If no argument is provided, ask the user what they'd like to shape.
Before asking any questions, explore the codebase for related context:
Check for related Issues in the project's Issue tracker — see issue-operations for search mechanics per provider.
Converge on a shared design concept through one-at-a-time structured questioning. See shaping-methodology.md for why one-at-a-time beats batching, how to provide recommended answers without over-anchoring, walking the dependency tree of decisions, when to challenge, and when to stop.
If CONTEXT.md exists, read it — use its vocabulary when framing questions and challenging the user's language.
Loop until the design concept is clear:
Side effects during shaping — as terms and decisions crystallize:
_Avoid_ aliases if the user was using multiple words for the same concept.docs/adr/. Most decisions don't qualify. Create the directory lazily.Stop when the user has accepted recommended answers for several consecutive questions, the remaining questions are taste-level (not decision-level), or the shared design concept is clear enough to summarize.
Use AskUserQuestion for each individual question. Do not bundle multiple questions into one prompt — that defeats the methodology.
If shaping in Step 2 surfaced a clear approach, skip this step and go to Step 4.
If multiple plausible approaches remain after shaping (e.g., the design concept allows for several architectural shapes), delegate approach generation to 2-3 parallel sub-agents, each given a radically different design constraint. The value is in contrast — approaches must be structurally different, not variations on the same idea. If the runtime does not support sub-agents, generate the approaches sequentially yourself, deliberately adopting a different constraint lens for each.
Assign each sub-agent one constraint lens (adapt to the problem):
Sub-agent instructions:
You are designing one approach to a problem, constrained by a specific design lens. Follow your assigned constraint strictly — do not hedge toward a balanced middle ground.
Given the codebase findings and shaped design concept provided as input, propose one approach:
- One-line summary
- How it works, referencing specific files and patterns
- Tradeoffs (what you gain, what you give up)
- Relative complexity (Low / Medium / High)
- Risk factors
Inputs provided to each sub-agent:
Expected output: One approach per sub-agent, formatted as above.
Always include a minimal option. Present the contrasting approaches and let the user choose, combine, or reject all of them.
Produce a structured summary using the output format below. This summary is the input for forge-create-issue.
The summary is evidence of alignment, not the alignment itself. If the user reads the summary and finds nothing surprising, the shaping worked.
## Problem Statement
[1-2 sentences grounded in what was discussed]
## Chosen Approach
[Summary of the shaped design concept]
## Scope Boundaries
- In scope: [what this covers]
- Out of scope: [what this explicitly does not cover]
## Suggested Issue Breakdown
- [ ] Issue 1: <type>(<scope>): <description>
- [ ] Issue 2: <type>(<scope>): <description>
## Side Effects
- CONTEXT.md: <terms added or updated>
- ADRs: <decisions recorded, if any>
Next step: Use forge-create-issue to turn the plan into Issues.
/forge-shape the app is slow on mobile
/forge-shape we need better error handling
/forge-shape the authentication flow -- we've had security concerns, focus there
tools
End-to-end implementation and self-review in a single invocation. Implements from an Issue, plan file, or free-text description, then runs a lean fresh-context review. Use when the user wants to implement and review without manual handoff between skills.
development
Set up or update a project's context infrastructure for agentic engineering — AGENTS.md as lean hot memory, docs/ as earned warm memory, with signal-to-noise scoring for existing guidance. Use when starting a new project, retrofitting an existing codebase, or auditing current guidance quality.
tools
Review current changes with a lean review flow. Works on a PR, branch diff, or uncommitted changes. Tiny low-risk diffs stay inline; larger or riskier changes use fresh-context review. Use when the user wants to self-review before committing, pushing, or requesting peer review.
databases
⚠️ Renamed to forge-reflect. This stub exists for migration — remove it and install forge-reflect instead.