run-work
Skill4 starsChanged 33 days agoMITView on GitHub
Execute a work unit end-to-end: sequence tasks by dependency, implement, test between tasks, commit, and track progress. Use to deliver a complete feature in one session. Invoked as /agiflow:run-work <work-unit>. Uses get_work_unit, list_tasks, update_task, get_work_unit_progress.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- lhpaul/ai-dev-framework-templatetheir own version, first seen Oct 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- lhpaul/ai-dev-framework-template★ 9same 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 repository9 other files it gives its agents.
- backlog-groomingSkill
- daily-standupSkill
- getting-startedSkill
- orchestrateSkill
- project-planSkill
- refine-taskSkill
- review-workSkill
- run-taskSkill
- triageSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
47 rules. About 0 are common, 23 are distinctive, and 24 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈23
Distinctive · estimate
This author's own choices. Worth a look.
24
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 31
Keep changes tightly scoped to the requested outcome within the work unit scope.
- Very specific: line 34
If a work unit slug/id is provided, load it with get_work_unit.
- Very specific: line 40
Follow the shared AgiFlow project-management guidelines in references/agiflow-agents.md — agent assignment, the task status workflow and …
- Very specific: line 48
If any task hits Blocked, consider setting the work unit to blocked too.
- Very specific: line 60
Use list_work_units MCP tool to show available work units:
- Distinctive: line 62
Do NOT pick up work units where all tasks are still in "Planning" status
- Distinctive: line 64
Ask user to select which work unit to work on.
- Distinctive: line 80
Check all tasks in the work unit
- Distinctive: line 81
If ANY task has status "Planning": REFUSE to execute
- Distinctive: line 88
If work unit status is "planning":
- Very specific: line 90
If verified, use update_work_unit MCP tool to set status to "in_progress"
- Very specific: line 91
If any tasks are in "Planning", REFUSE and suggest backlog-grooming
- Distinctive: line 92
Create a TODO list of all tasks in execution order (use TodoWrite tool).
- Very specific: line 93
Document execution plan in work unit via update_work_unit devInfo:
- Very specific: line 106
Use update_task MCP tool to set status to "In Progress"
- Very specific: line 107
BEFORE editing any code: Use architect MCP get_file_design_pattern (MANDATORY)
- Very specific: line 109
AFTER editing code: Use architect MCP review_code_change (MANDATORY)
- Very specific: line 110
Update task devInfo with implementation notes:
- Very specific: line 121
Use update_task to move status to "Testing"
- Distinctive: line 122
Run unit tests, integration tests, type check and lint for affected code
- Very specific: line 126
If retryCount >= maxRetries (default: 2): move task to "Blocked", set work unit to "blocked", stop
- Very specific: line 127
If retryCount < maxRetries: move task back to "Todo", document failure, continue to next task or stop session
- Very specific: line 128
Use update_task to set status to "Review" when tests pass
- Distinctive: line 130
Update your TODO list (mark task as completed)
- Distinctive: line 133
Commit changes with meaningful commit messages
- Distinctive: line 134
Run tests to ensure no regressions
- Distinctive: line 135
Update work unit progress in devInfo
- Very specific: line 140
Use get_work_unit to check current state and task statuses
- Very specific: line 145
Update work unit devInfo as you progress via update_work_unit:
- Distinctive: line 168
When ALL tasks in work unit are in "Review" or "Done":
- Distinctive: line 169
Verify all tasks have status "Review" or "Done"
- Distinctive: line 170
Verify all acceptance criteria across all tasks are met
- Distinctive: line 171
Run full test suite for the feature
- Very specific: line 183
Use update_work_unit to set status to "completed" and save draft PR text and commit message:
- Very specific: line 203
Note on draftCommitMessage: Write a conventional commit message that will be used for the final git commit.
- Distinctive: line 205
Create final summary comment documenting:
- Very specific: line 207
All files created/modified (use file.ts:42 format)
- Distinctive: line 208
Test coverage and results
- Distinctive: line 214
If blocked on a task:
- Very specific: line 215
Use update_task to set task status to "Blocked"
- Very specific: line 216
Use update_work_unit to set status to "blocked"
- Distinctive: line 217
Document blocker in work unit devInfo
- Very specific: line 218
Use create_task_comment on blocked task with details explaining what human intervention is needed
- Distinctive: line 219
Consider creating follow-up tasks for blockers
- Distinctive: line 221
If scope changes during execution:
- Very specific: line 222
Use create_task to add new tasks to work unit
- Distinctive: line 223
Update work unit description/goals if needed
≈ “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
Invoked as
/agiflow:run-work. In hosts without slash-prompts, this skill is triggered by matching intent and drives AgiFlow via its MCP tools.
Usage:
/agiflow:run-work <work-unit-slug-or-id>- Execute specific work unit/agiflow:run-work- List and select from available work units
Examples:
/agiflow:run-work DXX-WU-1(using slug)/agiflow:run-work 01K8FABMNEJG1XTA9JGHSNFV40(using ID)/agiflow:run-work(interactive selection)
Guardrails
- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
- Keep changes tightly scoped to the requested outcome within the work unit scope.
- A work unit represents a cohesive feature/epic that can be completed in one Claude Code session.
If a work unit slug/id is provided, load it with get_work_unit; otherwise list available work units with list_work_units for selection.
AgiFlow Project Management Guidelines
Follow the shared AgiFlow project-management guidelines in references/agiflow-agents.md — agent assignment, the task status workflow and transitions, work-unit best practices, and the tags strategy apply to this workflow.
Task Status Workflow (per task)
Each task moves individually through: Todo → In Progress → Testing → Review
The work unit stays in_progress until all tasks reach Review or Done.
If any task hits Blocked, consider setting the work unit to blocked too.
IMPORTANT: Planning Status Guard
This skill ONLY executes tasks in "Todo" or later status. Tasks in "Planning" have NOT been groomed and are NOT ready for execution. Use backlog-grooming to promote Planning tasks to Todo first.
Steps Track these steps as TODOs and complete them one by one.
1. Work Unit Selection & Loading
If work unit slug/id NOT provided:
- Use
list_work_unitsMCP tool to show available work units:- Filter by
status: "in_progress"for active work, or work units with tasks in "Todo" - Do NOT pick up work units where all tasks are still in "Planning" status
- Display: slug, title, type, priority, task count, status
- Filter by
- Ask user to select which work unit to work on.
- Once user selects, proceed with the selected work unit slug/id.
If work unit slug/id IS provided: 4. Use get_work_unit MCP tool with the provided slug/id to retrieve:
- Work unit: title, description, goals, type, priority, status, dates, devInfo
- Tasks: All tasks associated with this work unit (already included in response)
- Note:
get_work_unitreturns tasks automatically - no separatelist_taskscall needed
- Review the work unit and all its tasks to understand:
- Complete feature scope and deliverables
- Task dependencies and execution order
- Acceptance criteria across all tasks
5b. PLANNING STATUS GUARD (MANDATORY):
- Check all tasks in the work unit
- If ANY task has status "Planning": REFUSE to execute
- Report: "Cannot execute: N task(s) are still in Planning status. Use backlog-grooming to promote them to Todo first."
- List the Planning tasks by title
- STOP execution — do not proceed
2. Start Work Unit Execution
- If work unit status is "planning":
- First verify ALL tasks are in "Todo" or later status (not "Planning")
- If verified, use
update_work_unitMCP tool to set status to "in_progress" - If any tasks are in "Planning", REFUSE and suggest
backlog-grooming
- Create a TODO list of all tasks in execution order (use TodoWrite tool).
- Document execution plan in work unit via
update_work_unitdevInfo:devInfo: { executionPlan: "Backend API → Frontend UI → Tests → Documentation", sessionId: "<current-session-id>", startedAt: "<timestamp>" }
3. Execute Tasks Sequentially
For each task in the work unit (in dependency order from the tasks array):
- Review task details: title, description, acceptance criteria, assignee
- Use
update_taskMCP tool to set status to "In Progress" - BEFORE editing any code: Use
architectMCPget_file_design_pattern(MANDATORY) - Implement the task following acceptance criteria
- AFTER editing code: Use
architectMCPreview_code_change(MANDATORY) - Update task
devInfowith implementation notes:devInfo: { filesChanged: ["path/to/file.ts:42"], testResults: { passed: true, coverage: "85%" }, notes: "Implementation notes here" } - Mark acceptance criteria as checked via
update_task
Testing phase for each task:
- Use
update_taskto move status to "Testing" - Run unit tests, integration tests, type check and lint for affected code
- If tests PASS: proceed to move task to "Review"
- If tests FAIL:
- Increment
retryCountin devInfo - If
retryCount >= maxRetries(default: 2): move task to "Blocked", set work unit to "blocked", stop - If
retryCount < maxRetries: move task back to "Todo", document failure, continue to next task or stop session
- Increment
- Use
update_taskto set status to "Review" when tests pass - Update your TODO list (mark task as completed)
- Between tasks:
- Commit changes with meaningful commit messages
- Run tests to ensure no regressions
- Update work unit progress in devInfo
4. Work Unit Progress Tracking
- The work unit tasks array automatically updates as tasks are completed.
- Use
get_work_unitto check current state and task statuses - Track: How many tasks in Review or Done vs. total?
- Monitor: Are we on track for target date?
- Work unit stays
in_progressuntil all tasks reachRevieworDone
- Use
- Update work unit
devInfoas you progress viaupdate_work_unit:devInfo: { executionPlan: "...", sessionId: "<session-id>", startedAt: "<timestamp>", progress: { completedTasks: 3, totalTasks: 8, lastTaskCompleted: "Implement cart API", currentTask: "Add cart UI component" }, testResults: { unitTests: "passing", integrationTests: "passing", coverage: "85%" }, blockers: [] // or list any blockers encountered }
5. Work Unit Completion
- When ALL tasks in work unit are in "Review" or "Done":
- Verify all tasks have status "Review" or "Done"
- Verify all acceptance criteria across all tasks are met
- Run full test suite for the feature
- Review all files changed (use git diff)
- Draft a PR description for the work unit (DO NOT create the PR yet - just draft the text):
- Title format:
[WORK-UNIT-SLUG] Work unit title(e.g.,[DXX-WU-1] Shopping cart feature) - Body should include:
- Work unit reference and summary
- List of tasks completed
- Summary of all changes across tasks
- Files modified (use
file.ts:42format) - Test results
- Title format:
Use
update_work_unitto set status to "completed" and save draft PR text and commit message:{ status: "completed", completedAt: new Date(), devInfo: { ...existing, draftCommitMessage: "feat(cart): implement shopping cart feature\n\n- Add cart API endpoints\n- Add cart UI components\n- Add integration tests\n\nCloses: DXX-WU-1", draftPr: { title: "[DXX-WU-1] Shopping cart feature", body: "## Summary\n\nImplemented shopping cart feature.\n\n## Tasks Completed\n\n- [DXX-1] Add cart API\n- [DXX-2] Add cart UI\n- [DXX-3] Add cart tests\n\n## Changes\n\n- Added cart endpoints\n- Added cart components\n- Added integration tests\n\n## Files Modified\n\n- src/api/cart.ts:42\n- src/components/Cart.tsx:15\n- tests/cart.test.ts:1\n\n## Test Results\n\nAll tests passing. Coverage: 85%" }, finalNotes: "All tasks completed. Files changed: [...]. Tests passing.", completedBy: "<member-id>", totalDuration: "3.5 hours" } }Note on draftCommitMessage: Write a conventional commit message that will be used for the final git commit. Format:
type(scope): descriptionwith optional body listing changes.- Create final summary comment documenting:
- Work unit scope and goals achieved
- All files created/modified (use
file.ts:42format) - Test coverage and results
- Any follow-up work needed
- Performance or architectural notes
6. Handle Blockers or Scope Changes
- If blocked on a task:
- Use
update_taskto set task status to "Blocked" - Use
update_work_unitto set status to "blocked" - Document blocker in work unit devInfo
- Use
create_task_commenton blocked task with details explaining what human intervention is needed - Consider creating follow-up tasks for blockers
- Use
- If scope changes during execution:
- Use
create_taskto add new tasks to work unit - Update work unit description/goals if needed
- Communicate scope change in work unit comments
- Use
Common Mistakes to Avoid
- ❌ Starting without reviewing all tasks in work unit (lack of context)
- ❌ Working on tasks in wrong order (missing dependencies)
- ❌ Skipping vibe-lint MCP validation (MANDATORY for every file)
- ❌ Not tracking work unit-level progress in devInfo
- ❌ Completing tasks in isolation without considering work unit goals
- ❌ Not running integration tests between tasks
- ❌ Moving task to "Review" without first going through "Testing"
- ❌ Marking work unit complete when tasks are still in "In Progress" or "Testing"
- ❌ Not documenting scope changes or blockers
- ❌ Forgetting to commit between tasks (losing incremental progress)
- ❌ Not updating work unit status when blocked
- ❌ Setting work unit to "completed" before all tasks reach "Review" or "Done"
- ❌ Executing tasks that are still in "Planning" status (must be promoted to "Todo" via
backlog-groomingfirst)
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.

