harness/plugins/work-manager/common/skills/workflow/SKILL.md
WM pipeline and conventions shared across all phases. Agents must read this before spec, impl, or verify work.
npx skillsauth add popoffvg/dotfiles workflowInstall 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.
All WM agents follow this pipeline. Deviation requires user approval.
research → spec → spec-verify → implement → verify → done
| Phase | Agent | Skill | Deliverable |
|---|---|---|---|
| research | researcher | explore-research | .notes/research-*.md |
| spec | planner | code new | .notes/spec.md |
| spec-verify | planner | code verify | .notes/spec-verify.md |
| implement | implementer | impl | Commit + .notes/worklog.md |
| verify | verifier | impl-verify | .notes/verify-TODO-N.md |
Each phase is invoked by the user. There is no FSM — agents don't auto-advance.
.notes/spec.md. Others read it, never edit.<repo>/
.pi/work.settings.json # Work state: workId, name, status, branch
.notes/ # Git-tracked (separate git init)
spec.md # Plan: target picture, terms, decisions, TODO index
worklog.md # Append-only: each agent entry = date + TODO + commit sha + summary
research-*.md # Researcher output
spec-verify.md # Planner's spec audit verdict
verify-TODO-N.md # Verifier's post-implementation verdict
todos/
TODO-1.md # Implementer-grade instructions: Type, Outcome, Terms, Changes, Autotest, Manual test
TODO-2.md
...
.notes/ has its own git init — commits are independent from the repo.worklog.md is append-only. Each line starts with - YYYY-MM-DD HH:MM:.spec.md has a ## TODO List index; individual TODO bodies live in todos/.Tracked in .pi/work.settings.json:
workId — unique identifiername — human-readable namestatus — "active" or "done"branch — feature branch nameNo phase tracking in state — work is agent-driven, not FSM-driven.
.notes/spec.md outside the spec phase.feat/fix.worklog.md after completing its task.For phase-specific instructions, follow the skill mapped above:
/code <new|verify|revise|prototype|code-map|impl|fix|help> — code router (spec + impl + fix)/impl work — implement one TODO/impl squash — learn from fixups (called by merge-subtree)impl-verify — adversarial post-implementation verificationimpl-subtree — experimental worktree-per-TODO flowtools
Improve a whole CLAUDE.local.md — the private, per-project rules captured from user corrections. Wraps each conditional rule in a <task-relevant> block so it only surfaces for matching work, merges duplicates, generalizes one-off facts, drops stale entries, and routes raw project facts to engram. Use when the user says "improve claude.local", "clean up the local rules", "claude.local is bloated", or after the Stop hook has appended many rules.
development
One entry point for spec writing, implementation, and bug fixing. Default is new (write spec → grill loop → produce notes → author TODO bodies). Other subcommands: verify (audit), revise (sync to shipped), prototype (settle a decision), code-map (diagram), impl (execute one TODO), fix (analyze cause, correct thoughts, fix behavior), help (this page). Invoke as /code <subcommand>.
development
Red-Green-Refactor cycle for bug fixes. Before fixing a bug, first write a failing test that reproduces it (Red), then make the minimal change to pass (Green), then clean up the code (Refactor). Use on any bug fix, error correction, failing test repair, or when user says "fix this bug".
tools
One entry point for all testing work. Use when the user wants to design a test strategy (pairwise tiering across unit/integration/manual), enumerate scenarios + a coverage matrix before implementation, audit/score an existing test set for missed cases, apply black-box techniques (equivalence partitioning, boundary values, decision tables, state transition, state-combination), write BDD Given/When/Then scenarios, drive a feature/bug-fix spec-before-code (TDD), test a harness plugin in isolation, or run the verify phase where the user reviews an implementation. Invoke as `/test-suite <subcommand>`.