managing-task-lifecycle
Use when starting, pausing, completing, or transitioning task status in the development workflow.
Best use case
managing-task-lifecycle is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Use when starting, pausing, completing, or transitioning task status in the development workflow.
Use when starting, pausing, completing, or transitioning task status in the development workflow.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "managing-task-lifecycle" skill to help with this workflow task. Context: Use when starting, pausing, completing, or transitioning task status in the development workflow.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/managing-task-lifecycle/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How managing-task-lifecycle Compares
| Feature / Agent | managing-task-lifecycle | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when starting, pausing, completing, or transitioning task status in the development workflow.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# PairCoder Task Lifecycle
## Decision Tree: Which Command to Use?
```
Is Trello connected? (check: bpsai-pair trello status)
│
├── YES → Use `ttask` commands (primary)
│ ├── Start: bpsai-pair ttask start TRELLO-XX
│ ├── Complete: bpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done"
│ └── Block: bpsai-pair ttask block TRELLO-XX --reason "..."
│
└── NO → Use `task update` commands
├── Start: bpsai-pair task update TASK-XXX --status in_progress
├── Complete: bpsai-pair task update TASK-XXX --status done
└── Block: bpsai-pair task update TASK-XXX --status blocked
```
**Rule of thumb:** If you see TRELLO-XX IDs, use `ttask`. If you only have TASK-XXX IDs, use `task update`.
## CRITICAL: Always Use CLI Commands
Task state changes MUST go through the CLI to trigger hooks (Trello sync, timers, state updates).
**Never** just edit task files or say "marking as done" - run the command.
## Automatic Hooks
When you change task status via CLI, these hooks fire automatically:
### On `task update --status in_progress`:
- `start_timer` - Begins time tracking
- `sync_trello` - Moves card to "In Progress"
- `update_state` - Updates state.md current focus
### On `task update --status done`:
- `stop_timer` - Stops timer, records duration
- `record_metrics` - Records token usage and costs
- `record_velocity` - Tracks sprint velocity
- `sync_trello` - Moves card to "Deployed/Done"
- `update_state` - Updates state.md
- `check_unblocked` - Identifies newly unblocked tasks
### On `task update --status blocked`:
- `sync_trello` - Moves card to "Issues/Tech Debt"
- `update_state` - Updates state.md
**You don't need to manually update Trello, start/stop timers, or refresh state.md - hooks handle it.**
## Starting a Task
```bash
bpsai-pair task update TASK-XXX --status in_progress
```
This will:
- Update task file status
- Move Trello card to "In Progress" list
- Start timer (when implemented)
- Update state.md current focus
## During Work (Progress Updates)
```bash
bpsai-pair ttask comment TASK-XXX "Completed API endpoints, starting tests"
```
This adds a comment to the Trello card without changing status. Use for:
- Milestone updates
- Noting decisions
- Progress visibility for team
## Completing a Task
### For Trello Projects (Recommended)
Use `ttask done` - it handles everything in one command:
```bash
bpsai-pair ttask done TRELLO-XX --summary "What was accomplished" --list "Deployed/Done"
```
This single command will:
- ✓ Move Trello card to "Deployed/Done" list
- ✓ Auto-check ALL acceptance criteria items
- ✓ Add completion summary to card
- ✓ Update local task file status
- ✓ Trigger all completion hooks (timer, metrics, state.md)
**You do NOT need to also run `task update --status done`** - `ttask done` handles it.
### For Non-Trello Projects
Use `task update`:
```bash
bpsai-pair task update TASK-XXX --status done
```
This will:
- Update task file status
- Trigger completion hooks (timer, metrics, state.md)
### Common Mistakes
| Mistake | Why It's Wrong | Correct Approach |
|---------|---------------|------------------|
| Using only `task update` on Trello projects | Doesn't check AC on Trello card | Use `ttask done` instead |
| Using both commands on Trello projects | Unnecessary duplication | Just use `ttask done` |
| Using `ttask` on non-Trello projects | Commands won't work | Use `task update` |
## Quick Reference
### Local Task Commands (`task`)
Use these for status changes - they trigger all hooks.
| Action | Command |
|--------|---------|
| Start task | `bpsai-pair task update TASK-XXX --status in_progress` |
| Complete task | `bpsai-pair task update TASK-XXX --status done` |
| Block task | `bpsai-pair task update TASK-XXX --status blocked` |
| Show next task | `bpsai-pair task next` |
| Auto-assign next | `bpsai-pair task auto-next` |
| List all tasks | `bpsai-pair task list` |
| Show task details | `bpsai-pair task show TASK-XXX` |
### Trello Card Commands (`ttask`)
Use these for direct Trello operations.
| Action | Command |
|--------|---------|
| List Trello cards | `bpsai-pair ttask list` |
| Show card details | `bpsai-pair ttask show TRELLO-XX` |
| Start card | `bpsai-pair ttask start TRELLO-XX` |
| **Complete card** | `bpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done"` |
| Check acceptance item | `bpsai-pair ttask check TRELLO-XX "item text"` |
| Add progress comment | `bpsai-pair ttask comment TRELLO-XX "message"` |
| Block card | `bpsai-pair ttask block TRELLO-XX --reason "why"` |
| Move card to list | `bpsai-pair ttask move TRELLO-XX "List Name"` |
### When to Use `task` vs `ttask`
**For Trello-connected projects (preferred):**
| Scenario | Command |
|----------|---------|
| Starting a task | `ttask start TRELLO-XX` |
| Progress updates | `ttask comment TRELLO-XX "message"` |
| Completing a task | `ttask done TRELLO-XX --summary "..." --list "Deployed/Done"` |
| Blocking a task | `ttask block TRELLO-XX --reason "..."` |
**For non-Trello projects:**
| Scenario | Command |
|----------|---------|
| Starting a task | `task update TASK-XXX --status in_progress` |
| Completing a task | `task update TASK-XXX --status done` |
| Blocking a task | `task update TASK-XXX --status blocked` |
**Key insight:** `ttask` commands handle both Trello AND local state. You don't need to run `task update` after `ttask done` - it handles everything.
## Task Status Values
| Status | Meaning | Trello List |
|--------|---------|-------------|
| `pending` | Not started | Backlog / Planned |
| `in_progress` | Currently working | In Progress |
| `blocked` | Waiting on something | Issues / Blocked |
| `review` | Ready for review | Review |
| `done` | Completed | Deployed / Done |
## Workflow Checklist
### When Starting a Task
1. Run: `bpsai-pair task update TASK-XXX --status in_progress`
2. Verify Trello card moved
3. Read the task file for implementation plan
4. Begin work
### During Work
1. Add progress comments: `bpsai-pair ttask comment TASK-XXX "status update"`
2. Commit frequently with task ID in message
### When Completing a Task
**For Trello projects:**
1. Ensure tests pass: `pytest -v`
2. Find card ID: `bpsai-pair ttask list`
3. Complete: `bpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done"`
4. Update state.md with what was done
5. Commit changes with task ID in message
**For non-Trello projects:**
1. Ensure tests pass: `pytest -v`
2. Complete: `bpsai-pair task update TASK-XXX --status done`
3. Update state.md with what was done
4. Commit changes with task ID in message
## Validation Scripts
Use these scripts to validate before completion:
### Validate Task File Format
```bash
python .claude/skills/managing-task-lifecycle/scripts/validate_task_status.py TASK-XXX
```
Checks: frontmatter, required fields, valid status, acceptance criteria section.
### Check Completion Readiness
```bash
python .claude/skills/managing-task-lifecycle/scripts/check_completion.py TASK-XXX
```
Runs: task file validation, tests, linting, git status.
**Validation loop:** Run → fix issues → re-run until all checks pass.
## Trello Sync Commands
```bash
# Check Trello connection status
bpsai-pair trello status
# Sync plan to Trello (creates/updates cards)
bpsai-pair plan sync-trello PLAN-ID
# Force refresh from Trello
bpsai-pair trello refresh
```
## Full CLI Reference
See [reference/all-cli-commands.md](reference/all-cli-commands.md) for complete command documentation.Related Skills
task-planning
Plan and organize software development tasks effectively. Use when breaking down features, creating user stories, or planning sprints. Handles task breakdown, user stories, acceptance criteria, and backlog management.
task-estimation
Estimate software development tasks accurately using various techniques. Use when planning sprints, roadmaps, or project timelines. Handles story points, t-shirt sizing, planning poker, and estimation best practices.
task-execution-engine
Execute implementation tasks from design documents using markdown checkboxes. Use when (1) implementing features from feature-design-assistant output, (2) resuming interrupted work, (3) batch executing tasks. Triggers on 'start implementation', 'run tasks', 'resume'.
lark-task
飞书任务:管理任务和清单。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务时使用。
tasks-generator
Generate structured task roadmaps from project specifications. Use when the user asks to create tasks, sprint plans, roadmaps, or work breakdowns based on PRD (Product Requirements Document), Tech Specs, or UI/UX specs. Triggers include requests like "generate tasks from PRD", "create sprint plan", "break down this spec into tasks", "create a roadmap", or "plan the implementation".
managing-project-rules
Creates and updates modular project rules for Claude Code in .claude/rules/ directory. Use when creating, updating, or modifying rule files, organizing project guidelines, setting up code standards, or when user mentions "create rules", "update rules", "add rules", or "rule configuration".
when-managing-token-budget-use-token-budget-advisor
Proactive token budget management tool for assessing usage, analyzing task complexity, generating chunking strategies, and creating execution plans that stay within budget limits
when-managing-multiple-repos-use-github-multi-repo
Multi-repository coordination, synchronization, and architecture management with AI swarm orchestration. Coordinates repo-architect, code-analyzer, and coordinator agents across multiple repositories to maintain consistency, propagate changes, manage dependencies, and ensure architectural alignment. Handles monorepo-to-multi-repo migrations, cross-repo refactoring, and synchronized releases. Use when managing microservices, multi-package ecosystems, or coordinating changes across related repositories.
when-managing-github-projects-use-github-project-management
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning. Coordinates planner, issue-tracker, and project-board-sync agents to automate issue triage, sprint planning, milestone tracking, and project board updates. Integrates with GitHub Projects v2 API for advanced automation, custom fields, and workflow orchestration. Use when managing development projects, coordinating team workflows, or automating project management tasks.
cross-task-learning
Pattern for aggregating insights across multiple tasks to enable data-driven evolution.
managing-git
Manages Git workflows including branching, commits, and pull requests. Use when working with Git, creating commits, opening PRs, managing branches, resolving conflicts, or when asked about version control best practices.
managing-worktrees
Git worktree management expertise for parallel development. Auto-invokes when worktrees, parallel development, multiple branches simultaneously, or isolated development environments are mentioned. Handles worktree creation, listing, and cleanup.