workflow-next-plan
workflow-next-plan
Work management hub built on the functional spec (SPEC file). Shows coverage, creates work-items, manages Git branches, and links completed work back to the SPEC. This is a Layer 2 skill.
See references/conventions.md for detailed rules on SPEC table
structure, work-item format, versioning, and Git branch strategy.
Prerequisites
| # | Check | On failure |
|---|---|---|
| 1 | .wiki symlink exists |
"Run /wiki-init first" |
| 2 | SPEC file exists in .wiki/ |
"Run /workflow-idea first" |
| 3 | CWD is a Git repository | "Please run from a Git repository" |
Workflow
0. Status check
Recover context when entering a new session.
-
SPEC coverage summary — Read SPEC file, show counts by status:
Feature Coverage: {total} done: {count} ({pct}%) partial: {count} ({pct}%) pending: {count} ({pct}%) deferred: {count} ({pct}%) -
Find in-progress work-items — Scan
.wiki/projects/{project}/work-items/for files within-progressstatus. Show their contents. -
Collect Git metadata — Run only these 4 commands:
git branch— current branch and work branchesgit log --oneline -10— recent commitsgit status --short— uncommitted changesgit tag --sort=-version:refname | head -5— recent tags
-
Suggest next action — If in-progress work exists, ask whether to continue or start new work.
Prohibited actions
Do NOT perform these for status recovery:
- Reading source code files or recursive directory traversal
- Running
git diffto dump full changes - Using glob/grep to explore project structure
1. Plan work
Decide what to work on next and create a work-item.
- Analyze SPEC — List
pendingitems grouped by domain - Recommend priorities — Suggest top 3 via AskUserQuestion:
- Dependencies (does this unblock other features?)
- Domain balance (avoid concentrating on one area)
- Quick wins (small scope, fast to complete)
- Create work-item when user selects:
- Determine version (see
references/conventions.md) - Write work-item file (detailed instructions + references)
- Record related SPEC IDs (which IDs this work-item maps to)
- Determine version (see
- User review — Confirm via AskUserQuestion
- If user has additions, add
### Additional instructionssection - When satisfied, proceed to next step (start work)
- If user has additions, add
2. Start work
Create a Git branch and begin implementation.
- Detect base branch:
developexists → usedevelop- No
develop→ usemain
- Create work branch:
git checkout -b {type}/{english-name} {base} - Update work-item status to
in-progress - Implement — Follow the instructions in the work-item
3. Complete work
Review, merge, and tag.
- Verify work branch — If on
mainordevelop, warn and stop - Find in-progress work-item — Locate file with
in-progressstatus - Commit changes — Check
git status, write commit message, commit - Request approval — Show work summary via AskUserQuestion, confirm merge
- Merge to base branch —
git checkout {base} && git merge --no-ff {branch} - Create annotated tag —
git tag -a v{x.y.z} -m "{type}: {description}" - Update work-item status to
done
4. Link to SPEC
Reflect completed work in the functional spec.
- Update related SPEC IDs:
- Status column:
pending→done(orpartial) - Work Items column: add work-item file link
- If one work-item maps to multiple IDs, update all of them
- Status column:
- Update the
Updateddate in the SPEC header - Report results:
- Merged branch and created tag
- Updated SPEC ID list
- Updated coverage summary
Special commands
| User input | Action |
|---|---|
| "defer" / "skip this" | Status → deferred, record reason |
| "partial" / "half done" | Status → partial, record remaining work |
| "add a feature" | Add new row to SPEC (auto-increment ID) |
| "add a domain" | Add new domain section to SPEC |
Reference
references/conventions.md— SPEC structure, work-item format, versioning, Git strategy