Task management CLI for tracking and managing feature subtasks with status, dependencies, and validation
Purpose: Track, manage, and validate feature implementations with atomic task breakdowns, dependency resolution, and progress monitoring.
I provide a command-line interface for managing task breakdowns created by the TaskManager subagent. I help you:
# Show all task statuses
bash .opencode/skills/task-management/router.sh status
# Show next eligible tasks
bash .opencode/skills/task-management/router.sh next
# Show blocked tasks
bash .opencode/skills/task-management/router.sh blocked
# Mark a task complete
bash .opencode/skills/task-management/router.sh complete <feature> <seq> "summary"
# Validate all tasks
bash .opencode/skills/task-management/router.sh validate
| Command | Description |
|---|---|
status [feature] | Show task status summary for all features or specific one |
next [feature] | Show next eligible tasks (dependencies satisfied) |
parallel [feature] | Show parallelizable tasks ready to run |
deps <feature> <seq> | Show dependency tree for a specific subtask |
blocked [feature] | Show blocked tasks and why |
complete <feature> <seq> "summary" | Mark subtask complete with summary |
validate [feature] | Validate JSON files and dependencies |
help | Show help message |
$ bash .opencode/skills/task-management/router.sh status
[my-feature] My Feature Implementation
Status: active | Progress: 45% (5/11)
Pending: 3 | In Progress: 2 | Completed: 5 | Blocked: 1
$ bash .opencode/skills/task-management/router.sh next
=== Ready Tasks (deps satisfied) ===
[my-feature]
06 - Implement API endpoint [sequential]
08 - Write unit tests [parallel]
$ bash .opencode/skills/task-management/router.sh complete my-feature 05 "Implemented authentication module"
✓ Marked my-feature/05 as completed
Summary: Implemented authentication module
Progress: 6/11
$ bash .opencode/skills/task-management/router.sh deps my-feature 07
=== Dependency Tree: my-feature/07 ===
07 - Write integration tests [pending]
├── ✓ 05 - Implement authentication module [completed]
└── ○ 06 - Implement API endpoint [in_progress]
$ bash .opencode/skills/task-management/router.sh validate
=== Validation Results ===
[my-feature]
✓ All checks passed
.opencode/skills/task-management/
├── SKILL.md # This file
├── router.sh # CLI router (entry point)
└── scripts/
└── task-cli.ts # Task management CLI implementation
Tasks are stored in .tmp/tasks/ at the project root:
.tmp/tasks/
├── {feature-slug}/
│ ├── task.json # Feature-level metadata
│ ├── subtask_01.json # Subtask definitions
│ ├── subtask_02.json
│ └── ...
└── completed/
└── {feature-slug}/ # Completed tasks
{
"id": "my-feature",
"name": "My Feature",
"status": "active",
"objective": "Implement X",
"context_files": ["docs/spec.md"],
"reference_files": ["src/existing.ts"],
"exit_criteria": ["Tests pass", "Code reviewed"],
"subtask_count": 5,
"completed_count": 2,
"created_at": "2026-01-11T10:00:00Z",
"completed_at": null
}
{
"id": "my-feature-05",
"seq": "05",
"title": "Implement authentication",
"status": "pending",
"depends_on": ["03", "04"],
"parallel": false,
"suggested_agent": "coder-agent",
"context_files": ["docs/auth.md"],
"reference_files": ["src/auth-old.ts"],
"acceptance_criteria": ["Login works", "JWT tokens valid"],
"deliverables": ["auth.ts", "auth.test.ts"],
"started_at": null,
"completed_at": null,
"completion_summary": null
}
The TaskManager subagent creates task files using this format. When you delegate to TaskManager:
task(
subagent_type="TaskManager",
description="Implement feature X",
prompt="Break down this feature into atomic subtasks..."
)
TaskManager creates:
.tmp/tasks/{feature}/task.json - Feature metadata.tmp/tasks/{feature}/subtask_XX.json - Individual subtasksYou can then use this skill to track and manage progress.
Subtasks can depend on other subtasks. A task is "ready" only when all its dependencies are complete.
Set parallel: true to indicate a subtask can run alongside other parallel tasks with satisfied dependencies.
Each feature has exit_criteria that must be met before marking the feature complete.
The validate command performs comprehensive checks on task files:
Task-Level Validation:
Subtask-Level Validation:
Dependency Validation:
Run validate regularly to catch issues early:
bash .opencode/skills/task-management/router.sh validate my-feature
.tmp/tasks/{feature}/ structurestatus, next, blockedcomplete command with summariesvalidate to check consistencyWorking agents (CoderAgent, TestEngineer, etc.) execute subtasks and report completion. Use this skill to:
nextblockedvalidate# 1. TaskManager creates the task structure
task(subagent_type="TaskManager", description="Implement feature X", ...)
# 2. Check what's ready
bash .opencode/skills/task-management/router.sh next
# 3. Delegate first task to working agent
task(subagent_type="CoderAgent", description="Implement subtask 01", ...)
# Check overall status
bash .opencode/skills/task-management/router.sh status my-feature
# See what's next
bash .opencode/skills/task-management/router.sh next my-feature
# Check what's blocked
bash .opencode/skills/task-management/router.sh blocked my-feature
# After working agent finishes
bash .opencode/skills/task-management/router.sh complete my-feature 05 "Implemented auth module with JWT support"
# Check progress
bash .opencode/skills/task-management/router.sh status my-feature
# Find next task
bash .opencode/skills/task-management/router.sh next my-feature
# Validate all tasks
bash .opencode/skills/task-management/router.sh validate
# Validate specific feature
bash .opencode/skills/task-management/router.sh validate my-feature
When marking tasks complete, provide clear summaries:
# Good
complete my-feature 05 "Implemented JWT authentication with refresh tokens and error handling"
# Avoid
complete my-feature 05 "Done"
# See what a task depends on
bash .opencode/skills/task-management/router.sh deps my-feature 07
# Find tasks that can run in parallel
bash .opencode/skills/task-management/router.sh parallel my-feature
# Validate regularly to catch issues early
bash .opencode/skills/task-management/router.sh validate
Make sure you're running from the project root or the router.sh can find it.
Run status to see if any tasks have been created yet. Use TaskManager to create tasks first.
Check the dependency tree with deps to see what's blocking the task.
Run validate to see specific issues, then check the JSON files in .tmp/tasks/.
.opencode/skills/task-management/.opencode/skills/task-management/router.sh.opencode/skills/task-management/scripts/task-cli.ts.tmp/tasks/ (created by TaskManager).opencode/skills/task-management/SKILL.md (this file)Task Management Skill - Track, manage, and validate your feature implementations!