@unbrained/pm-cli 2026.5.6 → 2026.5.10
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 +26 -0
- package/.pi/extensions/pm-cli/index.js +147 -0
- package/.pi/prompts/pm-workflow.md +5 -0
- package/.pi/skills/pm-native/SKILL.md +40 -0
- package/.pi/skills/pm-release/SKILL.md +35 -0
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +6 -0
- package/PRD.md +16 -16
- package/README.md +22 -4
- 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 +33 -4
- 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.js +4 -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 +4 -4
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/docs.js +4 -4
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/files.js +10 -10
- 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/learnings.js +3 -3
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/notes.js +3 -3
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/reindex.js +18 -32
- 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 +30 -21
- 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 +4 -3
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update.js +118 -118
- 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/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/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 +1 -1
- package/dist/cli/register-setup.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/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 +3 -1
- package/dist/core/sentry/instrument.js +93 -9
- package/dist/core/sentry/instrument.js.map +1 -1
- package/dist/core/shared/constants.d.ts +1 -1
- package/dist/core/shared/constants.js +1 -1
- package/dist/core/shared/constants.js.map +1 -1
- 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 +1 -1
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings.js +6 -1
- package/dist/core/store/settings.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 +405 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/pi/native.d.ts +5 -0
- package/dist/pi/native.js +183 -0
- package/dist/pi/native.js.map +1 -0
- package/dist/sdk/cli-contracts.d.ts +3 -1
- package/dist/sdk/cli-contracts.js +67 -2
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/types.d.ts +10 -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 +186 -0
- package/docs/CODEX_PLUGIN.md +33 -0
- package/docs/COMMANDS.md +6 -2
- package/docs/CONFIGURATION.md +2 -8
- package/docs/EXTENSIONS.md +1 -0
- package/docs/PI_PACKAGE.md +56 -0
- package/docs/QUICKSTART.md +1 -0
- package/docs/README.md +30 -1
- package/docs/RELEASING.md +4 -2
- package/docs/SDK.md +3 -2
- 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 +184 -0
- package/plugins/pm-cli-claude/agents/pm-coordinator.md +48 -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 +55 -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
package/marketplace.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pm-cli",
|
|
3
|
+
"description": "Official marketplace for pm CLI — native git-based project management for Claude Code and AI coding agents.",
|
|
4
|
+
"owner": {
|
|
5
|
+
"name": "unbrained",
|
|
6
|
+
"url": "https://github.com/unbraind/pm-cli"
|
|
7
|
+
},
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "pm-cli",
|
|
11
|
+
"description": "Native pm CLI integration for Claude Code — 18 MCP tools, 5 workflow skills, 14 slash commands, hybrid TUI task tracking, session context injection, and a coordination subagent for git-based project management without leaving Claude Code.",
|
|
12
|
+
"version": "1.2.0",
|
|
13
|
+
"source": "./plugins/pm-cli-claude",
|
|
14
|
+
"author": {
|
|
15
|
+
"name": "unbrained",
|
|
16
|
+
"url": "https://github.com/unbraind/pm-cli"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://github.com/unbraind/pm-cli",
|
|
19
|
+
"repository": "https://github.com/unbraind/pm-cli",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"keywords": [
|
|
22
|
+
"pm-cli",
|
|
23
|
+
"project-management",
|
|
24
|
+
"mcp",
|
|
25
|
+
"tasks",
|
|
26
|
+
"agents",
|
|
27
|
+
"workflows",
|
|
28
|
+
"git-native",
|
|
29
|
+
"task-tracker",
|
|
30
|
+
"ai"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unbrained/pm-cli",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.10",
|
|
4
4
|
"description": "Git-native project management CLI for humans and agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "unbrained",
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
"url": "https://github.com/unbraind/pm-cli/issues"
|
|
14
14
|
},
|
|
15
15
|
"bin": {
|
|
16
|
-
"pm": "dist/cli.js"
|
|
16
|
+
"pm": "dist/cli.js",
|
|
17
|
+
"pm-mcp": "dist/mcp/server.js"
|
|
17
18
|
},
|
|
18
19
|
"types": "dist/sdk/index.d.ts",
|
|
19
20
|
"exports": {
|
|
@@ -45,9 +46,14 @@
|
|
|
45
46
|
"AGENTS.md",
|
|
46
47
|
"PRD.md",
|
|
47
48
|
"docs/**",
|
|
49
|
+
".claude-plugin/**",
|
|
50
|
+
"plugins/**",
|
|
51
|
+
".pi/**",
|
|
52
|
+
".agents/skills/**",
|
|
48
53
|
".agents/pm/extensions/**",
|
|
49
54
|
"scripts/install.sh",
|
|
50
|
-
"scripts/install.ps1"
|
|
55
|
+
"scripts/install.ps1",
|
|
56
|
+
"marketplace.json"
|
|
51
57
|
],
|
|
52
58
|
"scripts": {
|
|
53
59
|
"build": "tsc -p tsconfig.json",
|
|
@@ -57,6 +63,9 @@
|
|
|
57
63
|
"test": "node scripts/run-tests.mjs test",
|
|
58
64
|
"test:coverage": "node scripts/run-tests.mjs coverage",
|
|
59
65
|
"quality:static": "node scripts/release/static-quality-gate.mjs",
|
|
66
|
+
"quality:docs-skills": "node scripts/release/docs-skills-gate.mjs",
|
|
67
|
+
"smoke:codex-plugin": "node scripts/smoke-codex-plugin-mcp.mjs",
|
|
68
|
+
"smoke:claude-plugin": "node scripts/smoke-claude-plugin.mjs",
|
|
60
69
|
"version:check": "node scripts/release-version.mjs check",
|
|
61
70
|
"version:next": "node scripts/release-version.mjs next",
|
|
62
71
|
"release:notes": "node scripts/generate-release-notes.mjs",
|
|
@@ -79,15 +88,40 @@
|
|
|
79
88
|
"git-native",
|
|
80
89
|
"typescript",
|
|
81
90
|
"task-tracker",
|
|
82
|
-
"coding-agents"
|
|
91
|
+
"coding-agents",
|
|
92
|
+
"pi-package",
|
|
93
|
+
"pi-extension"
|
|
83
94
|
],
|
|
84
95
|
"license": "MIT",
|
|
85
96
|
"publishConfig": {
|
|
86
97
|
"access": "public"
|
|
87
98
|
},
|
|
99
|
+
"pi": {
|
|
100
|
+
"extensions": [
|
|
101
|
+
"./.pi/extensions/pm-cli/index.js"
|
|
102
|
+
],
|
|
103
|
+
"skills": [
|
|
104
|
+
"./.pi/skills"
|
|
105
|
+
],
|
|
106
|
+
"prompts": [
|
|
107
|
+
"./.pi/prompts"
|
|
108
|
+
]
|
|
109
|
+
},
|
|
88
110
|
"engines": {
|
|
89
111
|
"node": ">=20"
|
|
90
112
|
},
|
|
113
|
+
"peerDependencies": {
|
|
114
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
115
|
+
"typebox": "*"
|
|
116
|
+
},
|
|
117
|
+
"peerDependenciesMeta": {
|
|
118
|
+
"@earendil-works/pi-coding-agent": {
|
|
119
|
+
"optional": true
|
|
120
|
+
},
|
|
121
|
+
"typebox": {
|
|
122
|
+
"optional": true
|
|
123
|
+
}
|
|
124
|
+
},
|
|
91
125
|
"dependencies": {
|
|
92
126
|
"@sentry/node": "^10.51.0",
|
|
93
127
|
"@toon-format/toon": "^2.1.0",
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pm-cli",
|
|
3
|
+
"description": "Native pm CLI integration for Claude Code — 18 MCP tools, 5 workflow skills, 14 slash commands, hybrid TUI task tracking (pm as persistent store + Claude Code task panel as live view), session context injection, and a coordination subagent for git-based project management without leaving Claude Code.",
|
|
4
|
+
"version": "1.2.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "unbrained",
|
|
7
|
+
"url": "https://github.com/unbraind/pm-cli"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/unbraind/pm-cli",
|
|
10
|
+
"repository": "https://github.com/unbraind/pm-cli",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"pm-cli",
|
|
14
|
+
"project-management",
|
|
15
|
+
"mcp",
|
|
16
|
+
"tasks",
|
|
17
|
+
"agents",
|
|
18
|
+
"workflows",
|
|
19
|
+
"git-native",
|
|
20
|
+
"task-tracker",
|
|
21
|
+
"ai"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"pm-cli-native": {
|
|
4
|
+
"command": "node",
|
|
5
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/scripts/pm-mcp-server.mjs"],
|
|
6
|
+
"env": {
|
|
7
|
+
"PM_AUTHOR": "claude-code-agent"
|
|
8
|
+
},
|
|
9
|
+
"note": "Native pm-cli MCP server. Imports pm command modules directly — no pm shell invocation needed."
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
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.
|
|
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
|
+
| **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 |
|
|
13
|
+
| **Session hook** | Injects active pm item summary at session start when pm is initialized |
|
|
14
|
+
| **pm-coordinator agent** | Subagent for coordinating multi-item and batch operations |
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
### Option A: Plugin marketplace (recommended)
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
/plugin install pm-cli@pm-cli
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
This installs the plugin including all MCP tools, skills, slash commands, hybrid TUI tracking, and the session hook in one step.
|
|
25
|
+
|
|
26
|
+
To add the marketplace first (if not already configured):
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
claude plugin marketplace add /path/to/pm-cli
|
|
30
|
+
# or from GitHub:
|
|
31
|
+
# claude plugin marketplace add unbraind/pm-cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Option B: Global MCP server via Claude Code CLI (MCP tools only)
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
claude mcp add --transport stdio pm-cli-native -- npx -y @unbrained/pm-cli pm-mcp
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This gives you the 18 MCP tools but not the skills, slash commands, or session hook.
|
|
41
|
+
|
|
42
|
+
### Option C: Direct `.mcp.json` (project-scoped MCP only)
|
|
43
|
+
|
|
44
|
+
Add to your project's `.mcp.json` for MCP tools in a single project:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"mcpServers": {
|
|
49
|
+
"pm-cli-native": {
|
|
50
|
+
"command": "npx",
|
|
51
|
+
"args": ["-y", "@unbrained/pm-cli@latest", "pm-mcp"],
|
|
52
|
+
"env": {
|
|
53
|
+
"PM_AUTHOR": "claude-code-agent"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Quick Start
|
|
61
|
+
|
|
62
|
+
After installation, restart Claude Code. All tools are available immediately:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
Can you show me the current pm project status?
|
|
66
|
+
→ Claude uses pm_context + pm_run(calendar) automatically
|
|
67
|
+
|
|
68
|
+
Start working on the authentication bug.
|
|
69
|
+
→ Claude searches pm, finds or creates an item, claims it, syncs to task panel
|
|
70
|
+
|
|
71
|
+
Close pm-xxxx — the fix is complete.
|
|
72
|
+
→ Claude runs /pm-close-task pm-xxxx with evidence linking, closes pm item, marks task panel entry completed
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Hybrid TUI Task Tracking
|
|
76
|
+
|
|
77
|
+
pm items automatically sync to Claude Code's task panel during active sessions:
|
|
78
|
+
|
|
79
|
+
- **pm** = persistent cross-session store (git-native, tracked in `.agents/pm/`)
|
|
80
|
+
- **Claude Code task panel** = live session view with spinners and status
|
|
81
|
+
|
|
82
|
+
When you `/pm-start-task` or `/pm-developer`:
|
|
83
|
+
1. The pm item is claimed (`pm_claim`)
|
|
84
|
+
2. A matching entry appears in Claude Code's task panel with a spinner (`TaskCreate`)
|
|
85
|
+
3. Work progresses; evidence is linked in pm
|
|
86
|
+
4. On `/pm-close-task`, pm is closed AND the task panel entry shows ✔ completed
|
|
87
|
+
|
|
88
|
+
This means you get full history in pm (survives restarts, visible in `pm list`) and live visual feedback in the Claude Code session.
|
|
89
|
+
|
|
90
|
+
## Slash Commands
|
|
91
|
+
|
|
92
|
+
| Command | What it does |
|
|
93
|
+
|---------|-------------|
|
|
94
|
+
| `/pm-status` | Quick status snapshot — active items + calendar |
|
|
95
|
+
| `/pm-start-task [id or keywords]` | Find, claim, and start a pm item (with TUI sync) |
|
|
96
|
+
| `/pm-close-task [id]` | Verify, evidence, close, and release an item (marks TUI completed) |
|
|
97
|
+
| `/pm-triage <request>` | Triage a new request into pm tracking |
|
|
98
|
+
| `/pm-audit` | Full repository audit with findings (TUI tracked) |
|
|
99
|
+
| `/pm-search <query>` | Search pm items by keywords, tags, or status |
|
|
100
|
+
| `/pm-new <title>` | Quick-create a new pm item (with duplicate check) |
|
|
101
|
+
| `/pm-list [filter]` | List active or filtered pm items |
|
|
102
|
+
| `/pm-calendar [view]` | Show upcoming deadlines and calendar events |
|
|
103
|
+
| `/pm-developer [id or keywords]` | Full developer loop — claim, implement, verify, close |
|
|
104
|
+
| `/pm-planner [scope]` | Plan and decompose work — survey, create hierarchy, prioritize |
|
|
105
|
+
| `/pm-release [version or id]` | Release gates — build, tests, coverage, CI, publish |
|
|
106
|
+
| `/pm-workflow [id or description]` | General pm workflow loop with TUI tracking |
|
|
107
|
+
| `/pm-init [project name]` | Initialize pm in the current project |
|
|
108
|
+
|
|
109
|
+
## Skills
|
|
110
|
+
|
|
111
|
+
| Skill | When Claude uses it |
|
|
112
|
+
|-------|-------------------|
|
|
113
|
+
| `pm-workflow` | Any pm-tracked work — orient, claim, implement, close |
|
|
114
|
+
| `pm-developer` | Implementation tasks — code, tests, docs changes |
|
|
115
|
+
| `pm-release` | Release preparation — gates, tagging, publish |
|
|
116
|
+
| `pm-audit` | Repository health audits — validate, dedupe, aggregate |
|
|
117
|
+
| `pm-planner` | Planning — decompose epics, prioritize backlog, triage |
|
|
118
|
+
|
|
119
|
+
## MCP Tools Reference
|
|
120
|
+
|
|
121
|
+
### Narrow tools (prefer these)
|
|
122
|
+
|
|
123
|
+
| Tool | Purpose |
|
|
124
|
+
|------|---------|
|
|
125
|
+
| `pm_context` | Active work snapshot |
|
|
126
|
+
| `pm_search` | Keyword/semantic/hybrid search |
|
|
127
|
+
| `pm_list` | Filtered item list |
|
|
128
|
+
| `pm_get` | Single item detail |
|
|
129
|
+
| `pm_create` | Create new item |
|
|
130
|
+
| `pm_update` | Update metadata |
|
|
131
|
+
| `pm_claim` | Claim for active work |
|
|
132
|
+
| `pm_release` | Release claim |
|
|
133
|
+
| `pm_close` | Close with reason |
|
|
134
|
+
| `pm_comments` | List or add comments |
|
|
135
|
+
| `pm_files` | Link/unlink files |
|
|
136
|
+
| `pm_docs` | Link/unlink docs |
|
|
137
|
+
| `pm_test` | Link or run tests |
|
|
138
|
+
| `pm_validate` | Run validation checks |
|
|
139
|
+
| `pm_health` | Run health diagnostics |
|
|
140
|
+
| `pm_contracts` | Inspect command contracts |
|
|
141
|
+
| `pm_guide` | Read guide topics |
|
|
142
|
+
|
|
143
|
+
### General tool
|
|
144
|
+
|
|
145
|
+
| Tool | Purpose |
|
|
146
|
+
|------|---------|
|
|
147
|
+
| `pm_run` | Any pm action not covered above — pass `action` field |
|
|
148
|
+
|
|
149
|
+
**`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`
|
|
150
|
+
|
|
151
|
+
## Hybrid TUI Sync Pattern
|
|
152
|
+
|
|
153
|
+
All skills and commands implement this pattern for every claimed item:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
1. pm_claim → [pm stores claim]
|
|
157
|
+
2. TaskCreate { subject: "[pm-xxxx] title", activeForm: "Working on pm-xxxx" }
|
|
158
|
+
→ [spinner appears in Claude Code task panel]
|
|
159
|
+
3. TaskUpdate { status: "in_progress" }
|
|
160
|
+
4. ... do work, link evidence in pm ...
|
|
161
|
+
5. pm_close → pm_release → [pm stores closure]
|
|
162
|
+
6. TaskUpdate { status: "completed" }
|
|
163
|
+
→ [✔ appears in Claude Code task panel]
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Safety
|
|
167
|
+
|
|
168
|
+
- Never pass `path` during real repository tracking — only use it for sandbox/test runs.
|
|
169
|
+
- Set `author: "claude-code-agent"` on all mutations.
|
|
170
|
+
- Run `pm_validate` before closing items.
|
|
171
|
+
- For tests, pass a sandbox `cwd` and set `PM_GLOBAL_PATH` to an isolated path.
|
|
172
|
+
|
|
173
|
+
## Requirements
|
|
174
|
+
|
|
175
|
+
- Node.js ≥ 20
|
|
176
|
+
- pm CLI available via npx (auto-resolved) or installed globally: `npm install -g @unbrained/pm-cli`
|
|
177
|
+
- Project initialized with `pm init` (or use `/pm-init`)
|
|
178
|
+
|
|
179
|
+
## Links
|
|
180
|
+
|
|
181
|
+
- [pm CLI docs](https://github.com/unbraind/pm-cli/tree/main/docs)
|
|
182
|
+
- [Command reference](https://github.com/unbraind/pm-cli/blob/main/docs/COMMANDS.md)
|
|
183
|
+
- [Architecture guide](https://github.com/unbraind/pm-cli/blob/main/docs/ARCHITECTURE.md)
|
|
184
|
+
- [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,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.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize pm in the current project — creates the .agents/pm/ tracker directory, sets up default settings, and shows a quick-start summary. Accepts an optional project name as argument.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Initialize pm project tracking using native MCP tools. Argument: `$ARGUMENTS` (optional project name).
|
|
6
|
+
|
|
7
|
+
1. **Check if already initialized** — look for `.agents/pm/settings.json` in the current directory:
|
|
8
|
+
```json
|
|
9
|
+
{ "tool": "pm_health", "args": {} }
|
|
10
|
+
```
|
|
11
|
+
If health returns `ok: true`, pm is already initialized — show the current status with `pm_context` and stop.
|
|
12
|
+
|
|
13
|
+
2. **Run init** via `pm_run`:
|
|
14
|
+
```json
|
|
15
|
+
{ "tool": "pm_run", "args": { "action": "init", "options": {} } }
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
3. **Verify initialization** — call `pm_health` again to confirm `ok: true`.
|
|
19
|
+
|
|
20
|
+
4. **Create a first item** (optional) — if `$ARGUMENTS` is a project name or description, offer to create an initial Epic:
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"tool": "pm_create",
|
|
24
|
+
"args": {
|
|
25
|
+
"author": "claude-code-agent",
|
|
26
|
+
"options": {
|
|
27
|
+
"title": "<project name> — initial setup",
|
|
28
|
+
"type": "Epic",
|
|
29
|
+
"status": "open",
|
|
30
|
+
"priority": "1",
|
|
31
|
+
"description": "Top-level epic for tracking <project name> work.",
|
|
32
|
+
"createMode": "progressive"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
5. **Show quick-start summary**:
|
|
39
|
+
- pm initialized at `.agents/pm/`
|
|
40
|
+
- Available slash commands: `/pm-status`, `/pm-new`, `/pm-start-task`, `/pm-close-task`, `/pm-list`, `/pm-search`, `/pm-triage`, `/pm-calendar`, `/pm-developer`, `/pm-planner`, `/pm-release`, `/pm-audit`, `/pm-workflow`
|
|
41
|
+
- All 18 MCP tools available: `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`, `pm_run`
|
|
42
|
+
- Next: use `/pm-new <title>` to create your first item, or `/pm-status` to see the tracker state
|
|
43
|
+
|
|
44
|
+
If initialization fails, report the error and suggest running `pm init` manually in the terminal.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List pm items with optional status or type filter. Pass a filter like "open", "in_progress", "blocked", "bugs", or leave empty for active items.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
List pm items using native MCP tools. Filter: `$ARGUMENTS`
|
|
6
|
+
|
|
7
|
+
1. **Parse filter** from `$ARGUMENTS`:
|
|
8
|
+
- Status keywords: `open`, `in_progress`, `in-progress`, `blocked`, `draft`, `closed`, `canceled`, `all`
|
|
9
|
+
- Type keywords: `task`, `bug`, `feature`, `epic`, `story`
|
|
10
|
+
- Combined: e.g. "open bugs", "blocked features"
|
|
11
|
+
- Empty: show active items (excludes closed/canceled)
|
|
12
|
+
|
|
13
|
+
2. **Call `pm_list`** with the parsed filter:
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"tool": "pm_list",
|
|
17
|
+
"args": {
|
|
18
|
+
"options": {
|
|
19
|
+
"status": "<parsed status or omit>",
|
|
20
|
+
"type": "<parsed type or omit>",
|
|
21
|
+
"limit": "25"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
For `all`, use `pm_list` with no status filter.
|
|
27
|
+
|
|
28
|
+
3. **If filter is empty** (active items) — also call `pm_context` for a richer summary:
|
|
29
|
+
```json
|
|
30
|
+
{ "tool": "pm_context", "args": { "options": { "limit": "10" } } }
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
4. **Present results** — format as a table or grouped list:
|
|
34
|
+
| ID | Title | Status | Type | Priority |
|
|
35
|
+
|----|-------|--------|------|----------|
|
|
36
|
+
|
|
37
|
+
5. **Show counts** — summarize: "X open, Y in_progress, Z blocked" at the top.
|
|
38
|
+
|
|
39
|
+
Keep the response under 400 words unless there are many items to show.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Quickly create a new pm item — duplicate-checks first, then creates with sensible defaults. Pass a title (or title + description) as argument.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Create a new pm item using native MCP tools. Input: `$ARGUMENTS`
|
|
6
|
+
|
|
7
|
+
1. **Parse input** — treat `$ARGUMENTS` as the item title. If it contains a pipe (`|`) or newline, split into title | description.
|
|
8
|
+
2. **Duplicate check** — call `pm_search` with the title keywords:
|
|
9
|
+
```json
|
|
10
|
+
{ "tool": "pm_search", "args": { "query": "$ARGUMENTS", "options": { "limit": "5" } } }
|
|
11
|
+
```
|
|
12
|
+
If a close match exists, show it and ask: "Is this a duplicate, or is this a new separate item?"
|
|
13
|
+
3. **Get context** — call `pm_context` to understand current workload before creating:
|
|
14
|
+
```json
|
|
15
|
+
{ "tool": "pm_context", "args": { "options": { "limit": "5" } } }
|
|
16
|
+
```
|
|
17
|
+
4. **Create** — if no duplicate and user confirms, call `pm_create`:
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"tool": "pm_create",
|
|
21
|
+
"args": {
|
|
22
|
+
"author": "claude-code-agent",
|
|
23
|
+
"options": {
|
|
24
|
+
"title": "<from $ARGUMENTS>",
|
|
25
|
+
"description": "<inferred or from input>",
|
|
26
|
+
"type": "Task",
|
|
27
|
+
"status": "open",
|
|
28
|
+
"priority": "2",
|
|
29
|
+
"createMode": "progressive"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
5. **Report** — show the created item ID, title, and ask if it should be claimed immediately.
|
|
35
|
+
|
|
36
|
+
If `$ARGUMENTS` is empty, ask for the title interactively before creating.
|