agentleFS
AgiFlowAgiFlow/ai-plugin/skills/run-task/SKILL.md

run-task

Skill4 starsChanged 33 days agoMITView on GitHub

Execute a single Todo task through In Progress to Review, meeting every acceptance criterion with tests and vibe-lint checks. Refuses Planning-status tasks. Invoked as /agiflow:run-task <task>. Uses get_task, update_task, create_task_comment.

3 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions3 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 3

    1. zahardev/aicontext★ 2same name
    2. jcarlosrodicio/norma★ 1same name
    3. krzysztof-wojtowicz/coffer-demo★ 0same 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.

The file

Show its rules and text

We split this skill into the rules it gives an agent

44 rules. 0 are common, 20 are distinctive, and 24 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 20

    Distinctive

    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
  1. Distinctive:

    Keep changes tightly scoped to the requested outcome within the task scope.

    line 31
  2. Very specific:

    If a task slug/id is provided, load it with get_task.

    line 34
  3. Very specific:

    Follow the shared AgiFlow project-management guidelines in references/agiflow-agents.md — agent assignment, the task status workflow and …

    line 40
  4. Very specific:

    Use list_tasks MCP tool to show available tasks:

    line 60
  5. Distinctive:

    Do NOT pick up tasks in "Planning" status — they have not been groomed yet

    line 62
  6. Distinctive:

    Ask user to select which task to work on.

    line 64
  7. Distinctive:

    If task status is "Planning": REFUSE to execute

    line 79
  8. Very specific:

    If task status is "Todo", use update_task MCP tool to set status to "In Progress".

    line 85
  9. Distinctive:

    Create a TODO list of acceptance criteria in execution order (use TodoWrite tool).

    line 86
  10. Very specific:

    Document execution start in task via update_task devInfo:

    line 87
  11. Very specific:

    BEFORE editing any code: Use vibe-lint MCP get-file-design-pattern (MANDATORY)

    line 99
  12. Very specific:

    AFTER editing code: Use vibe-lint MCP review-code-change (MANDATORY)

    line 101
  13. Very specific:

    Update task devInfo with implementation notes:

    line 102
  14. Distinctive:

    Update your TODO list (mark criterion as completed)

    line 112
  15. Distinctive:

    Commit changes with meaningful commit messages

    line 115
  16. Distinctive:

    Run tests to ensure no regressions

    line 116
  17. Distinctive:

    Update task devInfo with progress

    line 117
  18. Distinctive:

    When ALL acceptance criteria are met:

    line 121
  19. Distinctive:

    Verify all criteria have status checked

    line 122
  20. Very specific:

    Use update_task to move status to "Testing"

    line 123
  21. Distinctive:

    Run the full test suite for affected code:

    line 124
  22. Distinctive:

    Update devInfo with passing test results

    line 130
  23. Very specific:

    If retryCount >= maxRetries (default maxRetries = 2):

    line 142
  24. Very specific:

    Use update_task to move status to "Blocked"

    line 143
  25. Very specific:

    Use create_task_comment to document the repeated failure and what human intervention is needed

    line 144
  26. Distinctive:

    Stop — do not retry

    line 145
  27. Very specific:

    Use update_task to move status back to "Todo"

    line 147
  28. Very specific:

    Use create_task_comment to document the failure reason

    line 148
  29. Distinctive:

    Stop — agent will re-pick from Todo queue on next cycle

    line 149
  30. Distinctive:

    After tests pass, review all files changed (use git diff).

    line 153
  31. Very specific:

    Use update_task to set status to "Review" and save draft PR text and commit message:

    line 163
  32. Very specific:

    Note on draftCommitMessage: Write a conventional commit message that will be used for the final git commit.

    line 182
  33. Very specific:

    Use create_task_comment to add final summary:

    line 184
  34. Very specific:

    All files created/modified (use file.ts:42 format)

    line 186
  35. Distinctive:

    Test coverage and results

    line 187
  36. Distinctive:

    If blocked at any point:

    line 192
  37. Very specific:

    Use update_task to set status to "Blocked"

    line 193
  38. Very specific:

    Use update_task to update devInfo with blocker details:

    line 194
  39. Very specific:

    Use create_task_comment on task with blocker information explaining what human intervention is needed

    line 202
  40. Very specific:

    Use get_task to review task details before starting

    line 206
  41. Very specific:

    Use list_task_comments to see previous progress updates

    line 207
  42. Very specific:

    Use update_task to track devInfo and acceptance criteria progress

    line 208
  43. Distinctive:

    vibe-lint MCP: ALWAYS use before/after editing files for pattern compliance

    line 212
  44. Distinctive:

    Scaffolding MCP: Document scaffolded code in task comments

    line 213

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Invoked as /agiflow:run-task. In hosts without slash-prompts, this skill is triggered by matching intent and drives AgiFlow via its MCP tools.

