Quick Flow lightweight technical specification for small-scope work (1-15 stories). Replaces the full PRD + architecture pair when scope is small and requirements are clear. Produces bmad-output/tech-spec.md as the single planning artifact before story creation. Use when the user says: "write a tech spec", "create a technical specification", "I need a tech spec for this feature", "quick spec", "small project spec", "we don't need a full PRD", "just a tech spec", "spec out this change", "docu...
Scanned 9/7/2026
Install to Claude Code
npx -y skills add aj-geddes/claude-code-bmad-skills --skill bmad-tech-spec --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Bmad Tech Spec?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aj-geddes-bmad-tech-spec)More formats (shields.io, HTML) on the badges page.
---
name: bmad-tech-spec
description: |
Quick Flow lightweight technical specification for small-scope work (1-15 stories).
Replaces the full PRD + architecture pair when scope is small and requirements are clear.
Produces bmad-output/tech-spec.md as the single planning artifact before story creation.
Use when the user says: "write a tech spec", "create a technical specification",
"I need a tech spec for this feature", "quick spec", "small project spec", "we don't
need a full PRD", "just a tech spec", "spec out this change", "document this feature".
QUICK FLOW TRACK ONLY (1-15 stories). If scope grows beyond ~15 stories or involves
multiple teams / external integrations at scale, stop and redirect to bmad-prd +
bmad-architecture instead — those skills are built for that complexity.
Supports three intents: Create (new spec), Update (revise an existing tech-spec.md),
Validate (review a draft for completeness against BMAD criteria).
allowed-tools: Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, TodoWrite
---
# BMAD Tech Spec — Quick Flow
This skill produces a focused `tech-spec.md` for **Quick Flow** work: small, well-scoped
features or changes that sit in the 1-15 story range. It consolidates the product
rationale, technical approach, and story backlog into a single lightweight document,
skipping the separate PRD + architecture artifacts that larger tracks require.
> **Track guidance**
> - 1-15 stories, single team, clear requirements → **Quick Flow** (this skill)
> - 10-50+ stories, multiple concerns, or uncertain scope → use **bmad-prd** then **bmad-architecture**
> - 30+ stories, cross-org, security/compliance/DevOps dimensions → **Enterprise** track
---
## Workflow
### Step 1 — Identify intent
Ask the user (or infer from context) which of three intents applies:
| Intent | When |
|--------|------|
| **Create** | No tech-spec.md exists yet |
| **Update** | Revising scope, requirements, or approach in an existing spec |
| **Validate** | Checking a draft spec for BMAD completeness before moving to stories |
### Step 2 — Gather context
For **Create**, collect (interactively or from existing project files):
1. **Problem & solution** — what are we solving and how?
2. **Scope** — what is in scope? What is explicitly out of scope?
3. **Functional requirements** — numbered, MoSCoW-tagged (MUST / SHOULD / COULD)
4. **Non-functional requirements** — performance, security, accessibility targets that are relevant; omit boilerplate that does not apply
5. **Technical approach** — stack, key components, data model sketch, API surface (if any)
6. **Story list** — high-level backlog items; the scrum-master skill will compile them into full story files
7. **Dependencies & risks** — third-party libs, external services, known unknowns
8. **Decision log entries** — any choices made during this conversation that belong in `bmad-output/decision-log.md`
Load `bmad-output/project-context.md` if present — it is the project constitution and must
not be contradicted without a recorded decision.
For **Update**, read the existing `bmad-output/tech-spec.md` first, then apply targeted
edits and log what changed in the decision log.
For **Validate**, read the existing spec and report against the checklist in the
[Validation Checklist](#validation-checklist) section below.
### Step 3 — Draft or revise
Render the template at:
```
${CLAUDE_PLUGIN_ROOT}/skills/bmad-tech-spec/templates/tech-spec.template.md
```
Fill every section. Omit sections that genuinely do not apply (e.g., no API design for a
pure-CLI tool) and note the omission inline. Do not leave unreplaced `{{placeholders}}`.
Testing strategy in the spec is **planning only** — describe what should be tested and
why. Do not write test code. Do not set coverage numbers as mandatory targets; frame them
as guidance for the dev team.
### Step 4 — Write output
Write to `bmad-output/tech-spec.md` (respecting the `outputFolder` user config if set).
If decision-log entries were made, append them to `bmad-output/decision-log.md`
(create the file if it does not exist, using the format: `## [YYYY-MM-DD] <title>` /
`**Decision:** ...` / `**Rationale:** ...`).
### Step 5 — Confirm next steps
After writing, tell the user:
- The spec is the Quick Flow planning artifact. Story creation is the next step.
- Use **bmad-epics-and-stories** to compile stories from the story list in the spec.
- If scope has grown during this conversation beyond ~15 stories, recommend switching to
the BMad Method track (bmad-prd + bmad-architecture) before proceeding.
---
## Validation Checklist
When intent is **Validate**, report pass/fail for each item:
- [ ] Problem statement is clear and specific
- [ ] Solution is described without implementation code
- [ ] All functional requirements are numbered and MoSCoW-tagged
- [ ] Non-functional requirements include at least one performance or security entry if applicable
- [ ] Technical approach names the stack and describes key components
- [ ] Story list exists and each story title is one-line, action-oriented
- [ ] Story count is 1-15 (flag if over)
- [ ] No unreplaced `{{placeholders}}` remain
- [ ] Testing section describes strategy only (no executable test code)
- [ ] Dependencies table lists version or version constraint
- [ ] Risks table lists at least one risk with a mitigation
- [ ] Decision log entries have been written for any significant choices
- [ ] No content instructs a dev agent to run tests, lint, build, or deploy
---
## Subagent Strategy
This skill is primarily single-threaded (one conversation, one document). Parallelism is
optional and limited to information gathering:
- If the user wants **concurrent research** (e.g., compare two tech options), spawn two
WebSearch/WebFetch agents in parallel and synthesize results before writing the spec.
- Do not spawn parallel agents for writing — the spec is one coherent document and must
be written atomically to avoid merge conflicts.
---
> ---
> Part of the **BMAD Planning & Orchestrator** plugin — a Claude Code harness for the **BMAD Method** by the **BMAD Code Organization** (https://github.com/bmad-code-org/BMAD-METHOD). Implements the spirit of `bmad-tech-spec`. All methodology credit belongs to the BMAD Code Organization.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!