@unbrained/pm-cli 2026.5.6 → 2026.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/pm/extensions/.managed-extensions.json +2 -2
- package/.agents/pm/extensions/beads/runtime.js +4 -4
- package/.agents/pm/extensions/beads/runtime.ts +5 -5
- package/.agents/pm/extensions/todos/runtime.js +7 -7
- package/.agents/pm/extensions/todos/runtime.ts +10 -10
- package/.agents/skills/HARNESS_COMPATIBILITY.md +45 -0
- package/.agents/skills/README.md +21 -0
- package/.agents/skills/pm-developer/SKILL.md +73 -0
- package/.agents/skills/pm-developer/references/COMMAND_PLAYBOOK.md +48 -0
- package/.agents/skills/pm-developer/references/PROMPTS.md +17 -0
- package/.agents/skills/pm-extensions/SKILL.md +57 -0
- package/.agents/skills/pm-extensions/references/LIFECYCLE.md +40 -0
- package/.agents/skills/pm-extensions/references/TROUBLESHOOTING.md +25 -0
- package/.agents/skills/pm-sdk/SKILL.md +50 -0
- package/.agents/skills/pm-sdk/references/INTEGRATION_CHECKLIST.md +31 -0
- package/.agents/skills/pm-sdk/references/PROMPTS.md +13 -0
- package/.agents/skills/pm-user/SKILL.md +59 -0
- package/.agents/skills/pm-user/references/PROMPTS.md +17 -0
- package/.agents/skills/pm-user/references/WORKFLOWS.md +35 -0
- package/.claude-plugin/marketplace.json +38 -0
- package/.pi/README.md +35 -0
- package/.pi/agents/pm-triage-agent.md +19 -0
- package/.pi/agents/pm-verification-agent.md +21 -0
- package/.pi/chains/pm-native-delivery.chain.md +11 -0
- package/.pi/extensions/pm-cli/index.js +387 -0
- package/.pi/prompts/pm-workflow.md +5 -0
- package/.pi/skills/pm-native/SKILL.md +44 -0
- package/.pi/skills/pm-release/SKILL.md +35 -0
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +13 -0
- package/PRD.md +16 -16
- package/README.md +30 -4
- package/dist/cli/argv-utils.d.ts +5 -0
- package/dist/cli/argv-utils.js +34 -0
- package/dist/cli/argv-utils.js.map +1 -0
- package/dist/cli/bootstrap-args.d.ts +15 -0
- package/dist/cli/bootstrap-args.js +211 -0
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commander-usage.js +109 -3
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/claim.js +6 -6
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.js +9 -9
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/comments.d.ts +2 -0
- package/dist/cli/commands/comments.js +57 -8
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js +40 -7
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.js +6 -3
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +19 -0
- package/dist/cli/commands/contracts.js +36 -1
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.d.ts +2 -2
- package/dist/cli/commands/create.js +116 -55
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/docs.js +13 -6
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +3 -1
- package/dist/cli/commands/extension.js +174 -2
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.js +19 -12
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/get.js +5 -5
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/guide.d.ts +55 -0
- package/dist/cli/commands/guide.js +260 -0
- package/dist/cli/commands/guide.js.map +1 -0
- package/dist/cli/commands/health.js +1 -1
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history.js +30 -10
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.js +21 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learnings.js +3 -3
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/metadata-normalizers.d.ts +4 -0
- package/dist/cli/commands/metadata-normalizers.js +37 -0
- package/dist/cli/commands/metadata-normalizers.js.map +1 -0
- package/dist/cli/commands/notes.js +3 -3
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/reindex.js +180 -156
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/restore.d.ts +2 -2
- package/dist/cli/commands/restore.js +44 -24
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/search.d.ts +2 -0
- package/dist/cli/commands/search.js +45 -26
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/test-all.d.ts +2 -0
- package/dist/cli/commands/test-all.js +2 -0
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/commands/test.d.ts +1 -0
- package/dist/cli/commands/test.js +13 -5
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update.js +188 -157
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.js +1 -1
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +9 -1
- package/dist/cli/error-guidance.js +147 -6
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/guide-topics.d.ts +25 -0
- package/dist/cli/guide-topics.js +283 -0
- package/dist/cli/guide-topics.js.map +1 -0
- package/dist/cli/help-content.js +25 -1
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/help-json-payload.js +11 -1
- package/dist/cli/help-json-payload.js.map +1 -1
- package/dist/cli/main.js +69 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +38 -1
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +17 -4
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-setup.js +15 -1
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/telemetry-flush.d.ts +2 -0
- package/dist/cli/telemetry-flush.js +4 -0
- package/dist/cli/telemetry-flush.js.map +1 -0
- package/dist/cli.js +1 -2
- package/dist/cli.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +72 -0
- package/dist/core/extensions/extension-types.js +24 -0
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +1 -0
- package/dist/core/extensions/loader.js +766 -7
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/history.js +32 -11
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/item/item-format.d.ts +2 -2
- package/dist/core/item/item-format.js +16 -16
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/lock/lock.js +2 -0
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/schema/runtime-field-filters.js +1 -1
- package/dist/core/schema/runtime-field-filters.js.map +1 -1
- package/dist/core/schema/runtime-field-values.js +2 -2
- package/dist/core/schema/runtime-field-values.js.map +1 -1
- package/dist/core/schema/runtime-schema.d.ts +1 -1
- package/dist/core/schema/runtime-schema.js +3 -3
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/cache.js +7 -21
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/corpus.d.ts +13 -0
- package/dist/core/search/corpus.js +74 -0
- package/dist/core/search/corpus.js.map +1 -0
- package/dist/core/search/embedding-batches.js +90 -30
- package/dist/core/search/embedding-batches.js.map +1 -1
- package/dist/core/sentry/instrument.d.ts +18 -1
- package/dist/core/sentry/instrument.js +128 -12
- package/dist/core/sentry/instrument.js.map +1 -1
- package/dist/core/shared/constants.d.ts +1 -1
- package/dist/core/shared/constants.js +21 -1
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.d.ts +8 -0
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/levenshtein.d.ts +1 -0
- package/dist/core/shared/levenshtein.js +37 -0
- package/dist/core/shared/levenshtein.js.map +1 -0
- package/dist/core/store/front-matter-cache.d.ts +1 -1
- package/dist/core/store/front-matter-cache.js +13 -13
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/core/store/item-format-migration.js +5 -2
- package/dist/core/store/item-format-migration.js.map +1 -1
- package/dist/core/store/item-store.js +16 -15
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/paths.js +35 -2
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings.js +216 -2
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +1 -0
- package/dist/core/telemetry/runtime.js +102 -3
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/item-test-run-tracking.js +2 -2
- package/dist/core/test/item-test-run-tracking.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.js +407 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/pi/native.d.ts +5 -0
- package/dist/pi/native.js +236 -0
- package/dist/pi/native.js.map +1 -0
- package/dist/sdk/cli-contracts.d.ts +24 -2
- package/dist/sdk/cli-contracts.js +317 -2
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +12 -1
- package/dist/sdk/index.js +8 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/types.d.ts +51 -2
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +15 -0
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/CLAUDE_CODE_PLUGIN.md +225 -0
- package/docs/CODEX_PLUGIN.md +33 -0
- package/docs/COMMANDS.md +6 -2
- package/docs/CONFIGURATION.md +2 -8
- package/docs/EXTENSIONS.md +688 -0
- package/docs/MIGRATION_CLI_SIMPLIFICATION.md +64 -0
- package/docs/PI_PACKAGE.md +141 -0
- package/docs/QUICKSTART.md +1 -0
- package/docs/README.md +30 -1
- package/docs/RELEASING.md +4 -2
- package/docs/SDK.md +444 -2
- package/docs/examples/ci/github-actions-pm-extension-gate.yml +53 -0
- package/docs/examples/ci/gitlab-ci-pm-extension-gate.yml +41 -0
- package/docs/examples/ci/jenkins-pm-extension-gate.Jenkinsfile +45 -0
- package/docs/examples/policy-restricted-extension/README.md +74 -0
- package/docs/examples/policy-restricted-extension/index.js +21 -0
- package/docs/examples/policy-restricted-extension/manifest.json +21 -0
- package/docs/examples/policy-restricted-extension/package.json +8 -0
- package/docs/examples/sdk-app-embedding/README.md +39 -0
- package/docs/examples/sdk-app-embedding/package.json +9 -0
- package/docs/examples/sdk-app-embedding/run-embedded-pm.mjs +61 -0
- package/docs/examples/sdk-contract-consumer/README.md +57 -0
- package/docs/examples/sdk-contract-consumer/inspect-contracts.mjs +47 -0
- package/docs/examples/sdk-contract-consumer/package.json +10 -0
- package/docs/examples/starter-extension/README.md +57 -42
- package/docs/examples/starter-extension/manifest.json +15 -0
- package/marketplace.json +34 -0
- package/package.json +38 -4
- package/plugins/pm-cli-claude/.claude-plugin/plugin.json +23 -0
- package/plugins/pm-cli-claude/.mcp.json +12 -0
- package/plugins/pm-cli-claude/README.md +225 -0
- package/plugins/pm-cli-claude/agents/pm-coordinator.md +48 -0
- package/plugins/pm-cli-claude/agents/pm-delivery-chain.md +88 -0
- package/plugins/pm-cli-claude/agents/pm-triage-agent.md +83 -0
- package/plugins/pm-cli-claude/agents/pm-verification-agent.md +88 -0
- package/plugins/pm-cli-claude/commands/pm-audit.md +39 -0
- package/plugins/pm-cli-claude/commands/pm-calendar.md +41 -0
- package/plugins/pm-cli-claude/commands/pm-close-task.md +20 -0
- package/plugins/pm-cli-claude/commands/pm-developer.md +38 -0
- package/plugins/pm-cli-claude/commands/pm-init.md +44 -0
- package/plugins/pm-cli-claude/commands/pm-list.md +39 -0
- package/plugins/pm-cli-claude/commands/pm-new.md +36 -0
- package/plugins/pm-cli-claude/commands/pm-planner.md +51 -0
- package/plugins/pm-cli-claude/commands/pm-release.md +41 -0
- package/plugins/pm-cli-claude/commands/pm-search.md +21 -0
- package/plugins/pm-cli-claude/commands/pm-start-task.md +27 -0
- package/plugins/pm-cli-claude/commands/pm-status.md +15 -0
- package/plugins/pm-cli-claude/commands/pm-triage.md +35 -0
- package/plugins/pm-cli-claude/commands/pm-workflow.md +49 -0
- package/plugins/pm-cli-claude/hooks/hooks.json +17 -0
- package/plugins/pm-cli-claude/hooks/session-start.mjs +120 -0
- package/plugins/pm-cli-claude/scripts/pm-mcp-server.mjs +60 -0
- package/plugins/pm-cli-claude/skills/pm-audit/SKILL.md +88 -0
- package/plugins/pm-cli-claude/skills/pm-developer/SKILL.md +116 -0
- package/plugins/pm-cli-claude/skills/pm-planner/SKILL.md +118 -0
- package/plugins/pm-cli-claude/skills/pm-release/SKILL.md +83 -0
- package/plugins/pm-cli-claude/skills/pm-workflow/SKILL.md +148 -0
- package/plugins/pm-cli-codex/.codex-plugin/plugin.json +45 -0
- package/plugins/pm-cli-codex/.mcp.json +14 -0
- package/plugins/pm-cli-codex/README.md +30 -0
- package/plugins/pm-cli-codex/assets/pm-cli-small.svg +4 -0
- package/plugins/pm-cli-codex/commands/pm-audit.md +8 -0
- package/plugins/pm-cli-codex/commands/pm-close-task.md +9 -0
- package/plugins/pm-cli-codex/commands/pm-start-task.md +9 -0
- package/plugins/pm-cli-codex/scripts/pm-mcp-server.mjs +54 -0
- package/plugins/pm-cli-codex/skills/pm-auditor/SKILL.md +21 -0
- package/plugins/pm-cli-codex/skills/pm-auditor/agents/openai.yaml +6 -0
- package/plugins/pm-cli-codex/skills/pm-native/SKILL.md +57 -0
- package/plugins/pm-cli-codex/skills/pm-native/agents/openai.yaml +6 -0
- package/plugins/pm-cli-codex/skills/pm-release/SKILL.md +19 -0
- package/plugins/pm-cli-codex/skills/pm-release/agents/openai.yaml +6 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# pm CLI — Claude Code Plugin
|
|
2
|
+
|
|
3
|
+
Native pm CLI integration for Claude Code. Use pm project management tools directly through Claude Code's MCP protocol — no shell invocations, no context switching, no `pm` CLI required.
|
|
4
|
+
|
|
5
|
+
## What's Included
|
|
6
|
+
|
|
7
|
+
| Component | What it provides |
|
|
8
|
+
|-----------|----------------|
|
|
9
|
+
| **18 MCP tools** | Full pm surface: context, search, list, get, create, update, claim, release, close, comments, files, docs, test, validate, health, contracts, guide + `pm_run` for everything else |
|
|
10
|
+
| **5 skills** | `pm-workflow`, `pm-developer`, `pm-release`, `pm-audit`, `pm-planner` — auto-loaded as Claude Code skills |
|
|
11
|
+
| **14 slash commands** | Full lifecycle coverage — status, start, close, triage, audit, search, new, list, calendar, developer, planner, release, workflow, init |
|
|
12
|
+
| **3 subagents** | `pm-coordinator` (batch/multi-item), `pm-triage-agent` (duplicate-safe item creation), `pm-verification-agent` (evidence + close readiness), and a `pm-delivery-chain` orchestrator |
|
|
13
|
+
| **Hybrid TUI tracking** | pm items sync to Claude Code's task panel — pm is the persistent store, the task panel is the live session view |
|
|
14
|
+
| **Session hook** | Injects active pm item summary at session start when pm is initialized (uses native modules, no CLI required) |
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
### Option A: Plugin marketplace — canonical install (recommended)
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
/plugin install pm-cli@pm
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
First time: add the marketplace if it's not configured yet:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
claude plugin marketplace add /path/to/pm-cli
|
|
28
|
+
# or after npm publish:
|
|
29
|
+
# claude plugin marketplace add unbraind/pm-cli
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
This installs all 18 MCP tools, 5 skills, 14 slash commands, 3 subagents, hybrid TUI tracking, and the session hook in one step.
|
|
33
|
+
|
|
34
|
+
### Option B: Legacy marketplace alias (also works)
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
/plugin install pm-cli@pm-cli
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Both `pm` and `pm-cli` marketplace IDs resolve to the same plugin.
|
|
41
|
+
|
|
42
|
+
### Option C: Global MCP server via Claude Code CLI (MCP tools only)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
claude mcp add --transport stdio pm-cli-native -- npx -y @unbrained/pm-cli pm-mcp
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This gives you the 18 MCP tools but not the skills, slash commands, or session hook.
|
|
49
|
+
|
|
50
|
+
### Option D: Direct `.mcp.json` (project-scoped MCP only)
|
|
51
|
+
|
|
52
|
+
Add to your project's `.mcp.json`:
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"mcpServers": {
|
|
57
|
+
"pm-cli-native": {
|
|
58
|
+
"command": "npx",
|
|
59
|
+
"args": ["-y", "@unbrained/pm-cli@latest", "pm-mcp"],
|
|
60
|
+
"env": {
|
|
61
|
+
"PM_AUTHOR": "claude-code-agent"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Quick Start
|
|
69
|
+
|
|
70
|
+
After installation, restart Claude Code. All tools are available immediately:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Can you show me the current pm project status?
|
|
74
|
+
→ Claude uses pm_context + pm_run(calendar) automatically
|
|
75
|
+
|
|
76
|
+
Start working on the authentication bug.
|
|
77
|
+
→ Claude searches pm, finds or creates an item, claims it, syncs to task panel
|
|
78
|
+
|
|
79
|
+
Close pm-xxxx — the fix is complete.
|
|
80
|
+
→ Claude runs /pm-close-task pm-xxxx with evidence linking, closes pm item, marks task panel entry completed
|
|
81
|
+
|
|
82
|
+
Triage this request: add dark mode toggle to settings screen
|
|
83
|
+
→ Claude spawns pm-triage-agent, checks duplicates, creates pm item with AC, hands off to /pm-developer
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Hybrid TUI Task Tracking
|
|
87
|
+
|
|
88
|
+
pm items automatically sync to Claude Code's task panel during active sessions:
|
|
89
|
+
|
|
90
|
+
- **pm** = persistent cross-session store (git-native, tracked in `.agents/pm/`)
|
|
91
|
+
- **Claude Code task panel** = live session view with spinners and status
|
|
92
|
+
|
|
93
|
+
When you `/pm-start-task` or `/pm-developer`:
|
|
94
|
+
1. The pm item is claimed (`pm_claim`)
|
|
95
|
+
2. A matching entry appears in Claude Code's task panel with a spinner (`TaskCreate`)
|
|
96
|
+
3. Work progresses; evidence is linked in pm
|
|
97
|
+
4. On `/pm-close-task`, pm is closed AND the task panel entry shows ✔ completed
|
|
98
|
+
|
|
99
|
+
This means you get full history in pm (survives restarts, visible in `pm list`) and live visual feedback in the Claude Code session.
|
|
100
|
+
|
|
101
|
+
## Slash Commands
|
|
102
|
+
|
|
103
|
+
| Command | What it does |
|
|
104
|
+
|---------|-------------|
|
|
105
|
+
| `/pm-status` | Quick status snapshot — active items + calendar |
|
|
106
|
+
| `/pm-start-task [id or keywords]` | Find, claim, and start a pm item (with TUI sync) |
|
|
107
|
+
| `/pm-close-task [id]` | Verify, evidence, close, and release an item (marks TUI completed) |
|
|
108
|
+
| `/pm-triage <request>` | Triage a new request into pm tracking |
|
|
109
|
+
| `/pm-audit` | Full repository audit with findings (TUI tracked) |
|
|
110
|
+
| `/pm-search <query>` | Search pm items by keywords, tags, or status |
|
|
111
|
+
| `/pm-new <title>` | Quick-create a new pm item (with duplicate check) |
|
|
112
|
+
| `/pm-list [filter]` | List active or filtered pm items |
|
|
113
|
+
| `/pm-calendar [view]` | Show upcoming deadlines and calendar events |
|
|
114
|
+
| `/pm-developer [id or keywords]` | Full developer loop — claim, implement, verify, close |
|
|
115
|
+
| `/pm-planner [scope]` | Plan and decompose work — survey, create hierarchy, prioritize |
|
|
116
|
+
| `/pm-release [version or id]` | Release gates — build, tests, coverage, CI, publish |
|
|
117
|
+
| `/pm-workflow [id or description]` | General pm workflow loop with TUI tracking |
|
|
118
|
+
| `/pm-init [project name]` | Initialize pm in the current project |
|
|
119
|
+
|
|
120
|
+
## Skills
|
|
121
|
+
|
|
122
|
+
| Skill | When Claude uses it |
|
|
123
|
+
|-------|-------------------|
|
|
124
|
+
| `pm-workflow` | Any pm-tracked work — orient, claim, implement, close |
|
|
125
|
+
| `pm-developer` | Implementation tasks — code, tests, docs changes |
|
|
126
|
+
| `pm-release` | Release preparation — gates, tagging, publish |
|
|
127
|
+
| `pm-audit` | Repository health audits — validate, dedupe, aggregate |
|
|
128
|
+
| `pm-planner` | Planning — decompose epics, prioritize backlog, triage |
|
|
129
|
+
|
|
130
|
+
## Subagents
|
|
131
|
+
|
|
132
|
+
| Agent | Role |
|
|
133
|
+
|-------|------|
|
|
134
|
+
| `pm-coordinator` | Multi-item and batch coordination — batch updates, audit workflows, release gate sequences |
|
|
135
|
+
| `pm-triage-agent` | Duplicate-safe item creation — orient, search, establish lineage, produce implementation-ready item |
|
|
136
|
+
| `pm-verification-agent` | Closure evidence — read item, check AC, run tests, validate, produce structured close recommendation |
|
|
137
|
+
| `pm-delivery-chain` | End-to-end orchestrator — runs triage → implement → verify as a single tracked loop |
|
|
138
|
+
|
|
139
|
+
Use subagents via Claude Code's built-in `Agent` tool:
|
|
140
|
+
```
|
|
141
|
+
Spawn pm-triage-agent to set up the pm item for: add OAuth2 login support
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## MCP Tools Reference
|
|
145
|
+
|
|
146
|
+
### Narrow tools (prefer these)
|
|
147
|
+
|
|
148
|
+
| Tool | Purpose |
|
|
149
|
+
|------|---------|
|
|
150
|
+
| `pm_context` | Active work snapshot |
|
|
151
|
+
| `pm_search` | Keyword/semantic/hybrid search |
|
|
152
|
+
| `pm_list` | Filtered item list |
|
|
153
|
+
| `pm_get` | Single item detail |
|
|
154
|
+
| `pm_create` | Create new item |
|
|
155
|
+
| `pm_update` | Update metadata |
|
|
156
|
+
| `pm_claim` | Claim for active work |
|
|
157
|
+
| `pm_release` | Release claim |
|
|
158
|
+
| `pm_close` | Close with reason |
|
|
159
|
+
| `pm_comments` | List or add comments |
|
|
160
|
+
| `pm_files` | Link/unlink files |
|
|
161
|
+
| `pm_docs` | Link/unlink docs |
|
|
162
|
+
| `pm_test` | Link or run tests |
|
|
163
|
+
| `pm_validate` | Run validation checks |
|
|
164
|
+
| `pm_health` | Run health diagnostics |
|
|
165
|
+
| `pm_contracts` | Inspect command contracts |
|
|
166
|
+
| `pm_guide` | Read guide topics |
|
|
167
|
+
|
|
168
|
+
### General tool
|
|
169
|
+
|
|
170
|
+
| Tool | Purpose |
|
|
171
|
+
|------|---------|
|
|
172
|
+
| `pm_run` | Any pm action not covered above — pass `action` field |
|
|
173
|
+
|
|
174
|
+
**`pm_run` actions:** `init`, `calendar`, `activity`, `aggregate`, `dedupe-audit`, `normalize`, `reindex`, `extension`, `history`, `stats`, `append`, `notes`, `learnings`, `test-all`, `comments-audit`, `gc`, `templates-list`, `templates-save`, `templates-show`, `test-runs-list`, `test-runs-status`, `test-runs-logs`, `test-runs-stop`, `test-runs-resume`, `config`, `completion`
|
|
175
|
+
|
|
176
|
+
## Hybrid TUI Sync Pattern
|
|
177
|
+
|
|
178
|
+
All skills and commands implement this pattern for every claimed item:
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
1. pm_claim → [pm stores claim]
|
|
182
|
+
2. TaskCreate { subject: "[pm-xxxx] title", activeForm: "Working on pm-xxxx" }
|
|
183
|
+
→ [spinner appears in Claude Code task panel]
|
|
184
|
+
3. TaskUpdate { status: "in_progress" }
|
|
185
|
+
4. ... do work, link evidence in pm ...
|
|
186
|
+
5. pm_close → pm_release → [pm stores closure]
|
|
187
|
+
6. TaskUpdate { status: "completed" }
|
|
188
|
+
→ [✔ appears in Claude Code task panel]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Session Context Injection
|
|
192
|
+
|
|
193
|
+
At session start, the hook runs natively (no `pm` CLI required):
|
|
194
|
+
- Walks up directories to find `dist/pi/native.js` in the repo checkout
|
|
195
|
+
- Falls back to `npx @unbrained/pm-cli` if no local dist is found
|
|
196
|
+
- Injects a compact summary of in-progress/open/blocked items
|
|
197
|
+
|
|
198
|
+
Example output:
|
|
199
|
+
```
|
|
200
|
+
pm tracker: 2 in_progress, 1 open
|
|
201
|
+
• [pm-abc1] Add OAuth2 login (in_progress)
|
|
202
|
+
• [pm-abc2] Fix test flakiness (in_progress)
|
|
203
|
+
• [pm-abc3] Update docs (open)
|
|
204
|
+
Use pm_context tool or /pm-status for full details.
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Safety
|
|
208
|
+
|
|
209
|
+
- Never pass `path` during real repository tracking — only use it for sandbox/test runs.
|
|
210
|
+
- Set `author: "claude-code-agent"` on all mutations.
|
|
211
|
+
- Run `pm_validate` before closing items.
|
|
212
|
+
- For tests, pass a sandbox `cwd` and set `PM_GLOBAL_PATH` to an isolated path.
|
|
213
|
+
|
|
214
|
+
## Requirements
|
|
215
|
+
|
|
216
|
+
- Node.js ≥ 20
|
|
217
|
+
- pm CLI resolved automatically via local dist (in repo) or `npx @unbrained/pm-cli` (no global install needed)
|
|
218
|
+
- Project initialized with `pm init` (or use `/pm-init`)
|
|
219
|
+
|
|
220
|
+
## Links
|
|
221
|
+
|
|
222
|
+
- [pm CLI docs](https://github.com/unbraind/pm-cli/tree/main/docs)
|
|
223
|
+
- [Architecture guide](https://github.com/unbraind/pm-cli/blob/main/docs/ARCHITECTURE.md)
|
|
224
|
+
- [Extension guide](https://github.com/unbraind/pm-cli/blob/main/docs/EXTENSIONS.md)
|
|
225
|
+
- [CHANGELOG](https://github.com/unbraind/pm-cli/blob/main/CHANGELOG.md)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pm-coordinator
|
|
3
|
+
description: Subagent for coordinating multi-item pm CLI work. Use when orchestrating across multiple pm items, running batch updates, or performing broad audit/migration tasks that should be isolated from the main conversation context.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pm Coordinator
|
|
7
|
+
|
|
8
|
+
You are a pm CLI coordination subagent. You have access to all pm native MCP tools and should use them to coordinate project management tasks.
|
|
9
|
+
|
|
10
|
+
## Your Role
|
|
11
|
+
|
|
12
|
+
- Coordinate across multiple pm items in a single focused session
|
|
13
|
+
- Run batch operations (update-many, validate, aggregate) without polluting the main context
|
|
14
|
+
- Perform audit workflows and return structured findings
|
|
15
|
+
- Execute release gate sequences and report results
|
|
16
|
+
- Mirror active items to Claude Code's task panel using the Hybrid TUI Sync pattern
|
|
17
|
+
|
|
18
|
+
## Hybrid TUI Sync
|
|
19
|
+
|
|
20
|
+
pm is the **persistent store**. Claude Code's task panel is the **live session view**.
|
|
21
|
+
|
|
22
|
+
For each pm item you actively claim or work on:
|
|
23
|
+
1. Call `TaskCreate` with `subject: "[pm-xxxx] <title>"` and `activeForm: "Working on pm-xxxx"`.
|
|
24
|
+
2. Save the returned `taskId`.
|
|
25
|
+
3. Call `TaskUpdate(in_progress)` once work begins.
|
|
26
|
+
4. Call `TaskUpdate(completed)` after `pm_close` + `pm_release`.
|
|
27
|
+
|
|
28
|
+
For batch audits spanning many items, create one top-level `TaskCreate` for the coordination session itself, and update it at the end.
|
|
29
|
+
|
|
30
|
+
## Tools Available
|
|
31
|
+
|
|
32
|
+
Use the `pm-cli-native` MCP server tools: `pm_context`, `pm_search`, `pm_list`, `pm_get`, `pm_create`, `pm_update`, `pm_claim`, `pm_release`, `pm_close`, `pm_comments`, `pm_files`, `pm_docs`, `pm_test`, `pm_validate`, `pm_health`, `pm_contracts`, `pm_guide`, and `pm_run` for all other operations.
|
|
33
|
+
|
|
34
|
+
Also use Claude Code's built-in `TaskCreate` and `TaskUpdate` tools for TUI panel display.
|
|
35
|
+
|
|
36
|
+
## Always
|
|
37
|
+
|
|
38
|
+
1. Call `pm_context` first for orientation.
|
|
39
|
+
2. Call `pm_search` before creating new items to avoid duplicates.
|
|
40
|
+
3. Set `author: "claude-code-agent"` on all mutations.
|
|
41
|
+
4. Mirror claimed items to Claude Code's task panel with `TaskCreate`.
|
|
42
|
+
5. Return a structured summary of what you did and what pm items were affected.
|
|
43
|
+
|
|
44
|
+
## Never
|
|
45
|
+
|
|
46
|
+
- Pass `path` during real repository tracking.
|
|
47
|
+
- Close items without verifying acceptance criteria.
|
|
48
|
+
- Create duplicate items without checking `pm_search` first.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pm-delivery-chain
|
|
3
|
+
description: Subagent that orchestrates the full pm delivery workflow — triage to establish or reuse a pm item, implement the scoped work, and verify before close. Use when you want a fully tracked, end-to-end delivery loop with pm integration.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pm Delivery Chain
|
|
7
|
+
|
|
8
|
+
You are a pm CLI delivery orchestration subagent. You coordinate triage, implementation, and verification into a single tracked delivery loop using native pm MCP tools.
|
|
9
|
+
|
|
10
|
+
## Your Role
|
|
11
|
+
|
|
12
|
+
Run the full three-phase delivery loop for a work request:
|
|
13
|
+
1. **Triage** — establish the canonical pm item (reuse or create)
|
|
14
|
+
2. **Implement** — execute the scoped work with evidence linking
|
|
15
|
+
3. **Verify** — confirm acceptance criteria before closing
|
|
16
|
+
|
|
17
|
+
## Phase 1: Triage
|
|
18
|
+
|
|
19
|
+
Follow the pm triage workflow to produce an implementation-ready pm item:
|
|
20
|
+
|
|
21
|
+
1. `pm_context` for orientation
|
|
22
|
+
2. `pm_search` for duplicate detection
|
|
23
|
+
3. `pm_list` to see active backlog
|
|
24
|
+
4. Reuse an existing item if one matches, otherwise `pm_create` with full acceptance criteria
|
|
25
|
+
5. Link parent if applicable via `pm_update`
|
|
26
|
+
|
|
27
|
+
Output: pm item ID + acceptance criteria for Phase 2.
|
|
28
|
+
|
|
29
|
+
## Phase 2: Claim and Implement
|
|
30
|
+
|
|
31
|
+
1. `pm_claim` with `author: "claude-code-agent"`
|
|
32
|
+
2. `pm_update` to `status: "in_progress"`
|
|
33
|
+
3. Sync Claude Code task panel:
|
|
34
|
+
```
|
|
35
|
+
TaskCreate:
|
|
36
|
+
subject: "[pm-xxxx] <item title>"
|
|
37
|
+
description: "Tracking pm-xxxx delivery"
|
|
38
|
+
activeForm: "Implementing pm-xxxx"
|
|
39
|
+
```
|
|
40
|
+
Then `TaskUpdate(in_progress)`. Save the taskId.
|
|
41
|
+
4. Implement the work, linking evidence as you go:
|
|
42
|
+
- Changed files: `pm_files` with `add`
|
|
43
|
+
- Updated docs: `pm_docs` with `add`
|
|
44
|
+
- Test commands: `pm_test` with `add`
|
|
45
|
+
- Progress notes: `pm_comments`
|
|
46
|
+
|
|
47
|
+
## Phase 3: Verify and Close
|
|
48
|
+
|
|
49
|
+
1. Run linked tests with `pm_test { run: true }` or project test command
|
|
50
|
+
2. `pm_validate` with `checkResolution: true, checkHistoryDrift: true`
|
|
51
|
+
3. `pm_comments` with verification evidence
|
|
52
|
+
4. If all acceptance criteria are met:
|
|
53
|
+
- `pm_close` with reason
|
|
54
|
+
- `pm_release`
|
|
55
|
+
- `TaskUpdate(completed)` using saved taskId
|
|
56
|
+
5. If criteria are not met: report what's missing and stop — do NOT close
|
|
57
|
+
|
|
58
|
+
## MCP Call Sequence
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
# Phase 1 — Triage
|
|
62
|
+
pm_context → pm_search → pm_list → [pm_create if needed] → pm_update(parent)
|
|
63
|
+
|
|
64
|
+
# Phase 2 — Implement
|
|
65
|
+
pm_claim → pm_update(in_progress) → TaskCreate → TaskUpdate(in_progress)
|
|
66
|
+
→ [implement] → pm_files → pm_docs → pm_test → pm_comments(progress)
|
|
67
|
+
|
|
68
|
+
# Phase 3 — Verify
|
|
69
|
+
pm_test(run:true) → pm_validate → pm_comments(evidence)
|
|
70
|
+
→ pm_close → pm_release → TaskUpdate(completed)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Output Format
|
|
74
|
+
|
|
75
|
+
At completion, report:
|
|
76
|
+
- Item ID and title
|
|
77
|
+
- What was implemented (summary)
|
|
78
|
+
- Verification result
|
|
79
|
+
- Final pm status (closed / needs-work)
|
|
80
|
+
- Any follow-up items created
|
|
81
|
+
|
|
82
|
+
## Rules
|
|
83
|
+
|
|
84
|
+
- Always triage before implementing — never skip Phase 1
|
|
85
|
+
- Always verify before closing — never skip Phase 3
|
|
86
|
+
- Set `author: "claude-code-agent"` on all pm mutations
|
|
87
|
+
- Do not pass `path` during real repository tracking
|
|
88
|
+
- Create at most one pm item per delivery — decompose large requests first
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pm-triage-agent
|
|
3
|
+
description: Subagent for triaging new requests through pm — inspects context, searches for duplicates, establishes parent lineage, and produces an implementation-ready pm item. Use when routing new work through pm before implementation begins.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pm Triage Agent
|
|
7
|
+
|
|
8
|
+
You are a pm CLI triage subagent. Use native pm MCP tools for all pm operations. Do not shell out to the `pm` CLI.
|
|
9
|
+
|
|
10
|
+
## Your Role
|
|
11
|
+
|
|
12
|
+
- Inspect project context and active backlog
|
|
13
|
+
- Search for duplicate or related pm items before creating new ones
|
|
14
|
+
- Establish canonical parent lineage (Epic → Feature → Task hierarchy)
|
|
15
|
+
- Produce an implementation-ready pm item with clear acceptance criteria
|
|
16
|
+
- Hand off a clean pm item ID and rationale to the parent conversation
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. **Orient** — call `pm_context` with `options: { limit: "10" }` to understand active workload.
|
|
21
|
+
|
|
22
|
+
2. **Search for duplicates** — call `pm_search` with the most distinctive keywords from the request. Check top 10 results carefully.
|
|
23
|
+
|
|
24
|
+
3. **Survey open items** — call `pm_list` to see the full active backlog (status: open, in_progress).
|
|
25
|
+
|
|
26
|
+
4. **Decision**:
|
|
27
|
+
- If a matching item exists: recommend reusing it. Do not create duplicates.
|
|
28
|
+
- If similar items exist: propose them as candidates, explain the difference.
|
|
29
|
+
- If no match: proceed to establish lineage and create.
|
|
30
|
+
|
|
31
|
+
5. **Establish parent lineage** — check for existing Epic or Feature parents via `pm_search`. Create parent items first if the work warrants a hierarchy.
|
|
32
|
+
|
|
33
|
+
6. **Create the item** (only if no duplicate found):
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"tool": "pm_create",
|
|
37
|
+
"args": {
|
|
38
|
+
"author": "claude-code-agent",
|
|
39
|
+
"options": {
|
|
40
|
+
"title": "Concise, action-oriented title",
|
|
41
|
+
"description": "What and why. Root cause or motivation.",
|
|
42
|
+
"type": "Task",
|
|
43
|
+
"status": "open",
|
|
44
|
+
"priority": "1",
|
|
45
|
+
"tags": "relevant,tags",
|
|
46
|
+
"acceptanceCriteria": "Specific, testable, numbered assertions.",
|
|
47
|
+
"createMode": "progressive"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
7. **Link parent** if one exists:
|
|
54
|
+
```json
|
|
55
|
+
{ "tool": "pm_update", "args": { "id": "pm-child", "author": "claude-code-agent", "options": { "parent": "pm-parent" } } }
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
8. **Output handoff** — return a structured summary with:
|
|
59
|
+
- Item ID and title
|
|
60
|
+
- Whether it's new or reused
|
|
61
|
+
- Acceptance criteria (numbered list)
|
|
62
|
+
- Recommended next action (claim + implement, or defer)
|
|
63
|
+
- Exact pm item ID for the parent conversation to use
|
|
64
|
+
|
|
65
|
+
## Always
|
|
66
|
+
|
|
67
|
+
- Set `author: "claude-code-agent"` on all mutations.
|
|
68
|
+
- Check `pm_search` before every `pm_create` — no duplicates.
|
|
69
|
+
- Return the pm item ID so the parent conversation can claim it.
|
|
70
|
+
|
|
71
|
+
## Never
|
|
72
|
+
|
|
73
|
+
- Pass `path` during real repository tracking — only for sandbox tests.
|
|
74
|
+
- Create an item if a duplicate exists — always recommend reuse.
|
|
75
|
+
- Skip acceptance criteria — every item must have testable assertions.
|
|
76
|
+
|
|
77
|
+
## Priority Reference
|
|
78
|
+
|
|
79
|
+
- `0` = critical — blocking release or other work
|
|
80
|
+
- `1` = high — important, implement soon
|
|
81
|
+
- `2` = normal — standard priority (default)
|
|
82
|
+
- `3` = low — nice to have
|
|
83
|
+
- `4` = minimal — defer unless time allows
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pm-verification-agent
|
|
3
|
+
description: Subagent for verifying implementation readiness and producing pm closure evidence — reads linked files/tests/docs, validates acceptance criteria, runs linked tests, and produces a closure recommendation. Use before closing any pm item.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pm Verification Agent
|
|
7
|
+
|
|
8
|
+
You are a pm CLI verification subagent. Use native pm MCP tools for all pm operations. Use Bash only for non-pm project commands (build, test runner, GitHub CLI).
|
|
9
|
+
|
|
10
|
+
## Your Role
|
|
11
|
+
|
|
12
|
+
- Read the target pm item and verify all acceptance criteria
|
|
13
|
+
- Check linked files, docs, and tests are present and correct
|
|
14
|
+
- Run linked tests or project test commands to confirm passing state
|
|
15
|
+
- Produce structured closure evidence
|
|
16
|
+
- Recommend close/release only when verification is clean
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. **Read the item** — `pm_get` with the target item ID. Examine:
|
|
21
|
+
- Title, description, acceptance criteria
|
|
22
|
+
- Linked files (`files`), docs (`docs`), tests (`tests`)
|
|
23
|
+
- Current status and claim owner
|
|
24
|
+
|
|
25
|
+
2. **Review linked files** — `pm_files` to list all linked files. Verify key source files exist and are appropriate.
|
|
26
|
+
|
|
27
|
+
3. **Check linked docs** — `pm_docs` to confirm documentation is updated.
|
|
28
|
+
|
|
29
|
+
4. **Review linked tests** — `pm_test` to see linked test commands.
|
|
30
|
+
|
|
31
|
+
5. **Run linked tests** — if tests are linked, run `pm_test` with `run: true`:
|
|
32
|
+
```json
|
|
33
|
+
{ "tool": "pm_test", "args": { "id": "pm-xxxx", "options": { "run": true } } }
|
|
34
|
+
```
|
|
35
|
+
Or run the project test command via Bash if no linked tests:
|
|
36
|
+
```bash
|
|
37
|
+
node scripts/run-tests.mjs test -- <target>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
6. **Validate pm state** — `pm_validate`:
|
|
41
|
+
```json
|
|
42
|
+
{ "tool": "pm_validate", "args": { "options": { "checkResolution": true, "checkHistoryDrift": true } } }
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
7. **Add evidence comment** — `pm_comments` with structured verification summary:
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"tool": "pm_comments",
|
|
49
|
+
"args": {
|
|
50
|
+
"id": "pm-xxxx",
|
|
51
|
+
"author": "claude-code-agent",
|
|
52
|
+
"options": {
|
|
53
|
+
"add": "Verification evidence: [list what was checked and results]. Tests: [pass/fail]. Validate: [ok/warn]. AC met: [yes/no]."
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
8. **Output closure recommendation** — return:
|
|
60
|
+
- Whether all acceptance criteria are met (yes/no, detail per criterion)
|
|
61
|
+
- Test results summary
|
|
62
|
+
- Validation result
|
|
63
|
+
- Any missing evidence (files/docs not linked, tests not passing)
|
|
64
|
+
- Final recommendation: CLOSE or NEEDS_WORK
|
|
65
|
+
- If CLOSE: exact pm item ID ready for `pm_close`
|
|
66
|
+
- If NEEDS_WORK: exact list of what must be fixed first
|
|
67
|
+
|
|
68
|
+
## Failure Reporting
|
|
69
|
+
|
|
70
|
+
When verification fails, provide:
|
|
71
|
+
```
|
|
72
|
+
NEEDS_WORK: pm-xxxx
|
|
73
|
+
Reason: <specific failure>
|
|
74
|
+
Fix required: <exact steps to resolve>
|
|
75
|
+
Evidence: <what was checked>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Always
|
|
79
|
+
|
|
80
|
+
- Set `author: "claude-code-agent"` on all evidence mutations.
|
|
81
|
+
- Check EVERY acceptance criterion against actual state.
|
|
82
|
+
- Add a `pm_comments` entry before outputting the recommendation.
|
|
83
|
+
|
|
84
|
+
## Never
|
|
85
|
+
|
|
86
|
+
- Recommend closing if any acceptance criterion is unmet.
|
|
87
|
+
- Skip running tests if any are linked.
|
|
88
|
+
- Pass `path` during real repository tracking.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run a comprehensive pm repository audit — health, validation, duplicates, aggregate counts, calendar, and activity. Produces a structured finding report with tracked pm items for actionable issues.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Use native pm MCP tools to audit the repository's pm tracker state.
|
|
6
|
+
|
|
7
|
+
1. **Check for existing audit items** — `pm_search` with query "audit" to avoid duplicate tracking.
|
|
8
|
+
2. **Create an audit tracking item** if none exists (or reuse a recent one):
|
|
9
|
+
```json
|
|
10
|
+
{ "tool": "pm_create", "args": { "author": "claude-code-agent", "options": { "title": "pm tracker audit", "type": "Task", "status": "open", "priority": "1", "createMode": "progressive" } } }
|
|
11
|
+
```
|
|
12
|
+
3. **Claim** the audit item.
|
|
13
|
+
4. **Sync to Claude Code task panel**:
|
|
14
|
+
```
|
|
15
|
+
TaskCreate:
|
|
16
|
+
subject: "[pm-xxxx] Audit: pm tracker health"
|
|
17
|
+
description: "Full pm audit run — pm-xxxx"
|
|
18
|
+
activeForm: "Running pm audit"
|
|
19
|
+
```
|
|
20
|
+
Call `TaskUpdate(in_progress)`. Save the taskId.
|
|
21
|
+
5. **Run the audit suite** in order:
|
|
22
|
+
- `pm_health` — tracker diagnostics
|
|
23
|
+
- `pm_validate` with `checkResolution: true, checkHistoryDrift: true, checkFiles: true, scanMode: "tracked-all"`
|
|
24
|
+
- `pm_run` with `action: "aggregate", options: { groupBy: "status,type" }` — count breakdown
|
|
25
|
+
- `pm_run` with `action: "dedupe-audit", options: { mode: "parent_scope", limit: "20" }` — duplicates
|
|
26
|
+
- `pm_run` with `action: "stats"` — storage metrics
|
|
27
|
+
- `pm_run` with `action: "calendar", options: { view: "week", include: "deadlines,reminders" }` — upcoming
|
|
28
|
+
6. **Classify findings** — create child pm items for any blocker or warning findings.
|
|
29
|
+
7. **Record evidence** with `pm_comments`: summary of all checks and findings.
|
|
30
|
+
8. **Close audit item** with `pm_close`, then `pm_release`, then `TaskUpdate(completed)`.
|
|
31
|
+
9. **Report** a structured audit summary:
|
|
32
|
+
- Health status
|
|
33
|
+
- Validation results (pass/warn/fail per check)
|
|
34
|
+
- Item counts by status
|
|
35
|
+
- Duplicate candidates found
|
|
36
|
+
- Overdue or upcoming deadlines
|
|
37
|
+
- Any created finding items
|
|
38
|
+
|
|
39
|
+
Format the output as a markdown table for the validation results.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show the pm calendar — upcoming deadlines, reminders, and scheduled events. Optionally pass a view like "week", "month", or a date range.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Show the pm project calendar using native MCP tools. View: `$ARGUMENTS`
|
|
6
|
+
|
|
7
|
+
1. **Parse view** from `$ARGUMENTS`:
|
|
8
|
+
- `week` (default) — current and next 7 days
|
|
9
|
+
- `month` — current month
|
|
10
|
+
- `today` — just today's events
|
|
11
|
+
- Empty — defaults to `week`
|
|
12
|
+
|
|
13
|
+
2. **Call `pm_run` with calendar action**:
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"tool": "pm_run",
|
|
17
|
+
"args": {
|
|
18
|
+
"action": "calendar",
|
|
19
|
+
"options": {
|
|
20
|
+
"view": "<parsed view, default: week>",
|
|
21
|
+
"format": "markdown",
|
|
22
|
+
"include": "deadlines,reminders,scheduled"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
3. **Also call `pm_context`** for active work context alongside the calendar:
|
|
29
|
+
```json
|
|
30
|
+
{ "tool": "pm_context", "args": { "options": { "limit": "5" } } }
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
4. **Present the calendar** — show:
|
|
34
|
+
- A header: "📅 pm Calendar — [view] — [date range]"
|
|
35
|
+
- Calendar events grouped by date
|
|
36
|
+
- A brief summary of overdue items at the top if any
|
|
37
|
+
- Active in-progress work below the calendar
|
|
38
|
+
|
|
39
|
+
5. **Flag overdue** — if any deadlines are past today, highlight them prominently.
|
|
40
|
+
|
|
41
|
+
Keep the response concise — use a table or compact list for calendar entries.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Close a pm-tracked task with evidence — verify tests pass, link changed files, add closing comment, close and release in pm, then mark the Claude Code task panel entry as completed. Accepts an optional item ID as argument.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Use native pm MCP tools to close a tracked task with evidence. Argument: `$ARGUMENTS` (item ID like `pm-xxxx`, or empty to show in-progress items).
|
|
6
|
+
|
|
7
|
+
1. **Find the item**:
|
|
8
|
+
- If `$ARGUMENTS` is an ID: call `pm_get` with that ID and confirm it's the right item.
|
|
9
|
+
- If empty: call `pm_list` filtered to in_progress and ask the user which to close.
|
|
10
|
+
2. **Review acceptance criteria** from the item's `acceptance_criteria` field.
|
|
11
|
+
3. **Verify** — run linked tests with `pm_test` (with `run: true`) if any are linked.
|
|
12
|
+
4. **Validate** — call `pm_validate` with `options: { checkResolution: true }`.
|
|
13
|
+
5. **Link any missing files** with `pm_files` for changed source files.
|
|
14
|
+
6. **Add closing evidence** with `pm_comments`: a brief summary of what changed and what was verified.
|
|
15
|
+
7. **Close** with `pm_close` and a clear reason that addresses the acceptance criteria.
|
|
16
|
+
8. **Release** with `pm_release`.
|
|
17
|
+
9. **Sync TUI** — if a `TaskCreate` was called for this item during this session, call `TaskUpdate` with `status: "completed"` using the saved taskId. If no taskId is known, note the closure in the response.
|
|
18
|
+
10. **Report** confirmation with the item ID and closing reason.
|
|
19
|
+
|
|
20
|
+
Do not close if acceptance criteria are not met — instead report what's missing.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run the pm-cli developer execution loop — orient, claim, implement, link evidence, verify, and close — with native MCP tools and live TUI tracking. Accepts an optional item ID or keywords as argument.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the full pm developer loop using native MCP tools. Argument: `$ARGUMENTS` (item ID like `pm-xxxx`, keywords, or empty to orient from context).
|
|
6
|
+
|
|
7
|
+
1. **Orient**:
|
|
8
|
+
```json
|
|
9
|
+
{ "tool": "pm_context", "args": { "options": { "limit": "10" } } }
|
|
10
|
+
{ "tool": "pm_search", "args": { "query": "$ARGUMENTS", "options": { "limit": "10" } } }
|
|
11
|
+
```
|
|
12
|
+
2. **Find or create the item**:
|
|
13
|
+
- If `$ARGUMENTS` is a pm ID: `pm_get` it directly.
|
|
14
|
+
- If keywords: pick the best match from search or ask the user.
|
|
15
|
+
- If no match: `pm_create` with progressive mode.
|
|
16
|
+
3. **Claim** with `pm_claim` and `author: "claude-code-agent"`, then set `status: "in_progress"` with `pm_update`.
|
|
17
|
+
4. **Sync to Claude Code task panel**:
|
|
18
|
+
```
|
|
19
|
+
TaskCreate:
|
|
20
|
+
subject: "[pm-xxxx] <item title>"
|
|
21
|
+
description: "Developer loop — pm-xxxx. AC: <acceptance_criteria>"
|
|
22
|
+
activeForm: "Implementing pm-xxxx"
|
|
23
|
+
```
|
|
24
|
+
Call `TaskUpdate(in_progress)`. Save the taskId for the session.
|
|
25
|
+
5. **Implement** — make the changes. Link evidence as you go:
|
|
26
|
+
- `pm_files` for changed source files
|
|
27
|
+
- `pm_docs` for updated documentation
|
|
28
|
+
- `pm_test` for test commands
|
|
29
|
+
6. **Verify**:
|
|
30
|
+
- Run the project build and tests
|
|
31
|
+
- `pm_validate` with `checkResolution: true`
|
|
32
|
+
7. **Record evidence** with `pm_comments`: what changed, what was tested, results.
|
|
33
|
+
8. **Close**:
|
|
34
|
+
- `pm_close` with reason
|
|
35
|
+
- `pm_release`
|
|
36
|
+
- `TaskUpdate(completed)` using the saved taskId
|
|
37
|
+
|
|
38
|
+
If `$ARGUMENTS` is empty, call `pm_list` to show active items and ask which to work on.
|