Usage:

  • /agiflow:run-task <task-slug-or-id> - Execute specific task
  • /agiflow:run-task - List and select from available tasks

Examples:

  • /agiflow:run-task DXX-2 (using slug)
  • /agiflow:run-task 01K8FABMNEJG1XTA9JGHSNFV40 (using ID)
  • /agiflow:run-task (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 task scope.
  • A task represents a single, focused unit of work that can be completed in one session.

If a task slug/id is provided, load it with get_task; otherwise list available tasks with list_tasks 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 Tasks move through these statuses in order: Planning → Todo → In Progress → Testing → Review → Done Exception paths: Blocked (requires human intervention), Cancelled (terminal).

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. Task Selection & Loading

If task slug/id NOT provided:

  1. Use list_tasks MCP tool to show available tasks:
    • For the ready queue, filter by status: "Todo" (sorted by priority automatically)
    • Do NOT pick up tasks in "Planning" status — they have not been groomed yet
    • Display: slug, title, priority, assignee, acceptance criteria count
  2. Ask user to select which task to work on.
  3. Once user selects, proceed with the selected task slug/id.

If task slug/id IS provided: 4. Use get_task MCP tool with the provided slug/id to retrieve:

  • Task: title, description, priority, status, acceptance criteria
  • Comments: Previous progress updates and discussions
  1. Review the task details to understand:
    • Complete requirements and deliverables
    • Acceptance criteria that must be met
    • Any blockers or dependencies noted in comments

5b. PLANNING STATUS GUARD (MANDATORY):

  • If task status is "Planning": REFUSE to execute
  • Report: "Cannot execute task [SLUG]: still in Planning status. Use backlog-grooming to promote it to Todo first."
  • STOP execution — do not proceed

2. Start Task Execution

  1. If task status is "Todo", use update_task MCP tool to set status to "In Progress".
  2. Create a TODO list of acceptance criteria in execution order (use TodoWrite tool).
  3. Document execution start in task via update_task devInfo:
    devInfo: {
      currentSession: "<current-session-id>",
      startedAt: "<timestamp>"
    }

3. Implement Task

  1. For each acceptance criterion:
    • Review the specific requirement
    • BEFORE editing any code: Use vibe-lint MCP get-file-design-pattern (MANDATORY)
    • Implement the criterion keeping changes minimal and focused
    • AFTER editing code: Use vibe-lint MCP review-code-change (MANDATORY)
    • Update task devInfo with implementation notes:
      devInfo: {
        filesChanged: ["path/to/file.ts:42"],
        testResults: { passed: true, coverage: "85%" },
        notes: "Implementation notes here",
        currentSession: "<session-id>"
      }
    • Mark acceptance criterion as checked via update_task
    • Update your TODO list (mark criterion as completed)
  2. Between acceptance criteria:
    • Commit changes with meaningful commit messages
    • Run tests to ensure no regressions
    • Update task devInfo with progress

4. Testing Phase

  1. When ALL acceptance criteria are met:
    • Verify all criteria have status checked
    • Use update_task to move status to "Testing"
    • Run the full test suite for affected code:
      • Unit tests
      • Integration tests
      • Type checking and lint
  2. If tests PASS:
    • Update devInfo with passing test results
    • Proceed to step 13 (Task Completion)
  3. If tests FAIL:
    • Increment retryCount in devInfo:
      devInfo: {
        ...existing,
        retryCount: (existing.retryCount ?? 0) + 1,
        lastFailureReason: "<description of what failed>"
      }
    • If retryCount >= maxRetries (default maxRetries = 2):
      • Use update_task to move status to "Blocked"
      • Use create_task_comment to document the repeated failure and what human intervention is needed
      • Stop — do not retry
    • If retryCount < maxRetries:
      • Use update_task to move status back to "Todo"
      • Use create_task_comment to document the failure reason
      • Stop — agent will re-pick from Todo queue on next cycle

5. Task Completion

  1. After tests pass, review all files changed (use git diff).
  2. Draft a PR description for the task (DO NOT create the PR yet - just draft the text):
    • Title format: [TASK-SLUG] Task title (e.g., [DXX-2] Add user authentication)
    • Body should include:
      • Task reference and summary
      • List of changes made
      • Files modified (use file.ts:42 format)
      • Test results
  3. Use update_task to set status to "Review" and save draft PR text and commit message:

    {
      status: "Review",
      devInfo: {
        ...existing,
        draftCommitMessage: "feat(auth): add user authentication\n\n- Add login endpoint with session management\n- Add password validation\n- Add unit tests for auth flow",
        draftPr: {
          title: "[DXX-2] Add user authentication",
          body: "## Summary\n\nImplemented user authentication feature.\n\n## Changes\n\n- Added login endpoint\n- Added session management\n\n## Files Modified\n\n- src/auth/login.ts:42\n- src/auth/session.ts:15\n\n## Test Results\n\nAll tests passing."
        },
        finalNotes: "All acceptance criteria met. Files changed: [...]. Tests passing.",
        completedBy: "<member-id>",
        totalDuration: "45 minutes"
      }
    }

    Note on draftCommitMessage: Write a conventional commit message that will be used for the final git commit. Format: type(scope): description with optional body listing changes.

  4. Use create_task_comment to add final summary:
    • Task scope and goals achieved
    • All files created/modified (use file.ts:42 format)
    • Test coverage and results
    • Any follow-up work needed

6. Handle Blockers

  1. If blocked at any point:
    • Use update_task to set status to "Blocked"
    • Use update_task to update devInfo with blocker details:
      devInfo: {
        ...existing,
        blockedReason: "<why the task is blocked>",
        blockedBy: "<memberId or 'system'>"
      }
    • Use create_task_comment on task with blocker information explaining what human intervention is needed

Reference

  • Use get_task to review task details before starting
  • Use list_task_comments to see previous progress updates
  • Use update_task to track devInfo and acceptance criteria progress

Integration with Other Tools

  • vibe-lint MCP: ALWAYS use before/after editing files for pattern compliance
  • Scaffolding MCP: Document scaffolded code in task comments

Common Mistakes to Avoid

  • ❌ Starting work without reviewing task details with get_task
  • ❌ Not moving task to "In Progress" before starting
  • ❌ Skipping vibe-lint MCP validation (MANDATORY for every file)
  • ❌ Not tracking devInfo (files changed, tests, session ID)
  • ❌ Marking acceptance criteria checked before actually completing them
  • ❌ Moving to "Review" without going through "Testing" first
  • ❌ Not documenting progress in comments
  • ❌ Forgetting to add file references (file.ts:42 format) in final comment
  • ❌ Not running tests before moving to "Review"
  • ❌ Not committing changes incrementally
  • ❌ Moving to "Blocked" without explaining what human intervention is needed
  • ❌ Skipping retryCount increment when moving failed task back to "Todo"
  • ❌ Starting work on a task in "Planning" status (must be promoted to "Todo" via backlog-grooming first)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

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.