Awesome-omni-skill manage-tasks

Manage implementation tasks with sequential sub-steps within a plan

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/manage-tasks-majiayu000" ~/.claude/skills/diegosouzapw-awesome-omni-skill-manage-tasks && rm -rf "$T"
manifest: skills/development/manage-tasks-majiayu000/SKILL.md
source content

Manage Tasks Skill

Manage implementation tasks with sequential sub-steps within a plan. Each task references deliverables from the solution document and contains ordered steps for execution.

Implementation Details: See design-for-manage-tasks.md for the complete specification including file format, all commands, parameters, and validation rules.

What This Skill Provides

  • Individual TOON file storage for each task
  • Sequential, immutable numbering (TASK-1, TASK-2, etc.)
  • Deliverable references (M:N relationship to solution_outline.md)
  • Delegation context (skill + workflow for execution)
  • Verification commands and criteria
  • Step management with status tracking
  • Simple execution loop via
    next
    query

When to Activate This Skill

Activate this skill when:

  • Creating or managing implementation tasks for a plan
  • Querying next actionable task/step
  • Marking steps as started/completed/skipped
  • Tracking implementation progress

Storage Location

Tasks are stored in the plan directory:

{plan_dir}/tasks/
  TASK-001-IMPL.toon
  TASK-002-IMPL.toon
  TASK-003-FIX.toon

Filename format:

TASK-{NNN}-{TYPE}.toon
where TYPE is: IMPL, FIX, SONAR, PR, LINT, SEC, DOC


File Format (Summary)

number: 1
title: Update misc agents to TOON output
status: pending
phase: 5-execute
domain: plan-marshall-plugin-dev
profile: implementation
origin: plan
created: 2025-12-02T10:30:00Z
updated: 2025-12-02T10:30:00Z

skills:
  - pm-plugin-development:plugin-maintain
  - pm-plugin-development:plugin-architecture

deliverables[3]:
- 1
- 2
- 4

depends_on: TASK-1, TASK-2

description: |
  Migrate miscellaneous agents from JSON to TOON output format.

domain: plan-marshall-plugin-dev
profile: implementation
type: IMPL
origin: plan

steps[3]{number,title,status}:
1,pm-plugin-development/agents/tool-coverage-agent.md,pending
2,pm-dev-builder/agents/gradle-builder.md,pending
3,pm-dev-frontend/commands/js-generate-coverage.md,pending

verification:
  commands[1]:
  - grep -L '```json' {files} | wc -l
  criteria: No JSON blocks remain
  manual: false

current_step: 1

New Fields:

FieldTypeDescription
domain
stringTask domain (arbitrary string, e.g., java, javascript, my-domain)
profile
stringTask profile (arbitrary string, e.g.,
implementation
,
testing
)
type
stringTask type for filename:
IMPL
,
FIX
,
SONAR
,
PR
,
LINT
,
SEC
,
DOC
skills
listPre-resolved skills for task execution
origin
stringTask origin:
plan
(from task-plan phase) or
fix
(from verify)

Operations

Script:

pm-workflow:manage-tasks:manage-tasks

CommandParametersDescription
add
--plan-id
+ stdin
Add a new task (reads definition from stdin)
update
--plan-id --number [--title] [--description] [--depends-on] [--status] [--domain] [--profile] [--skills] [--deliverables]
Update task metadata
remove
--plan-id --number
Remove a task
list
--plan-id [--status] [--phase] [--deliverable] [--ready]
List all tasks
get
--plan-id --number
Get single task details
next
--plan-id [--phase] [--include-context] [--ignore-deps]
Get next pending task/step
tasks-by-domain
--plan-id --domain
List tasks filtered by domain
tasks-by-profile
--plan-id --profile
List tasks filtered by profile
next-tasks
--plan-id
Get all tasks ready for parallel execution
step-start
--plan-id --task --step
Mark step as in_progress
step-done
--plan-id --task --step
Mark step as done
step-skip
--plan-id --task --step [--reason]
Skip a step
add-step
--plan-id --task --title [--after]
Add step to task
remove-step
--plan-id --task --step
Remove step from task

Add Command (stdin-based API)

The

add
command reads the task definition from stdin in TOON format. Only
--plan-id
is passed as a CLI argument.

Why stdin? Complex task definitions with verification commands containing shell metacharacters (pipes, wildcards, quotes) caused permission issues when passed as CLI arguments. The stdin approach avoids shell interpretation of these characters.

Stdin format:

title: My Task Title
deliverables: [1, 2, 3]
domain: plan-marshall-plugin-dev
profile: implementation
type: IMPL
phase: 5-execute
origin: plan
description: |
  Multi-line task description here.
  Can include any characters.

skills:
  - pm-plugin-development:plugin-maintain
  - pm-plugin-development:plugin-architecture

steps:
  - First step to execute
  - Second step to execute
  - Third step to execute

depends_on: none

