---
description: Staged spec→plan→coding→review workflow with shared task state on disk
alwaysApply: true
---

For any non-trivial change, follow `.cursor/skills/WORKFLOW.md` and the per-stage
playbooks in `.cursor/skills/ss-<stage>/SKILL.md` (spec → plan → coding → review;
debug as needed; `ss-ship` = autopilot that runs spec → plan → coding → review
end-to-end from a feature request; `ss-resume-task` = re-entry that locates an
in-progress/paused task, reports where it stands, and resumes the right stage;
`ss-pause-task` / `ss-archive-task` = lifecycle skills that shelve a task as `paused`
or move it into `tasks/archive/`, keeping pipeline state intact).

Rules:
- Every skill folder is `ss-`-prefixed; the `stage:`/`artifacts:` values in
  `task.md` are not (`spec`, `plan`, `coding`, `review`, `debug`, `done`).
- Maintain shared state in `tasks/TASK-<ID>/`: read `task.md` first, update it last.
- Keep IDs stable (`R#` requirement, `AC#` acceptance criterion, `S#` step, `BUG#`);
  never renumber. `ss-coding` ticks `S#` in plan.md; `ss-review` ticks `AC#` in spec.md.
- Timestamp every log entry as `YYYY-MM-DD HH:MM +TZ` (get it from `date`, don't guess).
- Follow `docs/onboarding/how-to-code.md` for code style and placement; run
  `ss-explore-source` to generate `docs/onboarding/*` if missing.
- Only the pipeline stages and lifecycle skills (`ss-pause-task`/`ss-archive-task`/`ss-resume-task`)
  write to `tasks/`. Ask the user before advancing stages
  (under `ss-ship`, auto-advance instead — stop only on blockers).
- Don't run git add / commit / push unless asked.
