src/skills/spec-flow/SKILL.md
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview.
npx skillsauth add alexei-led/claude-code-config spec-flowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Lightweight spec loop for controlled task-by-task work.
Loop: plan one slice → execute one task → checkpoint or close → repeat.
specctl owns state. Do not edit task status or .spec/SESSION.yaml by hand.
references/method.md for artifact shapes, planning rules, task quality, and mini-interview guidance.references/specctl-commands.md for CLI commands..spec/tasks/TASK-*.md — executable vertical slices. Required for work..spec/epics/EPIC-*.md — optional group for multi-task plans..spec/reqs/REQ-*.md — optional WHY/WHAT context for ambiguous work..spec/SESSION.yaml — active task, step, base commit..spec/PROGRESS.md — append-only activity log.Task states: todo, in-progress, done.
New project:
scripts/specctl init
Then plan the first executable slice. Do not build a full backlog unless the user asks.
Existing project:
Stop and resume:
scripts/specctl checkpoint --message "<where to resume>"
scripts/specctl session handoff
Iterate:
scripts/specctl ready
scripts/specctl start TASK-<id>
# implement + verify
scripts/specctl done TASK-<id> --summary "..." --tests "..."
Use when the user asks for status, next task, resume, health, or what to do next.
scripts/specctl status
scripts/specctl ready
scripts/specctl session handoff
scripts/specctl validate
Report active session, next ready task, validation issues, and the smallest next action.
Use when the user has an idea, requirement, bug, or project gap and wants an executable plan.
scripts/specctl init.TASK-*EPIC-* plus tasksREQ-* firstscripts/specctl new task <slug> when possible, then edit details.scripts/specctl validate and scripts/specctl ready.Do not write implementation code in plan files.
Use when the user wants to work, continue, or implement a task.
scripts/specctl status and scripts/specctl session show.scripts/specctl ready or verify the named task with scripts/specctl show TASK-<id>.scripts/specctl start TASK-<id>.scripts/specctl session handoff before close.scripts/specctl done ... or checkpoint with scripts/specctl checkpoint.Use when the user stops, switches context, or finishes.
Checkpoint:
scripts/specctl checkpoint --message "<where to resume>"
Close:
scripts/specctl done TASK-<id> \
--summary "<what changed>" \
--tests "<checks passed or not run: reason>" \
--files "<changed files or none>" \
--commits "<sha or none>"
specctl done needs --summary and --tests unless the user explicitly approves --force.
make.## Spec flow
Mode: orient | plan | execute | checkpoint | close
Task: <TASK-id or none>
Status: <ready | in-progress | checkpointed | done | blocked>
Evidence: <commands/tests/checks or skipped reason>
Next: <one command or action>
.spec/: run or offer scripts/specctl init.tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
tools
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.