manage-work
Skill8 starsChanged 8 months agoMITView on GitHub
Register work items, create feature branches, track and advance stages, close work items in the VibeFlow docs-first development workflow
- Commits and pushes
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Xenoneqq/claudified-workflowtheir own version, first seen Sep 24, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Xenoneqq/claudified-workflow★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- analyze-codebaseSkill
- clarify-demandSkill
- create-feature-specSkill
- define-prdSkill
- define-tech-specSkill
- prepare-releaseSkill
- record-decisionSkill
- run-tddSkill
- validate-checkpointSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
33 rules. About 0 are common, 19 are distinctive, and 14 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
14
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 79
Add entry to manifest with branch: feat/<slug>
- Very specific: line 80
Create and checkout git branch: git checkout -b feat/<slug>
- Very specific: line 148
Run git status to check for uncommitted changes on feat/<slug>
- Very specific: line 149
If there are changes: git add -A && git commit -m "chore(workflow): close <slug> (#ft-<ID>)"
- Distinctive: line 150
If working tree is clean: skip commit
- Very specific: line 153
Check for an existing PR: gh pr list --head feat/<slug> --state open --json url
- Distinctive: line 154
If no PR exists: push and create one:
- Distinctive: line 164
If PR already exists: use the existing PR URL
- Distinctive: line 168
Ask: "Please review the PR.
- Very specific: line 178
Delete the local branch if it still exists: git branch -d feat/<slug>
- Very specific: line 179
User declines →: leave the PR open, stay on feat/<slug>, inform the user the manifest is already DONE
- Distinctive: line 210
A — Initiate: Create/update PRD
- Distinctive: line 212
C — Specify: Create/update Tech Specs
- Distinctive: line 213
D — Decide: Create ADRs for decisions
- Distinctive: line 218
E — Plan: Create Feature Spec with API Design
- Distinctive: line 223
F — RED: Write failing unit tests + stubs
- Distinctive: line 231
I — Reconcile: Update specs if implementation deviated
- Distinctive: line 232
J — Prepare: Write OP-NOTE
- Distinctive: line 233
K — Deploy: Follow OP-NOTE, verify
- Distinctive: line 234
L — Close: Update indices, tag release
- Distinctive: line 279
When registering a new work item:
- Very specific: line 280
Create docs/workflow-state.yaml if it doesn't exist (use assets/workflow-state-template.yaml)
- Very specific: line 282
Add the work item entry with id, description, track, stage (first stage for the track), branch (feat/<slug>), started (today), checkpoint: …
- Distinctive: line 285
When advancing a work item:
- Distinctive: line 287
Check if current stage is a checkpoint boundary (D→E=CP#1, E→F=CP#2, F→G=CP#3, H→I=CP#4, J→K=CP#5, L→done=CP#6)
- Very specific: line 288
If checkpoint boundary: run uv run --no-project .claude/skills/validate-checkpoint/scripts/validate_checkpoint.py <N> --json --project-root …
- Distinctive: line 289
If exit code 1 (failed): STOP.
- Distinctive: line 290
If exit code 0 or 2 (passed/warnings): proceed
- Very specific: line 291
Update stage field to the next stage in the track
- Very specific: line 292
Update checkpoint if a checkpoint boundary was crossed
- Very specific: line 293
Update docs with any document paths produced at the completed stage
- Very specific: line 324
Use detect_track.py to cross-check the manifest against actual artifacts:
- Distinctive: line 343
After register or advance updates the manifest, ask the user for permission before committing:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
manage-work
Register work items, create feature branches, track and advance stages, close work items in the VibeFlow docs-first development workflow.
Purpose
This skill tracks multiple work items through the VibeFlow workflow by:
- Registering work items with their workflow track and creating
feat/<slug>branches - Tracking each work item's current stage independently
- Advancing work items through stages and routing to the appropriate skill
- Closing work items as DONE after Checkpoint #4 (release is optional)
- Providing a dashboard view of all in-flight work items
Workflow
Register Work Item
│
├── Assign ID, generate slug from description, and assign track
├── Create entry in docs/workflow-state.yaml (with branch field)
├── Create git branch: feat/<slug>
└── Determine starting stage from track
│
▼
Track Progress
│
├── Show status dashboard (all work items)
├── Show detailed status (single work item)
└── Cross-check manifest against artifacts
│
▼
Advance & Route
│
├── Mark work item as advancing to next stage
├── Recommend the appropriate skill command
└── Update manifest with new stage
│
▼
Close Work Item (after Checkpoint #4)
│
├── Validate CP#4, set stage: DONE in manifest
├── Commit all changes on feat/<slug>
├── Push branch, create PR (or find existing)
├── Present PR URL — ask user to review
│
├─► User accepts → Merge PR, delete branch, checkout main
└─► User declines → Leave PR open, stay on branchUsage
Register a New Work Item
/manage-work register "<description>" <ID> <track>Registers a work item in docs/workflow-state.yaml, determines the starting stage, and creates a git branch feat/<slug>.
Steps:
- Generate kebab-case slug from description
- Add entry to manifest with
branch: feat/<slug> - Create and checkout git branch:
git checkout -b feat/<slug>
Example:
/manage-work register "Add anti-hallucination guardrails" 030 medium
# Creates branch: feat/add-anti-hallucination-guardrails
/manage-work register "Export data to CSV" 031 small
# Creates branch: feat/export-data-to-csvStatus Dashboard
/manage-work statusShows all registered work items with their current stage, track, and last checkpoint.
Example output:
Work Item Track Stage Checkpoint Started
add-anti-hallucination-guardrails Medium G 3 2025-02-20
export-data-to-csv Small E 2 2025-02-22Detailed Work Item Status
/manage-work status <ID>Shows detailed status for one work item including:
- Current stage and description
- Completed and remaining stages for its track
- Last checkpoint passed
- Artifact verification (cross-check with
detect_track.py --workitem <ID>)
Advance a Work Item
/manage-work advance <ID>Marks a work item as advancing to the next stage in its track:
- Validates checkpoint if at a checkpoint boundary (blocks if failed)
- Updates
stageindocs/workflow-state.yaml - Updates
checkpointif a checkpoint boundary was crossed - Updates
docspaths with any documents produced at the completed stage - Shows what the next stage requires
- After Checkpoint #4 (Stage H): Offers two paths:
advance→ proceed to Stage I (release track)close→ mark as DONE (see Close command below)
Close a Work Item
/manage-work close <ID>Closes a work item with an interactive PR review and merge flow. Blocked if Checkpoint #4 validation fails.
Step 1 — Validate & mark DONE
- Validate Checkpoint #4 if not yet passed (runs
validate_checkpoint.py 4 --json --project-root <root>) - Requires work item to be at stage H or later with checkpoint >= 4
- Set
stage: DONEindocs/workflow-state.yaml
Step 2 — Commit all changes
- Run
git statusto check for uncommitted changes onfeat/<slug> - If there are changes:
git add -A && git commit -m "chore(workflow): close <slug> (#ft-<ID>)" - If working tree is clean: skip commit
Step 3 — Push & create PR
- Check for an existing PR:
gh pr list --head feat/<slug> --state open --json url - If no PR exists: push and create one:
git push -u origin feat/<slug> gh pr create --title "[ft-<ID>] <Description>" --body "## Summary Closes work item #ft-<ID>: <Description> Track: <track> Stages completed: <stages>" - If PR already exists: use the existing PR URL
Step 4 — Ask user to review
- Present the PR URL to the user
- Ask: "Please review the PR. Would you like to merge it now, or keep it open?"
- Wait for the user's response before proceeding
Step 5 — Merge or keep open
- User accepts → merge, clean up, and switch to main:
Delete the local branch if it still exists:gh pr merge --merge --delete-branch git checkout main git pullgit branch -d feat/<slug> - User declines → leave the PR open, stay on
feat/<slug>, inform the user the manifest is already DONE
Example:
/manage-work close 030
# Validates CP#4 → commits → creates PR → asks for review → merges on approvalNext Steps for a Work Item
/manage-work next <ID>Shows the recommended next action for a work item:
- What the current stage requires
- Which skill command to run
- Whether a checkpoint validation is needed first
Workflow Tracks
| Track | Scope | Stages | Release | Example |
| Micro | Bug fix, typo, small refactor | F → G → DONE | No | Fix typo, update config |
| Small | Single feature, no contracts | E → F → G → H → DONE | Optional (I-L) | Add form field, UI polish |
| Medium | Multi-component, no new services | B → C → D → E → F → G → H → DONE | Optional (I-L) | New API endpoint |
| Large | System change, new contracts/services | A → B → C → D → E → F → G → H → DONE | Optional (I-L) | New LLM integration |
Stage Overview
Planning Stages (A-D)
- A — Initiate: Create/update PRD
- B — Discovery: Analyze codebase (Medium/Large)
- C — Specify: Create/update Tech Specs
- D — Decide: Create ADRs for decisions
Checkpoint #1: Planning Complete
Design Stage (E)
- E — Plan: Create Feature Spec with API Design
Checkpoint #2: Design Complete
Implementation Stages (F-H)
- F — RED: Write failing unit tests + stubs
- G — GREEN: Implement to pass tests
- H — REFACTOR: Integration tests + quality validation
Checkpoint #3: Tests Complete (after F) Checkpoint #4: Implementation Complete (after H)
Release Stages (I-L)
- I — Reconcile: Update specs if implementation deviated
- J — Prepare: Write OP-NOTE
- K — Deploy: Follow OP-NOTE, verify
- L — Close: Update indices, tag release
Checkpoint #5: Release Ready (after J) Checkpoint #6: Deployed (after L)
Manifest Format
The manifest file docs/workflow-state.yaml is the single source of truth for work item lifecycle state:
workitems:
add-anti-hallucination-guardrails:
id: 030
description: "Add anti-hallucination guardrails"
track: medium # micro | small | medium | large
stage: G # current stage letter (A-L) or DONE
branch: feat/add-anti-hallucination-guardrails # git branch
started: 2025-02-20 # date work item was registered
checkpoint: 3 # last checkpoint passed (1-6)
docs:
prd: docs/prds/prd.md
discovery: docs/discovery/disco-030.md
specs:
- docs/specs/spec-llm.md
adrs:
- docs/adrs/adr-030-prompt-strategy.md
feature: docs/features/ft-030-anti-hallucination.md
opnote: null
export-data-to-csv:
id: 031
description: "Export data to CSV"
track: small
stage: E
branch: feat/export-data-to-csv # git branch
started: 2025-02-22
checkpoint: 2
docs:
prd: null
discovery: null
specs: []
adrs: []
feature: docs/features/ft-031-export-csv.md
opnote: nullWhen registering a new work item:
- Create
docs/workflow-state.yamlif it doesn't exist (useassets/workflow-state-template.yaml) - Generate a kebab-case slug from the description (e.g., "Add anti-hallucination guardrails" →
add-anti-hallucination-guardrails) - Add the work item entry with
id,description,track,stage(first stage for the track),branch(feat/<slug>),started(today),checkpoint: 0, and emptydocshierarchy - Create and checkout git branch:
git checkout -b feat/<slug>
When advancing a work item:
- Read
docs/workflow-state.yaml - Check if current stage is a checkpoint boundary (D→E=CP#1, E→F=CP#2, F→G=CP#3, H→I=CP#4, J→K=CP#5, L→done=CP#6)
- If checkpoint boundary: run
uv run --no-project .claude/skills/validate-checkpoint/scripts/validate_checkpoint.py <N> --json --project-root <root>- If exit code 1 (failed): STOP. Report errors. Do NOT update manifest.
- If exit code 0 or 2 (passed/warnings): proceed
- Update
stagefield to the next stage in the track - Update
checkpointif a checkpoint boundary was crossed - Update
docswith any document paths produced at the completed stage
Skill Routing
Each stage maps to a specific skill. After determining the current stage for a work item, recommend the appropriate command:
| Stage | Skill | Recommended Command |
| A | define-prd | /define-prd |
| B | analyze-codebase | /analyze-codebase <ID> |
| C | define-tech-spec | /define-tech-spec <name> |
| D | record-decision | /record-decision <ID> <slug> |
| E | create-feature-spec | /create-feature-spec <ID> <slug> |
| F | run-tdd | /run-tdd red |
| G | run-tdd | /run-tdd green |
| H | run-tdd | /run-tdd refactor |
| I | prepare-release | /prepare-release reconcile <ID> |
| J | prepare-release | /prepare-release opnote <slug> |
| K | prepare-release | /prepare-release check |
| L | prepare-release | /prepare-release check |
Checkpoint boundaries — recommend /validate-checkpoint <N> before advancing past:
- Stage D → E (Checkpoint #1)
- Stage E → F (Checkpoint #2)
- Stage F → G (Checkpoint #3)
- Stage H → I (Checkpoint #4)
- Stage J → K (Checkpoint #5)
- Stage L → done (Checkpoint #6)
Artifact Verification
Use detect_track.py to cross-check the manifest against actual artifacts:
# Verify a specific work item's artifacts match its manifest stage
python scripts/detect_track.py --workitem <ID> --verify
# Detect artifacts for a specific work item
python scripts/detect_track.py --workitem <ID>
# Detect artifacts for all registered work items
python scripts/detect_track.py --all-workitemsThis catches drift between the manifest and actual project state.
Git Commit
After Manifest Updates (register/advance)
After register or advance updates the manifest, ask the user for permission before committing:
git add docs/workflow-state.yaml
git commit -m "chore(workflow): update manifest for <slug> (#ft-<ID>)"After Close
The close flow handles its own commits inline (see "Close a Work Item" above). It commits all files via git add -A as part of Step 2, then pushes and creates a PR in Step 3.
Interactive PR Review and Merge
The close flow (Steps 3-5) manages the full PR lifecycle. Key commands and edge cases:
Commands used:
gh pr list --head feat/<slug> --state open --json url— check for existing PRgh pr create --title "..." --body "..."— create PR if none existsgh pr merge --merge --delete-branch— merge and delete remote branchgit checkout main && git pull— switch to main after mergegit branch -d feat/<slug>— clean up local branch
Edge cases:
- No uncommitted changes:
git statusis clean → skip commit in Step 2 - PR already exists: reuse the existing PR URL instead of creating a new one
- Merge conflicts: report the conflict to the user, leave PR open, stay on branch
- User declines merge: PR stays open, branch preserved, manifest already shows DONE
References
See references/workflow-summary.md for a condensed workflow overview.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

