managing-task-lifecycle by aiskillstore
Use when starting, pausing, completing, or transitioning task status in the development workflow.
Content & Writing
85 Stars
2 Forks
Updated Jan 19, 2026, 04:39 AM
Why Use This
This skill provides specialized capabilities for aiskillstore's codebase.
Use Cases
- Developing new features in the aiskillstore repository
- Refactoring existing code to follow aiskillstore standards
- Understanding and working with aiskillstore's codebase structure
Install Guide
2 steps- 1
Skip this step if Ananke is already installed.
- 2
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Skill Stats
SKILL.md 244 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: managing-task-lifecycle
description: Use when starting, pausing, completing, or transitioning task status in the development workflow.
---
# 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.
Name Size