Install
$ agentstack add skill-njoyimpeguy-augments-spec-it ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Spec It
Turn an intent into a requirements spec (SRS): gather and analyze what the software must do, how each requirement is verified, and the assumptions, dependencies, and risks involved. Requirements are the what — keep the how (architecture, schemas, code) for design.
When to use
- You have a goal, brief, or feature request and need its detailed requirements before designing or building.
- Skip for a trivial change whose single requirement is obvious — just state it and go.
- If the intent itself is unclear, grill it first with
interview-me; this skill assumes you roughly know what you want.
Procedure
- Gather the inputs. Pull the goal or brief (from planning), read the relevant existing code to see what's already there, and grill any genuine gap with
interview-me. Don't invent what you could have found. - State the problem in a line or two, and link the goal it serves.
- Write functional requirements as testable behaviours. Each is something a user or caller can observe — "rejects an expired token with a 401", not "good auth". If you can't phrase it as checkable, it's a wish, not a requirement.
- Add only the non-functional requirements that matter — performance, security, accessibility, compatibility. An unbounded NFR list is noise.
- Give each requirement an acceptance criterion — the concrete check that proves it. These become the plan's Evaluator and Acceptance, so make them runnable where you can.
- List the edge cases and scenarios that break a naive build — empty input, concurrency, the unhappy paths.
- Record the assumptions and dependencies — what you're taking as true, and what external systems, data, or people this relies on. An unstated assumption is a hidden risk.
- Surface the open questions and risks — the unresolved ambiguities and requirement-level challenges that could derail the build. Naming them now is the cheapest they'll ever be.
- State what is out of scope — the requirements you are deliberately not covering this round.
- Write the spec to
.augments/specs/{{YYYY-MM-DD}}-{{topic}}.md(the standard specs location; another path only if the user has set one).
Common mistakes
- Requirements with no criterion — "fast", "secure", "intuitive" prove nothing.
- Smuggling design in — file names, schemas, and code belong in the plan, not the spec.
- A thin happy-path spec with no edge cases, assumptions, or risks — that's exactly where builds break.
For a high-stakes spec, optionally dispatch spec-review.md (a fresh subagent that checks the requirements before anything is built against them).
Next: for a non-trivial system the requirements flow into design (system-architecture, data-model, ui-ux-design); otherwise straight to writing-plans.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: NjoyimPeguy
- Source: NjoyimPeguy/augments
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.