This repository is a staged demo of spec-driven development (SDD) using Spec Kit and GitHub Copilot. It shows how written product intent (constitution, spec, plan) can guide implementation so AI-assisted development stays aligned with requirements, quality, and testability.
It’s organized as a sequence you can present end-to-end, or jump ahead during a live session while still keeping completed, realistic artifacts for earlier phases.
init → constitution → spec → plan → tasks → implement
Each phase produces durable artifacts that constrain and guide the next phase.
This repo supports a staged demo workflow where you can:
- bootstrap a self-contained demo workspace,
- jump between phase checkpoints during a live session,
- open any phase checkpoint to browse what “done” looks like,
- clean up when you’re finished.
The recommended interface is GitHub Copilot (agent mode). The underlying scripts are considered an implementation detail.
In GitHub Copilot (agent mode), ask Copilot to bootstrap a demo workspace. Example prompt:
- “Bootstrap a new demo called
my-demo.”
This creates a demo directory containing:
- a
live/workspace (for experimentation and live phase jumps) - one or more
phase-*checkpoint folders (open these folders to jump to a phase without the skill)
In GitHub Copilot (agent mode), ask Copilot to jump to a phase. Example prompts:
- “Jump to the plan phase.”
- “Jump to phase 04 (tasks).”
If you just want to browse a checkpoint without switching anything, open a phase-* checkpoint folder directly in VS Code.
When you’re done, ask Copilot (agent mode) to clean up the demo workspace. Example prompts:
- “Clean up the
my-demoworkspace.” - “Clean up all demo workspaces.”
Goal: generate the Spec Kit files so you can begin the constitution phase.
Install:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
Upgrade:
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git
Run from PowerShell (pwsh):
specify init --here --script ps --ai copilot
Goal: create and ratify the project constitution in
.specify/memory/constitution.md.
This repo includes a reusable Copilot prompt for constitution generation. In GitHub Copilot (agent mode), run:
/healthplanchat-constitution
Then review and refine the output in .specify/memory/constitution.md.
Goal: create the first feature specification in
specs/<feature-branch>/spec.md.
Note: Spec Kit scripts write to specs/<feature-branch>/... based on your
current git branch name. If you are on main, switch to your feature branch
(e.g., 001-health-plan-chat) before generating spec/plan/tasks artifacts. If
you are not using git, set SPECIFY_FEATURE to the feature folder name.
This repo includes a reusable Copilot prompt for spec generation. In GitHub Copilot (agent mode), run:
/healthplanchat-specify
Goal: create the first implementation plan in specs/<feature-branch>/plan.md.
This repo includes a reusable Copilot prompt for plan generation. In GitHub Copilot (agent mode), run:
/healthplanchat-plan
Goal: turn the plan into actionable implementation tasks in
specs/<feature-branch>/tasks.md.
Note: If you are on main, switch to your feature branch (e.g.,
001-health-plan-chat) before running /speckit.tasks, or set SPECIFY_FEATURE
to the feature folder name. The default branch may already include a sample
generated tasks file.
Use Spec Kit’s built-in tasks agent (no additional repo-specific prompt is needed):
/speckit.tasks
Optional: if you want to create GitHub issues from tasks, run:
/speckit.taskstoissues
Goal: implement the feature by executing tasks in specs/<feature-branch>/tasks.md.
- Create a working branch for coding (recommended):
git switch -c impl/setup
- Implement the Setup tasks (Phase 1) from
specs/001-health-plan-chat/tasks.md:
- T001–T007
- Check in your Setup implementation.
- Ensure you are on your feature branch (e.g.,
001-health-plan-chat) so Spec Kit writes to the rightspecs/<feature-branch>/...folder, or setSPECIFY_FEATUREto the feature folder name. - Confirm you have a generated tasks file at
specs/<feature-branch>/tasks.md.
Optional quality gate (recommended before writing code):
/speckit.analyze
If it reports CRITICAL issues, resolve those before continuing.
Use Spec Kit’s built-in implement agent:
/speckit.implement
In your prompt, specify which task IDs to implement (for example: “Implement T002–T006”). For smoother progress, implement in small batches and keep the working tree green (build/tests passing) between batches.
Tip: tasks marked with [P] are intended to be parallelizable; for a solo demo, you can still implement them serially.