skills/using-woostack/SKILL.md
Use when starting work in a project that references woostack from its root AGENTS.md, or when deciding whether a woostack skill or command applies before answering, editing, scaffolding, reviewing, or addressing PR feedback.
npx skillsauth add howarewoo/woo-stack using-woostackInstall 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.
This skill teaches rule loading and command routing only. It does not initialize, scaffold, edit, review, or push anything by itself. </EXTREMELY-IMPORTANT>
Follow instructions in this order:
AGENTS.md.If AGENTS.md and a woostack skill disagree, prefer AGENTS.md and state the conflict
briefly when it matters to the work.
Before answering or acting in a woostack project, check whether a woostack rule or command applies. If it does, load the specific woostack skill before proceeding.
Do not summarize the intended workflow from memory when the skill is available. The current
SKILL.md is the source of truth.
At the start of work in a repository:
AGENTS.md if it exists.Do not run /woostack-init, create .woostack/, scaffold code, or add config unless the
user explicitly asks for that behavior or the loaded task-specific skill requires it as part
of an approved workflow.
Feature-state invariant: in a woostack project, every spec has exactly one plan
(spec : plan : PRs = 1 : 1 : N), and the spec's status:/branch: frontmatter is
load-bearing for the /woostack-status board. The phase enum and the join contracts are
defined once in
../woostack-status/references/conventions.md;
link it, never restate it.
| Request | Load |
|---|---|
| /woostack-init [path], initialize or repair the .woostack/ workspace | woostack-init |
| /woostack-bootstrap <goal>, scaffold a new web/mobile/API project | woostack-bootstrap |
| /woostack-build <goal>, build a feature through the woostack loop | woostack-build |
| /woostack-fix <target> [description], resolve a bug/issue through the unified fix loop | woostack-fix |
| /woostack-plan <spec-path>, write the implementation plan for an approved spec as PR-sized increments | woostack-plan |
| /woostack-execute <plan-path> [--inline\|--subagent], execute an approved plan as PR-sized stacked increments (inline or subagent-driven) | woostack-execute |
| /woostack-execute-overnight <plan-path> [--inline\|--subagent], execute an approved plan unattended overnight (autonomous, morning report) | woostack-execute-overnight |
| /woostack-commit, commit session-relevant changes and update PR fields | woostack-commit |
| /woostack-review [PR#], review a PR or local diff | woostack-review |
| /woostack-address-comments [PR#], address unresolved review threads | woostack-address-comments |
| /woostack-status [--all] [--fetch], show the derived feature board (what's in flight, what to do next) | woostack-status |
| /woostack-visualize <source> [for <audience>], render a source as audience-tailored HTML | woostack-visualize |
| /woostack-debug <target>, run an autonomous root-cause analysis before fixing (investigative only — hands back the root cause and a proposed fix) | woostack-debug |
| /woostack-tdd <target>, add appropriate tests to a code block, PR, spec, or plan (gate-light; TDD doctrine home) | woostack-tdd |
| /woostack-dream [instructions], curate the memory store and recommend doc updates (gated) | woostack-dream |
If the user asks for the behavior without using the exact command name, route by intent.
For example, "use woostack to review this PR" means load woostack-review.
These thoughts mean stop and load the relevant rules:
| Thought | Reality |
|---|---|
| "I can just make the edit." | In a woostack project, the root AGENTS.md may define the required loop. |
| "The command name is just shorthand." | Woostack commands are skills with gates and constraints. |
| "I remember the workflow." | The installed skill may have changed. Load it. |
| "I'll initialize .woostack/ to be helpful." | This skill is adoption-only; mutate project state only when requested or required by the task skill. |
| "This is only a review comment." | Review and address flows have posting, validation, and memory rules. |
| "I'll write another plan for this spec." | Specs and plans are 1:1. A second plan breaks the board's join — amend the one existing plan instead. See conventions.md. |
| "I'll just set status:/branch: by hand." | The build loop authors those fields and the /woostack-status board reads them; hand-editing or blanking them causes drift flags. |
| "I'll rename or move this spec or plan." | Renames break the spec↔plan↔PR joins (the **Source:** line, branch:, the Spec: PR trailer). Avoid it, or update every join at once. |
When a project wants woostack behavior, its root AGENTS.md should reference this skill and
state the local rules the agent must obey. Keep project-specific policy in AGENTS.md; keep
the reusable workflow in the woostack skills.
Minimal pattern:
# AGENTS.md
This project follows woostack. At the start of work, use `using-woostack` to load the
project rules and route `/woostack-*` requests to the matching woostack skill.
Follow this file first when it conflicts with generic agent defaults.
If a mapped woostack skill is not installed, say exactly which skill is missing and ask the user whether to install the woostack collection. Do not silently approximate a gated workflow unless the user asks you to proceed without the skill.
testing
Use to curate the .woostack/ knowledge store. Reflects over the static memory store + docs (no session mining), then proposes a gated changeset that merges duplicate notes, replaces stale/contradicted ones, drops dead/orphaned notes, resolves conflicts, surfaces consolidated insights, and recommends evidence-guarded documentation edits. Nothing mutates before explicit approval; ends on a summary + iterate loop. Local-only memory (no commit); doc edits land in the working tree. Never commits or merges. Invoke via /woostack-dream [instructions].
development
woostack's canonical test-driven-development home and on-demand test-adder. The single source for the TDD kernel — Red→Green→Refactor, test-first, cover happy/error/edge/success+failure, framework-aware, no-runner→concrete verification — that woostack-plan, woostack-execute, woostack-debug, and bootstrap patterns.md §7 should link to instead of restating. Also the 14th public command: /woostack-tdd <target> adds appropriate tests to an existing code block, PR, spec, or plan — one verb, target-routed (code→colocated *.test files, PR→tests for the gh pr diff surface, spec→strengthen §7 acceptance criteria, plan→fill failing-test steps) — with a characterization carve-out for existing code (new code is red-first; existing code pins current behavior). Writes tests to the working tree and hands to woostack-commit; never commits, merges, or authors status:/branch:; owns no approval gate.
development
Use to resolve small technical issues (bugs, hotfixes, refactors) through a unified execution loop — diagnose root cause with woostack-debug, author a fix plan under .woostack/fixes/, harden, get explicit user approval, then delegate execution to woostack-execute (TDD per task, task review, commit via woostack-commit, distill).
development
Use to execute an approved woostack plan UNATTENDED overnight — one autonomous run with no user input after launch that drives every increment to a reviewed stack, swapping woostack-execute's stop-and-ask gates for resolve-or-log-and-continue (woostack-debug on stuck verifications; bounded auto-address on a blocking review; halt-the-track on anything unsafe or ambiguous), honoring optional `## Track:` grouping in the plan (independent, fault-isolated tracks run sequentially), and writing a morning report under .woostack/overnight/ for a human to test in the morning. It is the third choice at woostack-build's execution-handoff gate (Go / Hand off / Run overnight); also usable standalone via /woostack-execute-overnight <plan-path> [--inline|--subagent]. One plan per spec, multiple PRs per plan. Never merges; never relaxes safety for autonomy.