openplanr 2.0.0 → 2.1.0
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/CHANGELOG.md +14 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +5 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +1 -1
- package/dist/dashboard/assets/{index-zeygL5iu.js → index-BCvntXFj.js} +2 -2
- package/dist/dashboard/assets/{index-zeygL5iu.js.map → index-BCvntXFj.js.map} +1 -1
- package/dist/dashboard/dashboard-manifest.json +13 -13
- package/dist/dashboard/index.html +1 -1
- package/dist/generators/claude-generator.d.ts +2 -0
- package/dist/generators/claude-generator.d.ts.map +1 -1
- package/dist/generators/claude-generator.js +12 -0
- package/dist/generators/claude-generator.js.map +1 -1
- package/dist/generators/codex-generator.d.ts.map +1 -1
- package/dist/generators/codex-generator.js +7 -1
- package/dist/generators/codex-generator.js.map +1 -1
- package/dist/services/capability-map-service.d.ts +58 -0
- package/dist/services/capability-map-service.d.ts.map +1 -0
- package/dist/services/capability-map-service.js +58 -0
- package/dist/services/capability-map-service.js.map +1 -0
- package/dist/services/upgrade-service.d.ts +20 -0
- package/dist/services/upgrade-service.d.ts.map +1 -1
- package/dist/services/upgrade-service.js +90 -37
- package/dist/services/upgrade-service.js.map +1 -1
- package/dist/templates/rules/claude/CLAUDE.md.hbs +4 -0
- package/dist/templates/rules/shared/capability-map.md.hbs +23 -0
- package/docs/CLI.md +23 -3
- package/lib/host-packages/adapter-registry.json +1 -1
- package/lib/host-packages/capability-map.json +494 -0
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +15 -7
- package/lib/host-packages/claude/openplanr/skills/artifact/references/company-review.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/claude/openplanr/skills/openplanr/SKILL.md +48 -0
- package/lib/host-packages/claude/openplanr/skills/openplanr/openplanr.skill.json +26 -0
- package/lib/host-packages/claude/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/cursor/openplanr/.openplanr-content.json +12 -8
- package/lib/host-packages/cursor/openplanr/manifest.json +2 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-openplanr.mdc +47 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/openai/openplanr/.openplanr-content.json +19 -7
- package/lib/host-packages/openai/openplanr/skills/artifact/references/company-review.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/openplanr/SKILL.md +48 -0
- package/lib/host-packages/openai/openplanr/skills/openplanr/agents/openai.yaml +6 -0
- package/lib/host-packages/openai/openplanr/skills/openplanr/openplanr.skill.json +26 -0
- package/lib/host-packages/openai/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
## OpenPlanr capabilities
|
|
2
|
+
|
|
3
|
+
Every skill below is model-invoked: reach for it as soon as a request matches,
|
|
4
|
+
without waiting to be asked by name. When no single skill clearly fits, start
|
|
5
|
+
with `{{prefix}}openplanr`, which routes to the best one. PLAN and SHIP stay
|
|
6
|
+
separate user-invoked workflows.
|
|
7
|
+
{{#each families}}
|
|
8
|
+
|
|
9
|
+
### {{{this.title}}}
|
|
10
|
+
|
|
11
|
+
{{#each this.skills}}
|
|
12
|
+
- `{{@root.prefix}}{{this.name}}` — {{{this.lead}}} Use when: {{{this.useWhen}}}.{{#if this.notFor}} Not for: {{{this.notFor}}}.{{/if}}
|
|
13
|
+
{{/each}}
|
|
14
|
+
{{/each}}
|
|
15
|
+
{{#if agents}}
|
|
16
|
+
|
|
17
|
+
### Delegated agents
|
|
18
|
+
|
|
19
|
+
The Ship workflow dispatches these subagents itself; do not start them by hand.
|
|
20
|
+
{{#each agents}}
|
|
21
|
+
- `{{this.id}}` — {{{this.summary}}}
|
|
22
|
+
{{/each}}
|
|
23
|
+
{{/if}}
|
package/docs/CLI.md
CHANGED
|
@@ -59,9 +59,21 @@ These options apply to **all** commands:
|
|
|
59
59
|
The company route connects an explicitly configured workspace to selected local artifacts. Existing encrypted token shares remain separate. Sign in through the browser and choose the organization in the identity provider's consent screen:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
planr company login
|
|
62
|
+
planr company login
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The normal customer flow needs no service URL or output flag. For a remote or
|
|
66
|
+
headless session, print the authorization URL instead of launching it:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
63
69
|
# Print the browser URL instead of launching it; open it on this same computer
|
|
64
|
-
planr company login --no-open --timeout 300
|
|
70
|
+
planr company login --no-open --timeout 300
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Structured output is available for automation:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
planr company login --json
|
|
65
77
|
planr company logout --json
|
|
66
78
|
```
|
|
67
79
|
|
|
@@ -541,7 +553,9 @@ Failures from packet commands are bounded in both human and `--json` output;
|
|
|
541
553
|
machine output contains `ok`, `code`, and `problem` without stack traces or host
|
|
542
554
|
paths. For setup or command parity failures, run `planr doctor --strict --json`.
|
|
543
555
|
Use `planr upgrade status`, then `planr upgrade apply` when doctor reports an
|
|
544
|
-
incompatible installed CLI.
|
|
556
|
+
incompatible installed CLI. The published compatible set is read from the npm
|
|
557
|
+
registry's `latest` CLI document (its version and the exact `planr-pipeline` it
|
|
558
|
+
bundles); `OPENPLANR_ECOSYSTEM_SOURCE` points the check at another URL or file.
|
|
545
559
|
|
|
546
560
|
### `planr artifact`
|
|
547
561
|
|
|
@@ -634,6 +648,12 @@ planr sync # fix broken cross-references
|
|
|
634
648
|
planr sync --dry-run # preview changes without writing
|
|
635
649
|
```
|
|
636
650
|
|
|
651
|
+
With the pipeline scope, `CLAUDE.md` and `AGENTS.md` also receive a generated
|
|
652
|
+
`## OpenPlanr capabilities` section listing every skill (with its triggers) and,
|
|
653
|
+
for Claude Code, the delegated agents, read from the shipped capability map.
|
|
654
|
+
Start with `/planr:openplanr` (`$planr:openplanr` in Codex) when the right
|
|
655
|
+
skill is unclear.
|
|
656
|
+
|
|
637
657
|
| Option | Description | Default |
|
|
638
658
|
| ----------- | -------------------------------------------- | ------- |
|
|
639
659
|
| `--dry-run` | Show what would change without writing files | `false` |
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "openplanr-capability-map",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"pluginVersion": "0.1.0",
|
|
5
|
+
"families": [
|
|
6
|
+
{
|
|
7
|
+
"id": "planning",
|
|
8
|
+
"title": "Plan and specify"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": "implementation",
|
|
12
|
+
"title": "Implement"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "quality",
|
|
16
|
+
"title": "Review and QA"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "design",
|
|
20
|
+
"title": "Design"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "diagram",
|
|
24
|
+
"title": "Diagrams"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "artifact",
|
|
28
|
+
"title": "Artifact reviews"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "release",
|
|
32
|
+
"title": "Land and release"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "diagnostics",
|
|
36
|
+
"title": "Setup and diagnostics"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "planning-tools",
|
|
40
|
+
"title": "Status, routing and sync"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "operate",
|
|
44
|
+
"title": "Operate"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "operate-advisor",
|
|
48
|
+
"title": "Operate advisors"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "operate-synthesis",
|
|
52
|
+
"title": "Operate synthesis"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"skills": [
|
|
56
|
+
{
|
|
57
|
+
"id": "planr-artifact",
|
|
58
|
+
"name": "artifact",
|
|
59
|
+
"family": "artifact",
|
|
60
|
+
"description": "Open, share, import, or export an OpenPlanr HTML artifact review. Use when feedback must move between a local artifact and its review board.",
|
|
61
|
+
"useWhen": [
|
|
62
|
+
"Open or share an HTML artifact review",
|
|
63
|
+
"Import artifact feedback and export the reviewed artifact"
|
|
64
|
+
],
|
|
65
|
+
"notFor": [
|
|
66
|
+
"Review source code changes",
|
|
67
|
+
"Create a product interface design"
|
|
68
|
+
],
|
|
69
|
+
"deferTo": []
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "planr-browser-qa",
|
|
73
|
+
"name": "browser-qa",
|
|
74
|
+
"family": "quality",
|
|
75
|
+
"description": "Run practical browser-backed QA against real routes, forms, viewports, accessibility, console, and network behavior. Use for UI, authentication, session, navigation, or browser-network changes.",
|
|
76
|
+
"useWhen": [
|
|
77
|
+
"Test this page or application in a real browser",
|
|
78
|
+
"Check routes, forms, mobile viewports, accessibility, console, and network behavior"
|
|
79
|
+
],
|
|
80
|
+
"notFor": [
|
|
81
|
+
"Run backend unit tests only",
|
|
82
|
+
"Review a plan without exercising a browser"
|
|
83
|
+
],
|
|
84
|
+
"deferTo": []
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "planr-ceo-review",
|
|
88
|
+
"name": "ceo-review",
|
|
89
|
+
"family": "operate-advisor",
|
|
90
|
+
"description": "Produce a grounded strategy and finance review for an Operate cycle. Use when direction, runway, margin, investment, or cost of delay needs a CEO lens.",
|
|
91
|
+
"useWhen": [
|
|
92
|
+
"Run a CEO strategy and finance review",
|
|
93
|
+
"Assess direction, runway, margin, investment, or cost of delay"
|
|
94
|
+
],
|
|
95
|
+
"notFor": [
|
|
96
|
+
"Review implementation details",
|
|
97
|
+
"Assess only product usability"
|
|
98
|
+
],
|
|
99
|
+
"deferTo": []
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "planr-chair-review",
|
|
103
|
+
"name": "chair-review",
|
|
104
|
+
"family": "operate-synthesis",
|
|
105
|
+
"description": "Synthesize an Operate cycle into a prioritized decision queue and action plan. Use after specialist reviews when leadership needs one coherent brief.",
|
|
106
|
+
"useWhen": [
|
|
107
|
+
"Synthesize executive reviews into a decision queue",
|
|
108
|
+
"Turn operating-review findings into prioritized decisions and actions"
|
|
109
|
+
],
|
|
110
|
+
"notFor": [
|
|
111
|
+
"Produce an independent specialist review",
|
|
112
|
+
"Implement the recommended actions"
|
|
113
|
+
],
|
|
114
|
+
"deferTo": []
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "planr-challenger-review",
|
|
118
|
+
"name": "challenger-review",
|
|
119
|
+
"family": "operate-synthesis",
|
|
120
|
+
"description": "Challenge an Operate cycle's claims, alternatives, downside, and confidence. Use when assumptions or executive consensus need an independent stress test.",
|
|
121
|
+
"useWhen": [
|
|
122
|
+
"Challenge operating-review assumptions and downside",
|
|
123
|
+
"Test material claims, alternatives, confidence, and dissent"
|
|
124
|
+
],
|
|
125
|
+
"notFor": [
|
|
126
|
+
"Summarize reviews without challenging them",
|
|
127
|
+
"Implement a proposed decision"
|
|
128
|
+
],
|
|
129
|
+
"deferTo": []
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "planr-cmo-review",
|
|
133
|
+
"name": "cmo-review",
|
|
134
|
+
"family": "operate-advisor",
|
|
135
|
+
"description": "Produce a grounded market and growth review for an Operate cycle. Use when acquisition, positioning, demand, retention, or missing measurement needs a CMO lens.",
|
|
136
|
+
"useWhen": [
|
|
137
|
+
"Run a market and growth review",
|
|
138
|
+
"Assess acquisition, positioning, demand, channels, or growth measurement"
|
|
139
|
+
],
|
|
140
|
+
"notFor": [
|
|
141
|
+
"Review backend architecture",
|
|
142
|
+
"Assess internal delivery mechanics only"
|
|
143
|
+
],
|
|
144
|
+
"deferTo": []
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "planr-coo-review",
|
|
148
|
+
"name": "coo-review",
|
|
149
|
+
"family": "operate-advisor",
|
|
150
|
+
"description": "Produce a grounded operations and customer-health review for an Operate cycle. Use when readiness, service delivery, capacity, or customer health needs a COO lens.",
|
|
151
|
+
"useWhen": [
|
|
152
|
+
"Run an operations and customer-health review",
|
|
153
|
+
"Assess readiness, support, reliability, process, or customer operations"
|
|
154
|
+
],
|
|
155
|
+
"notFor": [
|
|
156
|
+
"Review company strategy only",
|
|
157
|
+
"Design a product interface"
|
|
158
|
+
],
|
|
159
|
+
"deferTo": []
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "planr-cpo-review",
|
|
163
|
+
"name": "cpo-review",
|
|
164
|
+
"family": "operate-advisor",
|
|
165
|
+
"description": "Produce a grounded product and activation review for an Operate cycle. Use when customer value, activation, prioritization, or adoption needs a CPO lens.",
|
|
166
|
+
"useWhen": [
|
|
167
|
+
"Run a product and activation review",
|
|
168
|
+
"Assess customer value, adoption, activation, retention, or product outcomes"
|
|
169
|
+
],
|
|
170
|
+
"notFor": [
|
|
171
|
+
"Review infrastructure only",
|
|
172
|
+
"Assess financial runway only"
|
|
173
|
+
],
|
|
174
|
+
"deferTo": []
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "planr-cto-review",
|
|
178
|
+
"name": "cto-review",
|
|
179
|
+
"family": "operate-advisor",
|
|
180
|
+
"description": "Produce a grounded technology and delivery-risk review for an Operate cycle. Use when architecture, reliability, security, or execution risk needs a CTO lens.",
|
|
181
|
+
"useWhen": [
|
|
182
|
+
"Run a technology and delivery-risk review",
|
|
183
|
+
"Assess architecture, security, reliability, technical debt, or delivery risk"
|
|
184
|
+
],
|
|
185
|
+
"notFor": [
|
|
186
|
+
"Review marketing channels",
|
|
187
|
+
"Assess financial runway only"
|
|
188
|
+
],
|
|
189
|
+
"deferTo": []
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"id": "planr-dashboard",
|
|
193
|
+
"name": "dashboard",
|
|
194
|
+
"family": "planning-tools",
|
|
195
|
+
"description": "Start or inspect the loopback-only OpenPlanr planning dashboard. Use when the user wants to view local planning or Operate state in the browser.",
|
|
196
|
+
"useWhen": [
|
|
197
|
+
"Open or inspect the local OpenPlanr dashboard",
|
|
198
|
+
"Show planning and Operate workspaces visually"
|
|
199
|
+
],
|
|
200
|
+
"notFor": [
|
|
201
|
+
"Return a short text delivery status",
|
|
202
|
+
"Create a product dashboard design"
|
|
203
|
+
],
|
|
204
|
+
"deferTo": []
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"id": "planr-design",
|
|
208
|
+
"name": "design",
|
|
209
|
+
"family": "design",
|
|
210
|
+
"description": "Design a polished product interface through adaptive consultation, a shared canvas/prototype/walkthrough studio, and an implementation-ready specification. Use for a new design or an existing interface that needs a coherent direction.",
|
|
211
|
+
"useWhen": [
|
|
212
|
+
"Create an initial product design direction",
|
|
213
|
+
"Start the OpenPlanr design workflow for a feature"
|
|
214
|
+
],
|
|
215
|
+
"notFor": [
|
|
216
|
+
"Review an existing completed design",
|
|
217
|
+
"Explore several competing design variants"
|
|
218
|
+
],
|
|
219
|
+
"deferTo": []
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"id": "planr-design-loop",
|
|
223
|
+
"name": "design-loop",
|
|
224
|
+
"family": "design",
|
|
225
|
+
"description": "Compare three materially different product design directions in a live review studio, collect pins and ratings, and develop the selected direction. Use for visual alternatives, comparison or a remix.",
|
|
226
|
+
"useWhen": [
|
|
227
|
+
"Explore multiple design directions or variants",
|
|
228
|
+
"Iterate a design using pinned board feedback"
|
|
229
|
+
],
|
|
230
|
+
"notFor": [
|
|
231
|
+
"Create only one initial design",
|
|
232
|
+
"Review an existing design without generating variants"
|
|
233
|
+
],
|
|
234
|
+
"deferTo": []
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"id": "planr-design-review",
|
|
238
|
+
"name": "design-review",
|
|
239
|
+
"family": "design",
|
|
240
|
+
"description": "Review and revise an existing product design using stable board pins and scoped browser-verified changes. Use for focused improvements while preserving unrelated screens and feedback.",
|
|
241
|
+
"useWhen": [
|
|
242
|
+
"Review or critique an existing OpenPlanr design",
|
|
243
|
+
"Apply pinned feedback to affected design regions"
|
|
244
|
+
],
|
|
245
|
+
"notFor": [
|
|
246
|
+
"Create an initial design from scratch",
|
|
247
|
+
"Implement backend code"
|
|
248
|
+
],
|
|
249
|
+
"deferTo": []
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"id": "planr-diagram",
|
|
253
|
+
"name": "diagram",
|
|
254
|
+
"family": "diagram",
|
|
255
|
+
"description": "Create, inspect, verify, or rerender professional offline diagrams. Use for architecture, process, sequence, data, state, or relationship visuals from intent or source.",
|
|
256
|
+
"useWhen": [
|
|
257
|
+
"Create a professional diagram from English intent or Mermaid",
|
|
258
|
+
"Inspect, verify, preview, or rerender an OpenPlanr diagram set"
|
|
259
|
+
],
|
|
260
|
+
"notFor": [
|
|
261
|
+
"Create a product interface design",
|
|
262
|
+
"Open a generic artifact that is not a diagram"
|
|
263
|
+
],
|
|
264
|
+
"deferTo": []
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "planr-doctor",
|
|
268
|
+
"name": "doctor",
|
|
269
|
+
"family": "diagnostics",
|
|
270
|
+
"description": "Diagnose OpenPlanr CLI, pipeline, runtime-adapter, installation, and lock health. Use when setup, discovery, versions, generated assets, or runtime behavior seems wrong.",
|
|
271
|
+
"useWhen": [
|
|
272
|
+
"Diagnose OpenPlanr installation, runtime, adapter, version, or lock health",
|
|
273
|
+
"Check why planr setup or upgrade is unhealthy"
|
|
274
|
+
],
|
|
275
|
+
"notFor": [
|
|
276
|
+
"Diagnose an application bug",
|
|
277
|
+
"Implement a feature"
|
|
278
|
+
],
|
|
279
|
+
"deferTo": []
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"id": "planr-investigate",
|
|
283
|
+
"name": "investigate",
|
|
284
|
+
"family": "diagnostics",
|
|
285
|
+
"description": "Diagnose a bug, regression, error, or unexplained behavior and optionally implement a bounded fix. Use for root-cause investigation, not planned feature delivery.",
|
|
286
|
+
"useWhen": [
|
|
287
|
+
"Investigate a bug, regression, error, or unexplained behavior",
|
|
288
|
+
"Reproduce a defect, establish its root cause, or apply a bounded fix",
|
|
289
|
+
"Investigate why this fails"
|
|
290
|
+
],
|
|
291
|
+
"notFor": [
|
|
292
|
+
"Plan a new feature",
|
|
293
|
+
"Run a broad product review"
|
|
294
|
+
],
|
|
295
|
+
"deferTo": []
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"id": "planr-land",
|
|
299
|
+
"name": "land",
|
|
300
|
+
"family": "release",
|
|
301
|
+
"description": "Assess release readiness and prepare or inspect an OpenPlanr landing sequence. Use after implementation and checks are complete, before merge, publication, or deployment.",
|
|
302
|
+
"useWhen": [
|
|
303
|
+
"Prepare or inspect a landing and release plan",
|
|
304
|
+
"Check whether reviewed work is ready to land without deploying it"
|
|
305
|
+
],
|
|
306
|
+
"notFor": [
|
|
307
|
+
"Build a new application feature",
|
|
308
|
+
"Deploy or publish immediately"
|
|
309
|
+
],
|
|
310
|
+
"deferTo": []
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"id": "planr-openplanr",
|
|
314
|
+
"name": "openplanr",
|
|
315
|
+
"family": "planning-tools",
|
|
316
|
+
"description": "Route a planning, specification, delivery, design, review, diagram, release, or operating request to the best OpenPlanr skill. Use when the right skill is unclear or the request spans several.",
|
|
317
|
+
"useWhen": [
|
|
318
|
+
"Choose which OpenPlanr skill should handle a request",
|
|
319
|
+
"Route a mixed or unclear planning, delivery, design, or operating request"
|
|
320
|
+
],
|
|
321
|
+
"notFor": [
|
|
322
|
+
"Perform the routed work itself",
|
|
323
|
+
"Answer a question unrelated to OpenPlanr workflows"
|
|
324
|
+
],
|
|
325
|
+
"deferTo": []
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"id": "planr-operate",
|
|
329
|
+
"name": "operate",
|
|
330
|
+
"family": "operate",
|
|
331
|
+
"description": "Run a focused operating review across seven executive lenses and produce a decision and action brief. Use for periodic product or company-level leadership review.",
|
|
332
|
+
"useWhen": [
|
|
333
|
+
"Run an executive operating review across product, technology, growth, operations, and strategy",
|
|
334
|
+
"Produce a decision and action brief for the product or company"
|
|
335
|
+
],
|
|
336
|
+
"notFor": [
|
|
337
|
+
"Review only a code diff",
|
|
338
|
+
"Implement the resulting actions"
|
|
339
|
+
],
|
|
340
|
+
"deferTo": []
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"id": "planr-plan",
|
|
344
|
+
"name": "plan",
|
|
345
|
+
"family": "planning",
|
|
346
|
+
"description": "Turn a Protocol-compatible specification or product intent into schema-compatible OpenPlanr stories and implementation tasks. Use for planning and decomposition, not implementation.",
|
|
347
|
+
"useWhen": [
|
|
348
|
+
"Decompose a specification into user stories and implementation tasks",
|
|
349
|
+
"Create an implementation plan from product intent"
|
|
350
|
+
],
|
|
351
|
+
"notFor": [
|
|
352
|
+
"Implement the plan",
|
|
353
|
+
"Review an already written plan"
|
|
354
|
+
],
|
|
355
|
+
"deferTo": []
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"id": "planr-plan-review",
|
|
359
|
+
"name": "plan-review",
|
|
360
|
+
"family": "planning",
|
|
361
|
+
"description": "Review an OpenPlanr plan for product, engineering, design, and developer-experience problems. Use after planning and before implementation to improve the plan.",
|
|
362
|
+
"useWhen": [
|
|
363
|
+
"Review an implementation plan for product, engineering, design, and developer-experience problems",
|
|
364
|
+
"Challenge a plan before implementation"
|
|
365
|
+
],
|
|
366
|
+
"notFor": [
|
|
367
|
+
"Implement the plan",
|
|
368
|
+
"Write a new specification from vague intent"
|
|
369
|
+
],
|
|
370
|
+
"deferTo": []
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"id": "planr-release",
|
|
374
|
+
"name": "release",
|
|
375
|
+
"family": "release",
|
|
376
|
+
"description": "Choose and maintain a product's versioning scheme, classify shipped changes, and write user-facing changelogs or release notes. Use for SemVer or CalVer decisions, version bumps, release cadence, and preparing a versioned release after landing.",
|
|
377
|
+
"useWhen": [
|
|
378
|
+
"Choose the next SemVer or CalVer version and write user-facing release notes",
|
|
379
|
+
"Set up or maintain a changelog, versioning scheme, and release cadence"
|
|
380
|
+
],
|
|
381
|
+
"notFor": [
|
|
382
|
+
"Check whether unmerged work is ready to land without choosing a version",
|
|
383
|
+
"Implement product code before release preparation"
|
|
384
|
+
],
|
|
385
|
+
"deferTo": [
|
|
386
|
+
"planr-land",
|
|
387
|
+
"planr-ship"
|
|
388
|
+
]
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"id": "planr-ship",
|
|
392
|
+
"name": "ship",
|
|
393
|
+
"family": "implementation",
|
|
394
|
+
"description": "Implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work.",
|
|
395
|
+
"useWhen": [
|
|
396
|
+
"Implement a plan, specification, task, fix, or clearly stated local request",
|
|
397
|
+
"Build and verify the requested repository change",
|
|
398
|
+
"Ship this",
|
|
399
|
+
"Ship task",
|
|
400
|
+
"Implement this task"
|
|
401
|
+
],
|
|
402
|
+
"notFor": [
|
|
403
|
+
"Only plan the work",
|
|
404
|
+
"Prepare a release without changing code"
|
|
405
|
+
],
|
|
406
|
+
"deferTo": [
|
|
407
|
+
"planr-land"
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"id": "planr-spec",
|
|
412
|
+
"name": "spec",
|
|
413
|
+
"family": "planning",
|
|
414
|
+
"description": "Shape vague product or engineering intent into a clear, measurable Protocol-compatible specification grounded in the current repository. Use when requirements need clarification before planning or implementation.",
|
|
415
|
+
"useWhen": [
|
|
416
|
+
"Turn vague product or engineering intent into a precise specification",
|
|
417
|
+
"Clarify requirements and acceptance criteria before planning"
|
|
418
|
+
],
|
|
419
|
+
"notFor": [
|
|
420
|
+
"Implement an existing specification",
|
|
421
|
+
"Return project status"
|
|
422
|
+
],
|
|
423
|
+
"deferTo": []
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"id": "planr-status",
|
|
427
|
+
"name": "status",
|
|
428
|
+
"family": "planning-tools",
|
|
429
|
+
"description": "Inspect project delivery or one feature's pipeline status without changing state. Use when the user asks what is done, pending, blocked, or next.",
|
|
430
|
+
"useWhen": [
|
|
431
|
+
"Report current OpenPlanr delivery status or outstanding work",
|
|
432
|
+
"Show progress for one feature or the whole project"
|
|
433
|
+
],
|
|
434
|
+
"notFor": [
|
|
435
|
+
"Open the visual dashboard",
|
|
436
|
+
"Modify planning state"
|
|
437
|
+
],
|
|
438
|
+
"deferTo": []
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"id": "planr-sync",
|
|
442
|
+
"name": "sync",
|
|
443
|
+
"family": "planning-tools",
|
|
444
|
+
"description": "Audit OpenPlanr planning artifacts for graph and protocol drift. Use when statuses, references, schemas, or generated planning views may be inconsistent.",
|
|
445
|
+
"useWhen": [
|
|
446
|
+
"Audit planning artifacts for graph, schema, or protocol drift",
|
|
447
|
+
"Check whether stories, tasks, and generated planning state are synchronized"
|
|
448
|
+
],
|
|
449
|
+
"notFor": [
|
|
450
|
+
"Synchronize external cloud data",
|
|
451
|
+
"Implement feature code"
|
|
452
|
+
],
|
|
453
|
+
"deferTo": []
|
|
454
|
+
}
|
|
455
|
+
],
|
|
456
|
+
"agents": [
|
|
457
|
+
{
|
|
458
|
+
"id": "planr-backend",
|
|
459
|
+
"description": "Use this agent when implementing a Tech task from the task file (Type=Tech — task-2.md, or sole task-1.md when no PNG). Services, controllers, DTOs, DB queries — backend only; never touches UI. For Step 0.2 entity scaffolding from schema.json use entity-scaffold-agent instead."
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"id": "planr-database",
|
|
463
|
+
"description": "Use this agent when scanning a live database schema. READ-ONLY introspection that produces output/db/schema.json from PostgreSQL, MySQL, MSSQL, SQLite, or MongoDB."
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"id": "planr-designer",
|
|
467
|
+
"description": "Use this agent when PNG mockups for a feature need to be analyzed into a structured design specification. Vision-based extraction of colors, typography, components, and layout into a 10-section design-spec.md."
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"id": "planr-devops",
|
|
471
|
+
"description": "Use this agent when generating infrastructure config (docker-compose.yml, Dockerfiles, .env.example, CI workflow stubs) from the projects stack. Generates files only — never deploys, never pushes images, never calls cloud APIs."
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"id": "planr-documentation",
|
|
475
|
+
"description": "Use this agent when creating or updating human-readable product and engineering documentation from the request, repository, planning context, and implemented behavior. Cross-references intent and code, flags material drift, and never generates application code."
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"id": "planr-entity-scaffold",
|
|
479
|
+
"description": "Step 0.2 only — generate ORM entity / DbContext (or equivalent) scaffolding from output/db/schema.json into output/src/. Not for `/ship` Tech tasks; use backend-agent for those."
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"id": "planr-frontend",
|
|
483
|
+
"description": "Use this agent when implementing a UI task (Type=UI, task-1.md). Generates production-grade React/Next.js/Vue components, pages, and styles in src/features/{name}/. Frontend code only — never touches services, controllers, DTOs, or DB."
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"id": "planr-qa",
|
|
487
|
+
"description": "Review a scoped implementation without editing it and return concise, evidence-based, actionable findings focused on acceptance, security, and correctness."
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"id": "planr-specification",
|
|
491
|
+
"description": "Decompose a functional specification into schema-compatible User Stories and tasks after loading the active stack, design, database, and repository context. Writes planning artifacts only."
|
|
492
|
+
}
|
|
493
|
+
]
|
|
494
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"protocolVersion": "1.8.0",
|
|
5
5
|
"host": "claude-code",
|
|
6
|
-
"skillCount":
|
|
6
|
+
"skillCount": 26,
|
|
7
7
|
"roleCount": 9,
|
|
8
8
|
"files": [
|
|
9
9
|
{
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
},
|
|
157
157
|
{
|
|
158
158
|
"path": "skills/artifact/references/company-review.md",
|
|
159
|
-
"digest": "sha256:
|
|
159
|
+
"digest": "sha256:b31bb74501fd24ae388294a4ccf2b9161b128f0288b2fb03c99a762595e0eaba"
|
|
160
160
|
},
|
|
161
161
|
{
|
|
162
162
|
"path": "skills/artifact/references/design-sharing.md",
|
|
@@ -464,7 +464,7 @@
|
|
|
464
464
|
},
|
|
465
465
|
{
|
|
466
466
|
"path": "skills/design-loop/scripts/runtime/packages/protocol/package.json",
|
|
467
|
-
"digest": "sha256:
|
|
467
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
468
468
|
},
|
|
469
469
|
{
|
|
470
470
|
"path": "skills/design-loop/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -632,7 +632,7 @@
|
|
|
632
632
|
},
|
|
633
633
|
{
|
|
634
634
|
"path": "skills/design-review/scripts/runtime/packages/protocol/package.json",
|
|
635
|
-
"digest": "sha256:
|
|
635
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
636
636
|
},
|
|
637
637
|
{
|
|
638
638
|
"path": "skills/design-review/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -800,7 +800,7 @@
|
|
|
800
800
|
},
|
|
801
801
|
{
|
|
802
802
|
"path": "skills/design/scripts/runtime/packages/protocol/package.json",
|
|
803
|
-
"digest": "sha256:
|
|
803
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
804
804
|
},
|
|
805
805
|
{
|
|
806
806
|
"path": "skills/design/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -922,6 +922,14 @@
|
|
|
922
922
|
"path": "skills/land/SKILL.md",
|
|
923
923
|
"digest": "sha256:04d2deb6b7d4c161f94580f7b6481c51ca60b55afe6f5d510fd640d57f569c2d"
|
|
924
924
|
},
|
|
925
|
+
{
|
|
926
|
+
"path": "skills/openplanr/openplanr.skill.json",
|
|
927
|
+
"digest": "sha256:f14e20b843f7f51688ded299fbeb773eab1d244429e7baaaff5a14713bde72be"
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"path": "skills/openplanr/SKILL.md",
|
|
931
|
+
"digest": "sha256:0796e0cce4d8fdf6f5b8cca86ef7c96fd02150493b609d08e74bb78045fcb2dd"
|
|
932
|
+
},
|
|
925
933
|
{
|
|
926
934
|
"path": "skills/operate/openplanr.skill.json",
|
|
927
935
|
"digest": "sha256:daa8c7683675c88996da7803dee168d9e880aad880870d650e34035cd89f1dd7"
|
|
@@ -1020,7 +1028,7 @@
|
|
|
1020
1028
|
},
|
|
1021
1029
|
{
|
|
1022
1030
|
"path": "skills/plan/scripts/runtime/packages/protocol/package.json",
|
|
1023
|
-
"digest": "sha256:
|
|
1031
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
1024
1032
|
},
|
|
1025
1033
|
{
|
|
1026
1034
|
"path": "skills/plan/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -1175,5 +1183,5 @@
|
|
|
1175
1183
|
"digest": "sha256:53698324b62f43b672ce8fe1654c526c96fb202e313442f09c6fc1e72268677e"
|
|
1176
1184
|
}
|
|
1177
1185
|
],
|
|
1178
|
-
"contentDigest": "sha256:
|
|
1186
|
+
"contentDigest": "sha256:558c63f719ffa2fda80259fca6f072a0f51afab5e9b4a2c1dd931374bfe3ae61"
|
|
1179
1187
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Use this route only for an explicitly configured company workspace. Existing `planr artifact share/publish/sync` token shares keep their separate encryption and authorization model. Never silently import a token share into company storage.
|
|
4
4
|
|
|
5
5
|
1. Read `planr company --help`. If this command is absent, report the actual installed CLI path/version and required local build; do not search the disk for runtime internals or silently install a public release.
|
|
6
|
-
2. Start browser sign-in with `planr company login
|
|
6
|
+
2. Start browser sign-in with `planr company login`; use `--no-open` to display its authorization URL and open it on the same computer. Add `--json` only when an automated caller needs the structured completion receipt. The hosted CLI uses `https://api.openplanr.dev` by default; `--api-url <origin>` is an advanced development, staging, or self-hosted override. The company service must advertise a configured public OAuth client. Choose the organization in the issuer's consent screen. The CLI stores renewable credentials in the OS keychain, or discloses its existing encrypted local-file fallback. Never print tokens, place them in arguments/URLs, or ask for them in chat. Tokens renew automatically; revoked access still fails closed. `company connect --token-stdin` and `PLANR_COMPANY_TOKEN` remain explicit developer fallbacks without automatic renewal.
|
|
7
7
|
3. List authorized projects with `planr company projects --json`. Actor and organization come from the verified token; identifiers in a request never establish permission.
|
|
8
8
|
4. For a user-requested publication, `planr company preview <repository-relative-file> --project <id> --kind diagram|design|plan|document --json` records the exact selected file, bytes, size and digest. Show the publication scope. `planr company publish <preview-id> --json` explicitly publishes that preview. Content becomes accessible to the managed company service; source code and unselected files stay local. No hidden recursive upload.
|
|
9
9
|
5. Inspect synchronization with `planr company status <binding-id> --json`. Update the same artifact using `planr company push <binding-id> --preview --json`, review the changed scope/content, then `planr company push <binding-id> --json`. Conflicts are comparisons to resolve, not permission to force overwrite.
|