Agent skill
managing-task-lifecycle
Use when starting, pausing, completing, or transitioning task status in the development workflow.
Install this agent skill to your Project
npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/bpsai/managing-task-lifecycle
SKILL.md
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 trackingsync_trello- Moves card to "In Progress"update_state- Updates state.md current focus
On task update --status done:
stop_timer- Stops timer, records durationrecord_metrics- Records token usage and costsrecord_velocity- Tracks sprint velocitysync_trello- Moves card to "Deployed/Done"update_state- Updates state.mdcheck_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
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)
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:
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:
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
- Run:
bpsai-pair task update TASK-XXX --status in_progress - Verify Trello card moved
- Read the task file for implementation plan
- Begin work
During Work
- Add progress comments:
bpsai-pair ttask comment TASK-XXX "status update" - Commit frequently with task ID in message
When Completing a Task
For Trello projects:
- Ensure tests pass:
pytest -v - Find card ID:
bpsai-pair ttask list - Complete:
bpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done" - Update state.md with what was done
- Commit changes with task ID in message
For non-Trello projects:
- Ensure tests pass:
pytest -v - Complete:
bpsai-pair task update TASK-XXX --status done - Update state.md with what was done
- Commit changes with task ID in message
Validation Scripts
Use these scripts to validate before completion:
Validate Task File Format
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
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
# 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 for complete command documentation.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
perigon-backend
Perigon ASP.NET Core + EF Core + Aspire conventions
perigon-agent
Pointers for Copilot/agents to apply Perigon conventions
perigon-angular
Angular 21+ standalone/Material/signal conventions for Perigon WebApp
fastapi-mastery
Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.
context7-efficient
Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.
browser-use
Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.
Didn't find tool you were looking for?