verification:
  commands:
    - grep -l '```json' marketplace/bundles/*.md | wc -l
    - mvn verify
  criteria: All grep commands return 0 (no JSON blocks remain)
  manual: false

Required fields:

title
,
deliverables
,
domain
,
profile
,
skills
,
steps

Optional fields:

phase
(default: execute),
description
,
depends_on
,
verification
,
origin
(default: plan)

Field values:

  • deliverables
    : Array of integers
    [1, 2, 3]
  • domain
    : Domain from references.toon (e.g.,
    java
    ,
    javascript
    ,
    plan-marshall-plugin-dev
    )
  • profile
    : Arbitrary profile key from marshal.json (e.g.,
    implementation
    ,
    testing
    ,
    architecture
    )
  • skills
    : Array of
    bundle:skill
    format strings
  • phase
    : One of
    init
    ,
    outline
    ,
    plan
    ,
    execute
    ,
    finalize
  • depends_on
    :
    none
    or task references like
    TASK-1, TASK-2
  • origin
    :
    plan
    (from task-plan phase) or
    fix
    (from verify phase)

List/Next Filters

ParameterDescription
--phase
Filter by plan phase (init/outline/plan/execute/finalize)
--deliverable
Filter by deliverable number
--ready
Only tasks with satisfied dependencies
--ignore-deps
(next only) Ignore dependency constraints

Quick Examples

Add a task

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
  --plan-id my-feature <<'EOF'
title: Update misc agents to TOON
deliverables: [1, 2, 4]
domain: java
description: |
  Migrate miscellaneous agents from JSON to TOON output format.

steps:
  - file1.md
  - file2.md
  - file3.md

verification:
  commands:
    - mvn verify
  criteria: Build passes
EOF

Add a task with dependencies

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
  --plan-id my-feature <<'EOF'
title: Write integration tests
deliverables: [3]
domain: java-testing
description: Add integration tests for new endpoint

steps:
  - Create test class
  - Add test methods
  - Run tests

depends_on: TASK-1, TASK-2

verification:
  commands:
    - mvn verify -Pintegration
  criteria: All tests pass
EOF

Add a task with complex verification commands (shell metacharacters)

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
  --plan-id migrate-json-to-toon <<'EOF'
title: Migrate agent outputs to TOON
deliverables: [1, 2, 3]
domain: plan-marshall-plugin-dev
description: |
  Update agents to use TOON format instead of JSON.

steps:
  - Update java-implement-agent.md
  - Update java-verify-agent.md
  - Update gradle-builder.md

verification:
  commands:
    - grep -l '```json' marketplace/bundles/pm-dev-java/agents/*.md | wc -l
    - grep -l '```json' marketplace/bundles/pm-dev-builder/agents/*.md | wc -l
  criteria: All grep commands return 0 (no JSON blocks remain)
EOF

Get next task/step (respects dependencies)

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks next \
  --plan-id my-feature

Get next task in specific phase

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks next \
  --plan-id my-feature \
  --phase 5-execute

List ready tasks only

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks list \
  --plan-id my-feature \
  --ready

Mark step done

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks step-done \
  --plan-id my-feature \
  --task 2 \
  --step 3

Integration Points

With task-plan-agent

Task-plan agents create tasks during plan refinement using heredoc:

python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
  --plan-id {plan_id} <<'EOF'
title: {task_title}
deliverables: [{n1}, {n2}]
domain: {domain}
steps:
  - {step1}
  - {step2}
...
EOF

With plan-execute

Plan-execute iterates through tasks:

LOOP:
  1. manage-tasks next --plan-id {plan_id}
  2. IF no next: DONE
  3. SPAWN implement agent
  4. CONTINUE

With implement-agent

Implement agents execute steps:

1. manage-tasks get --plan-id {plan_id} --number {N}
2. FOR EACH step: step-start → execute → step-done
3. RUN verification

Deliverable-to-Task Relationship

Tasks reference deliverables from

solution_outline.md
using the
deliverables
field in stdin.

PatternDescriptionExample
1:1One task per deliverable
deliverables: [1]
- Task implements deliverable 1
N:1Multiple deliverables in one task
deliverables: [1, 2, 3]
- Task implements deliverables 1, 2, 3
1:NOne deliverable split across tasksTASK-1 and TASK-2 both have
deliverables: [1]

When to use N:1: Group related deliverables that share implementation context.

When to use 1:N: Split large deliverables into phased implementation (e.g., init task, implement task, verify task).


Dependency Management

Tasks can depend on other tasks using the

depends_on
field in stdin:

# Task 3 waits for Task 1 and Task 2 to complete
depends_on: TASK-1, TASK-2

# No dependencies
depends_on: none

Dependency enforcement:

  • next
    command only returns tasks with satisfied dependencies
  • Use
    --ignore-deps
    to bypass dependency checking
  • Use
    --ready
    filter to list only ready tasks

Blocked output: When tasks are blocked by dependencies,

next
returns:

next: null
blocked_tasks[2]{number,title,waiting_for}:
1,Write tests,TASK-3
2,Deploy,TASK-3, TASK-4

Phase Filtering

Tasks belong to plan phases:

1-init
,
2-refine
,
3-outline
,
4-plan
,
5-execute
,
6-verify
,
7-finalize

Filter by phase:

# List execute phase tasks only
--phase 5-execute

# Get next task in verify phase
next --phase 6-verify

# Get next task in finalize phase
next --phase 7-finalize

Phase purpose:

  • init
    : Setup tasks (create directories, configs)
  • outline
    : Solution outline creation
  • plan
    : Task planning and skill resolution
  • execute
    : Implementation tasks (code changes)
  • verify
    : Quality verification tasks (build, lint, tests)
  • finalize
    : Shipping tasks (commit, PR, knowledge capture)

Status Model

Task Status:

pending
in_progress
done
(or
blocked
)

Step Status:

pending
in_progress
done
(or
skipped
)


Related Documents

manage-tasks — OpenSkillIndex