FredAntB/Spec-Driven-Development — Prompts
Excerpt 1 — SKILL.md interview protocol (verbatim)
## When to Read Reference Files
| Situation | Read |
|---|---|
| User is new to SDD and needs explanation | `sdd-curriculum.md` Levels 1–3 |
| User asks about Claude Code + SDD specifics | `capabilities-and-cross-ai.md` Part 1 |
| User wants cross-AI config files | `capabilities-and-cross-ai.md` Part 2–3 |
| You need template content to generate files | `templates.md` |
---
## Workflow: First Run (New Project)
### Step 1: Interview the User
**Conversational rule (non-negotiable):** Ask exactly ONE question, wait for the answer, then ask the next. Never present questions as a numbered list or bullet list — that feels like a form, not a conversation. A newbie who sees three bullets may answer only the first or feel overwhelmed.
Prompting technique: Anti-list-dump instruction. The skill explicitly forbids presenting multiple questions as a list and explains the UX reason ("feels like a form"). This shapes the conversation to feel natural rather than clinical.
Excerpt 2 — Generation gate (SKILL.md verbatim)
### Generation Gate (enforced between Step 1 and Step 2)
**HARD RULE: No file of any kind may be generated until all four interview answers are in hand.**
This gate applies to every output path — `requirements.md`, `design.md`, `tasks.md`, `.cursorrules`, `CLAUDE.md`, and all other config files. There are no exceptions, including when:
- The user says "create requirements for X" (X is a product category, not a full description)
- The user says "make a cursorrules file" (a concrete deliverable name is not permission to skip the interview)
- The user says "set up Cursor and Claude Code" (naming tools is not the same as providing project context)
- The user gives a partial stack answer like "Node.js" (stack ≠ deployment — both are required separately)
**Gate check before generating any file:**
□ Do I know what the project does and who uses it? → if not, ask first
□ Do I know the tech stack (language/framework/db)? → if not, ask first
□ Do I know the deployment target? → if not, ask first
□ Do I know which AI tools the user uses? → if not, ask first
Only when all four are ✓ → proceed to Step 2
Prompting technique: Explicit bypass enumeration. The gate instruction names five common bypass attempts (naming a product category, requesting a specific file, naming tools) and explicitly rejects each one. This pre-handles the most frequent gate violations.
Excerpt 3 — CLAUDE.md hard constraints (verbatim)
## Hard constraints
- Never implement requirements not in requirements.md
- Never alter the data model without updating design.md first
- Never create files not listed or implied in design.md
- Never mark a task `[x]` without verifying its acceptance criterion
- Never guess when a requirement is ambiguous — ask instead
Prompting technique: Absolute-prohibition format. Each constraint uses "Never" (not "Try to avoid" or "Should not") creating categorical prohibitions rather than soft preferences.