一键导入
planning-with-pm
Manages feature planning workflow with provider-agnostic PM operations. Detects active provider and adapts commands accordingly.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manages feature planning workflow with provider-agnostic PM operations. Detects active provider and adapts commands accordingly.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manages task lifecycle transitions including starting, completing, and blocking tasks with enforcement gates and Trello synchronization.
Transforms a rough idea into a codebase-aware structured brief for /draft-backlog. Runs inventory discovery, integration mapping, constraint identification, and impact analysis against the actual codebase so the backlog is built from ground truth, not memory.
Executes all tasks in a sprint using dependency-aware wave parallelization. Groups tasks by dependencies, launches parallel driver agents per wave, follows TDD, and tracks progress in state.md.
Optimizes agent-facing files for context efficiency by archiving stale plans, tasks, and research docs, and trimming state.md to a rolling window. Runs as part of the reviewing-and-fixing pipeline.
Runs doc cleanup, full code review, fixes all findings, simplifies the result, then finishes the branch with commit, PR, and CI verification. Chains cleaning-docs, reviewing-code, fix-all, simplify, and finishing-branches into one pipeline.
| name | planning-with-pm |
| description | Manages feature planning workflow with provider-agnostic PM operations. Detects active provider and adapts commands accordingly. |
| argument-hint | [backlog-file] |
| skills | ["planning-with-pm"] |
| agent-roles | ["navigator"] |
Replaces
planning-with-trello— works with any PM provider or local-only.
bpsai-pair pm status
Decision tree based on output:
| Output | Mode | Commands |
|---|---|---|
Provider: <name> (healthy) | PM provider | Use pm commands |
No PM provider configured + Trello in config | Trello compat | Use ttask / plan sync-trello |
No PM provider configured + no Trello | Local-only | Skip sync steps |
# Also check budget
bpsai-pair budget status
Budget Warning: If above 80% daily usage, warn user before proceeding.
bpsai-pair status
cat .paircoder/context/state.md
cat .paircoder/context/project.md
bpsai-pair workspace status
bpsai-pair feedback query feature
bpsai-pair feedback status
Use intelligence data for:
| Attribute | Format | Example |
|---|---|---|
| Slug | kebab-case | webhook-support |
| Type | feature | bugfix | refactor | chore | feature |
| Title | Human-readable | "Add Webhook Support" |
Valid Plan Types: feature, bugfix, refactor, chore
Break work into 3-8 tasks with complexity estimates:
| Complexity | Effort | Description |
|---|---|---|
| 0-20 | S | Trivial |
| 21-40 | S | Simple |
| 41-60 | M | Moderate |
| 61-80 | L | Complex |
| 81-100 | L | Epic (consider splitting) |
Task ID Format: T<sprint>.<sequence> (e.g., T28.1, T28.2)
After calculating total complexity from the task breakdown, detect whether the work should be scoped as an Epic or a Story:
| Condition | Scope | Reason |
|---|---|---|
num_sprint_targets > 1 | Epic | Work spans multiple sprints |
total_cx > sprint_budget | Epic | Exceeds single-sprint capacity |
| Otherwise | Story | Fits within one sprint |
Default sprint budget: 300 cx (configurable via config.yaml key token_budget.sprint_cx_budget).
When total complexity triggers Epic scope, the suggested sprint count is calculated as ceil(total_cx / sprint_budget).
Note: plan new --total-cx <value> runs this detection automatically via detect_scope() in planning/scope_detector.py. You do not need to call it manually, but understanding the rules helps when reviewing scope decisions.
bpsai-pair budget check --estimated-tokens <total_estimate>
If budget check fails: reduce scope, split plans, or get explicit user approval.
bpsai-pair plan new <slug> --type <type> --title "<title>" --total-cx <sum>
Scope auto-detection: When --total-cx is provided, scope is auto-detected (see Step 4.5). To override the auto-detected scope, pass --scope epic or --scope story explicitly.
Epic auto-creation: When a PM provider with hierarchy capability is connected, plan new automatically creates an Epic in the provider and stores epic_provider_id in plan metadata.
For each task:
Register metadata:
bpsai-pair plan add-task <plan-slug> \
--id "T<sprint>.<seq>" \
--title "<task title>" \
--complexity <0-100> \
--priority <P0|P1|P2|P3>
Write task content to .paircoder/tasks/T<sprint>.<seq>.task.md with:
Wiring ACs (required for any new capability). Unit behavior alone is not enough — code can be written, unit-tested, and never actually wired in (a green test over a dead feature). For each new capability, at least one AC must name:
arch Typer app", "called from run_preflight_gate");Advisory check: bpsai-pair arch check-wiring flags public symbols/modules
that look written-but-unwired. Treat its findings as candidates to confirm.
PM provider mode:
# Sync all local tasks to provider
bpsai-pair pm sync
Trello compat mode:
bpsai-pair plan sync-trello <plan-id> --dry-run
bpsai-pair plan sync-trello <plan-id>
Local-only mode: Skip this step.
bpsai-pair pm set-field <item-id> --field "Project" --value "PairCoder"
bpsai-pair pm set-field <item-id> --field "Stack" --value "Package"
bpsai-pair pm set-field <item-id> --field "Effort" --value "M"
bpsai-pair context-sync \
--last "Created plan: <plan-id>" \
--next "Ready to start: <first-task-id>"
**Plan Created**: <plan-id>
**Type**: <type>
**Tasks**: <count> tasks, <total-complexity> complexity points
| ID | Title | Priority | Complexity | Effort |
|----|-------|----------|------------|--------|
| T28.1 | ... | P0 | 35 | S |
**Provider**: <provider-name> synced / local-only
Ready to start? Use `/start-task T28.1`
bpsai-pair pm sprint start <plan-id>
Marks the plan as in-progress and fires on_sprint_planned hook.
# View summary
bpsai-pair pm sprint complete <plan-id>
# With carry-forward to next sprint
bpsai-pair pm sprint complete <plan-id> --carry-forward <new-plan-id>
Evaluates task statuses, produces summary, optionally moves incomplete tasks.
All commands require an active PM provider (pm_basic feature).
# Create work items
bpsai-pair pm create --type task --title "New task"
bpsai-pair pm create --type epic --title "New epic"
bpsai-pair pm create --type task --title "Child" --parent EPIC-ID
# Move items between statuses
bpsai-pair pm move <item-id> --status in_progress
bpsai-pair pm move <item-id> --status done
# Add comments
bpsai-pair pm comment <item-id> "Status update: 50% complete"
# Checklist operations
bpsai-pair pm check <item-id> <checklist-item-id>
bpsai-pair pm check <item-id> <checklist-item-id> --uncheck
# Custom fields
bpsai-pair pm set-field <item-id> --field "Project" --value "PairCoder"
# Hierarchy and relationships
bpsai-pair pm children <parent-id>
bpsai-pair pm tree <root-id>
bpsai-pair pm link <parent-id> <child-id>... # Re-parent items under a new parent
bpsai-pair pm unlink <child-id> # Remove parent relationship
# Task lifecycle (via lifecycle manager)
bpsai-pair pm start <item-id>
bpsai-pair pm done <item-id> --summary "Completed feature X"
bpsai-pair pm block <item-id> --reason "Waiting on API"
# Sync and diagnostics
bpsai-pair pm sync
bpsai-pair pm status
bpsai-pair pm diagnostics
bpsai-pair pm config
When planning for PairCoder itself:
| Scenario | Action |
|---|---|
| PM provider unhealthy | Fall back to Trello compat or local-only |
| Sync fails | Plan exists locally — retry sync later |
| Budget check fails | Do NOT proceed without user acknowledgment |
| Plan creation fails | Check for duplicate slugs or invalid types |
| Item not found | Verify provider connection, check item ID format |