Skip to content
Back to skills

Blueprint

ASecurity

Use when a written feature spec needs its technical plan: \"plan this spec\", \"how should we build this spec?\", \"make the technical plan for this feature\", a spec in specs/ with no plan.md yet, or a plan that a spec or constitution change has made stale. Not for a feature with no spec (that's `specify`, or `build` for a small one), not for one design question outside any feature (that's the `architect` agent).

  • 23 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 8, 2026
ai-agentsgotestingperformance

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 8, 2026

npx -y skills add mehrad-dm/mastermind --skill blueprint --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Blueprint?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Blueprint
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mehrad-dm-blueprint/badge)](https://www.skillsdirectory.com/skills/mehrad-dm-blueprint)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: blueprint
description: "Use when a written feature spec needs its technical plan: \"plan this spec\", \"how should we build this spec?\", \"make the technical plan for this feature\", a spec in specs/ with no plan.md yet, or a plan that a spec or constitution change has made stale. Not for a feature with no spec (that's `specify`, or `build` for a small one), not for one design question outside any feature (that's the `architect` agent)."
---

# MasterMind: Blueprint

The plan turns the spec's **what** into a **how** that can be checked against the constitution before a
line is written. Layout and IDs: `~/.mastermind/engineering/core/spec-driven.md`. Input: **$ARGUMENTS**.

## Before planning

1. **Find the feature folder** and read `spec.md` in full, plus `specs/constitution.md`, `specs/tech.md`,
   and the active field's `stack-defaults.md` when a field pack exists.
2. **Refuse to plan over open questions.** If `[NEEDS CLARIFICATION]` markers remain, run `interview`
   first. When the user insists on skipping, proceed and record the open markers as risks in `plan.md`.
3. **Run the constitution gate.** For each principle, write `pass`, `n/a` or `violates` in the plan's
   gate table. A violation stops the plan until the user accepts it in the complexity table.

## Plan

Write `plan.md` from `specs/.templates/plan.md` if present, else [`template.md`](template.md). Then:

1. **Technical context.** Language, dependencies, storage, testing, platform, performance and scale
   targets. Each value comes from `tech.md`, the code, or a decision you make in step 2.
2. **Research the unknowns.** One entry in `research.md` per real decision: *chosen*, *why*, *rejected and
   why*. Read the primary source for anything version-sensitive (`learn`). Library choices with real
   adoption risk go to the `tech-scout` agent.
3. **Design.** Dispatch the `architect` agent with the spec, the constitution and `tech.md`. Its output
   becomes the plan's design section. Keep the boundaries, data model, contracts and the reason for each.
   Where no isolated agent exists, follow `architect`'s method yourself and say so in the plan.
4. **Write what the design implies**, each only when it has content:
   - `data-model.md`: entities with fields, validation rules taken from the spec, relationships, state changes.
   - `contracts/`: every interface another system or user depends on, in the form the project already
     uses, or a plain table when it has none.
   - `quickstart.md`: the runnable steps that prove the feature works end to end, with expected output.
     A short script is allowed when steps alone cannot drive it.
5. **Name the real paths.** The structure section lists the actual directories and files to create or
   change in this repository. Never a generic layout.
6. **Name what the spec implies but never says.** A reasonable user expects some inputs handled that no
   requirement and no edge case names. List up to five of them, such as an empty name, a double submit or a
   timezone at midnight. Add each to the plan's risks and give it a task in `breakdown`. A spec's
   silence is not permission to crash.
7. **Re-run the gate** against the finished design. Set the spec's status to `planned`.

## Gotchas

- **The plan is not the code.** No function bodies, no full migrations, no test suites. Signatures and
  shapes only; the code is `build`'s job. A plan longer than the spec it serves is a sign it wrote code.
- **Failure is not cancellation.** In a state model, a failed attempt, a retry and a cancelled one are
  different states, and every retry names the state it re-enters.
- **Every decision traces to a requirement.** A dependency, service or layer nobody asked for goes in
  the complexity table with the simpler option it beat, or it goes.
- **Match the repository.** A plan that introduces a second ORM, router or state library has to justify
  it against the one already there.
- **A requirement the plan cannot meet is a finding, not a footnote.** Report it to the user before
  `breakdown` runs.

## Report

The files written, the decisions with one-line reasons, the gate result before and after design, any
accepted violation, and the next step: `breakdown`, or `checklist` first for a sensitive feature.

Then run `mastermind next` and end with the step it names, so the user sees where the feature stands.

Files in this skill

  • ABOUT.md2.5 KB
  • SKILL.md4.3 KB
  • template.md1.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.