Skip to content

Quick Reference Cheatsheet

The Spec-Driven Workflow

Constitution → /speckit.specify → resolve [NEEDS CLARIFICATION] markers
→ /speckit.plan → /speckit.tasks → Task-by-task: Agent Mode → Code Reviewer → mark done
→ Push to GitHub Issues (MCP) → Generate from Issue

spec-kit Slash Commands

Use these in Copilot Chat in VS Code, not in the terminal.

CommandPurpose
/speckit.specify <feature description>Create a numbered feature branch and specs/<feature-branch>/spec.md
/speckit.plan <implementation direction>Generate plan.md plus supporting design docs from the feature spec
/speckit.tasksGenerate tasks.md from plan.md and related design documents

File Locations

FilePathPurpose
Workspace instructions.github/copilot-instructions.mdGlobal project context for all Copilot interactions
File-specific instructions.github/instructions/*.instructions.mdContext scoped by applyTo glob pattern
Agent.github/agents/<name>.agent.mdSpecialized Copilot persona
Prompt.github/prompts/<name>.prompt.mdReusable prompt workflow (invoke from Copilot Chat by name)
MCP config.vscode/mcp.jsonMCP server configuration
Constitutionmemory/constitution.mdProject-wide decisions and values
Feature specspecs/<feature-branch>/spec.mdFeature goal, AC, DoD, clarifications
Planspecs/<feature-branch>/plan.mdOrdered implementation phases
Tasksspecs/<feature-branch>/tasks.mdAtomic implementation units

Prompt files are covered in L5.3. Unlike agents (which define a persistent persona), prompt files define a one-shot reusable workflow — for example, "run the Code Reviewer against the latest implementation". Create them at .github/prompts/<name>.prompt.md and invoke from Copilot Chat.

Feature Spec Template

markdown
# Feature Specification: [Feature Name]

## Goal
[One sentence: what will the user be able to do when this is done]

## Acceptance criteria
- [ ] [Verifiable behavior from the outside]
- [ ] [Another verifiable behavior]

## Out of scope
- [Explicit non-goal 1]
- [Explicit non-goal 2]

## Definition of done
- All acceptance criteria pass
- Unit tests cover [specific functions]
- No TypeScript errors

Task Template

markdown
# Task: [Task Name]

## Scope
[One paragraph: what this task implements and nothing more]

## Definition of done
- [ ] [Verifiable criterion 1]
- [ ] [Verifiable criterion 2]

Code Reviewer Agent Prompt Pattern

Review the code just generated for [task name].
Check: Stack compliance, Error handling, Quality.
For each issue: File/Location, Category, Issue, Fix.
If no issues: state what you checked.

MCP Setup (.vscode/mcp.json)

json
{
  "servers": {
    "github": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${env:GITHUB_TOKEN}"
      }
    }
  }
}

Set environment variable:

bash
# PowerShell
$env:GITHUB_TOKEN = "ghp_your_token"
# bash
export GITHUB_TOKEN="ghp_your_token"

Failure Category → Practice Map (M1)

Failure categoryPractice that fixes itModule
Requirements gapInstructionsM2 L2.1
Technical mismatchAgentsM2 L2.2
Quality/risk issueSpecsM3

Plan Mode vs. Agent Mode Quick Guide

Use Plan Mode when...Use Agent Mode when...
Requirement is fuzzyRequirement is locked
You need to surface assumptionsYou need code, not discussion
First encounter with a featureImplementing from a spec task

Module Navigation

ModuleFirst lessonDuration
M1L1.1 The Vibing Trap~15 min
M2L2.1 Instructions~25 min
M3L3.1 Cost of No Specs~45 min
M4L4.1 What Is MCP~20 min
M5L5.1 Full Simulation~35 min

Spec-Driven Development Workshop — structured AI development with GitHub Copilot