
spec-shaping
Shape product ideas into actionable specs and sprint plans. Use when interviewing about a product plan, breaking specs into sprints, or turning vague ideas into well-scoped work.
- Installs
- 54
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/nweii/agent-stuff --skill spec-shaping- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads spec-shaping automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Spec Shaping
Transform product ideas into well-scoped specs and actionable sprint plans. This skill supports two complementary modes:
- Interview mode: Probe the problem space until a clear, narrow spec emerges
- Sprint breakdown mode: Decompose a spec into atomic tasks and demoable sprints
When to Use
- User has a rough product plan or idea that needs scoping
- User needs help thinking through implementation details, UI/UX, or tradeoffs
- User has a spec ready to break into sprints and tasks
- User wants to validate whether a problem is well-framed before building
Document Management
Treat specs and sprint plans as living documents. Use the following standards to ensure consistency and "freshness".
1. File Operations (Search, Location, Updates)
- Search First: Before creating a new file, search for existing specs for this project.
- Update vs. New:
- Update: If the "Identity" of the project is the same (same core problem, just refining/pivoting implementation), update the existing spec.
- Action: Rename file to today's date + update Metadata.
- New: If the problem definition has fundamentally changed, or the solution direction is a complete "burn it down" restart, create a new spec.
- Update: If the "Identity" of the project is the same (same core problem, just refining/pivoting implementation), update the existing spec.
- Output Location (Adaptive):
- Scan for:
specs/,planning/,docs/specs/,product/. - If found: Use that directory.
- Default: Create and use
specs/. - Vaults: If external, check
agents.md/claude.mdfor overrides.
- Scan for:
2. File Standards (Naming, Metadata, Content)
- Naming:
[Semantic name] - [YYYY-MM-DD].md- Specs:
Checkout flow spec - 2024-03-25.md - Sprints:
Checkout flow sprints - 2024-03-25.md
- Specs:
- Frontmatter:
--- status: [Planned | In Progress | Completed] last: [YYYY-MM-DD] --- - Context Header (Required):
> [!NOTE] > **Context**: [Why was this updated? e.g. "Pivot to V2"] > _This document reflects the product thinking at the time of the last update._ - Changelog: Keep a
## Changelogat the bottom. Initialize if missing. Only log significant changes (e.g. scope pivots). Ignore trivial edits.
Interview Mode
Read the plan file and interview the user in detail about technical implementation, UI & UX, concerns, tradeoffs, etc. Make sure questions are not obvious.
Interview Principles
- Narrow before expanding: Push to narrow the problem until it can be described in one clear sentence. Vague scope ("build a calendar") leads to endless shaping. Precise scope ("show empty time slots between existing events") enables real solutions.
- Surface complexity early: Ask "what could make this harder than it sounds?" and "where are the hidden dependencies?" The goal is to reveal time bombs before they're in the middle of a build, not after.
- Distinguish understanding from justification: Watch for the anti-pattern where someone has already decided what to build and is looking for data to justify it. Ask why this problem matters before discussing solutions.
- Probe the adjacent user: If this is user-facing, ask who the next user is — the one just outside the current target. What would need to be different for them?
Interview Process
Be very in-depth. Continue interviewing until you're confident the problem is well-framed and the key risks are surfaced. Then write the spec to the file.
A good spec should be shapeable— someone should be able to read it and describe the solution in ≤9 major components. If they can't, the problem isn't narrow enough yet.
Sprint Breakdown Mode
Read the spec file and break the project down into sprints and tasks.
Core Principles
- Atomic tasks: Every task should be an atomic, committable piece of work that can be completed, reviewed, and merged independently.
- Compositional clarity: Small atomic tasks should compose up into a clear goal for the sprint. If the relationship between tasks and the sprint goal isn't obvious, add a brief "Sprint Goal" statement.
- Demoable sprints: Every sprint should result in a demoable piece of software that can be run, tested, and built on top of previous sprints.
- Clear validation: Each task must include explicit validation criteria — tests where applicable, or another concrete verification method (e.g., "Validation: API returns 200 with expected payload", "Validation: Component renders correctly in Storybook").
- Dependencies first: Order tasks so dependencies are completed before the work that relies on them.
- Fixed time, variable scope: Sprints are time-boxed appetites, not scope commitments. If something doesn't fit, shape it smaller — don't extend the timeline.
- Budget for understanding: Reserve ~10-20% of sprint capacity for de-risking future work — spikes, research, or validation that will speed up the next sprint.
Output Structure
Structure your output so it remains malleable as the project evolves:
- Stable identifiers: Give tasks IDs (T1, T2, etc.) so they can be referenced and reshuffled between sprints without losing context.
- Traceability: Link tasks back to spec sections so changes to the spec can be traced to affected tasks.
- Visible dependencies: Make it clear which tasks depend on others.
Adapt the specific format to what makes sense for this project — a simple list may suffice for small projects, while complex projects might benefit from a task registry table with sprint groupings. Use your judgment.
Sprint Breakdown Process
-
Read the spec thoroughly. Identify natural section boundaries for traceability.
-
Create the task registry first — focus on atomicity and dependencies.
-
Group tasks into sprints, ensuring each sprint is demoable.
-
Self-review with these lenses:
- Are any tasks too large to complete in a single focused session?
- Are there missing or circular dependencies?
- Is each validation criteria concrete and verifiable?
- Could a developer pick up any task and know exactly what "done" looks like?
- Does each sprint have a clear demo scenario?
- Shaping smell test: Can you describe the entire sprint in ≤9 major scopes? If not, the spec may need more narrowing before breaking it into tasks.
-
Revise based on your review.
-
Write the final sprint plan to a markdown file alongside the spec (e.g.,
Checkout sprints - 2024-03-25.md).
Optional: Subagent Review
For large or complex specs with many interdependencies, consider using a subagent to review the sprint plan with fresh context. This provides a "second set of eyes" unpolluted by the main conversation. The subagent should:
- Review the sprint plan for gaps, circular dependencies, or tasks that are too large
- Suggest improvements to task scoping or sprint groupings
- Flag any validation criteria that are vague or unverifiable
Use your judgment — this is most valuable for hairy, high-stakes specs where a deeper audit is worth the overhead.
Explicitly Out of Scope
- Time estimates: Do not estimate duration. The human will layer in timeline context.
- Resource allocation: Do not assign tasks to people or roles unless explicitly requested and given enough context to do so.
FAQ
What does the spec-shaping skill do?
Shape product ideas into actionable specs and sprint plans. Use when interviewing about a product plan, breaking specs into sprints, or turning vague ideas into well-scoped work.
How do I install spec-shaping?
Run npx skills add https://github.com/nweii/agent-stuff --skill spec-shaping in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/spec-shaping/ (personal) or .claude/skills/spec-shaping/ (project).
Which AI agents can use spec-shaping?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is spec-shaping safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains spec-shaping?
It is published by nweii in nweii/agent-stuff. It has 54 recorded installs.
More from nweii/agent-stuff
suggest-lucide-icons
nweii/agent-stuff
Pick Lucide icons for a concept, UI placement, or vault note. Searches the full Lucide catalog for real, verified icon names. Use when the user says 'what icon for X', 'suggest a Lucide icon', 'pick an icon', or needs an icon for note frontmatter, a button, or a section header.
obsidian-templater
nweii/agent-stuff
Open the skill to read its SKILL.md instructions.
validating-startup-ideas
nweii/agent-stuff
Find and validate startup ideas by mining user complaints, crafting premises, and navigating the idea maze. Use when discovering product opportunities, validating ideas, shaping solutions, researching user pain points, or exploring what to build.
culinary-assistant
nweii/agent-stuff
Culinary guidance for cooking, recipes, and meal planning. Use for kitchen techniques, substitutions, and format conversion (Mela, Schema.org). Handles recipe parsing and improvements.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.