Takes a loose idea and transforms it into a structured, actionable spec ready for implementation. Use when the user passes an idea, feature request, or problem description that needs scoping before building.
Installs into .claude/skills of the current project.
Are you the author of Spec?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/griffinwork40-spec)
---
name: spec
description: "Takes a loose idea and transforms it into a structured, actionable spec ready for implementation. Use when the user passes an idea, feature request, or problem description that needs scoping before building."
argument-hint: "<idea or feature request>"
context: fork
---
## Triage: bugs route to /diagnose
Before speccing, detect bug-shaped inputs: crashes, error stacks, regression reports ("worked yesterday", "used to work"), platform-specific failures ("broken on X", "doesn't work when…"), or user-report framing that implies root-cause-first (not design-first). If detected, stop and redirect: *"This is a debugging task, not a spec task. Route to /diagnose instead — it will isolate the root cause, then /spec can scope the fix."* Do not emit a spec.
---
Dispatch two sub-agents in parallel. One researches the web for prior art, comparable approaches, and patterns relevant to $ARGUMENT. The other inspects the local working directory for conventions, existing artifacts, and integration points relevant to the domain. When both return, synthesize a concise spec using the domain-appropriate schema below. Present to the user for confirmation before proceeding.
**Output schema by domain:**
| Domain | Spec fields |
|--------|-------------|
| `software` | problem, goals, non-goals, approach, key decisions, interface, file plan, test plan, open questions |
| `research` | problem, hypothesis, methodology, prior art positioning, expected results, publication plan, open questions |
| `design` | problem, user needs, constraints, solution space, prototype plan, success metrics, open questions |
| `business` | opportunity, risk analysis, competitive landscape, go/no-go criteria, resource plan, open questions |
| *(other)* | problem, goals, non-goals, approach, key decisions, deliverables, validation plan, open questions |
When domain is unspecified, infer from $ARGUMENT and the working directory. If ambiguous, use the generic *(other)* schema.
## Epistemic confidence
Include an **Epistemic confidence** section at the end of every spec: summarize coverage gaps from research, flag claims that will be hard to verify, and note where human judgment will be needed.