skills/bpsai/managing-task-lifecycle/SKILL.md
Use when starting, pausing, completing, or transitioning task status in the development workflow.
npx skillsauth add aiskillstore/marketplace managing-task-lifecycleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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.
When you change task status via CLI, these hooks fire automatically:
task update --status in_progress:start_timer - Begins time trackingsync_trello - Moves card to "In Progress"update_state - Updates state.md current focustask 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 taskstask update --status blocked:sync_trello - Moves card to "Issues/Tech Debt"update_state - Updates state.mdYou don't need to manually update Trello, start/stop timers, or refresh state.md - hooks handle it.
bpsai-pair task update TASK-XXX --status in_progress
This will:
bpsai-pair ttask comment TASK-XXX "Completed API endpoints, starting tests"
This adds a comment to the Trello card without changing status. Use for:
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:
You do NOT need to also run task update --status done - ttask done handles it.
Use task update:
bpsai-pair task update TASK-XXX --status done
This will:
| 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 |
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 |
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" |
task vs ttaskFor 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.
| 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 |
bpsai-pair task update TASK-XXX --status in_progressbpsai-pair ttask comment TASK-XXX "status update"For Trello projects:
pytest -vbpsai-pair ttask listbpsai-pair ttask done TRELLO-XX --summary "..." --list "Deployed/Done"For non-Trello projects:
pytest -vbpsai-pair task update TASK-XXX --status doneUse these scripts to validate before completion:
python .claude/skills/managing-task-lifecycle/scripts/validate_task_status.py TASK-XXX
Checks: frontmatter, required fields, valid status, acceptance criteria section.
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.
# 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
See reference/all-cli-commands.md for complete command documentation.
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.