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,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: openplanr
|
|
3
|
+
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.
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# OpenPlanr router
|
|
8
|
+
|
|
9
|
+
Decide which OpenPlanr skill owns the request, say which one and why in one
|
|
10
|
+
line, then invoke it. Invoke a skill by its host name: the skill id without the
|
|
11
|
+
`planr-` prefix, namespaced under `planr` (`planr-plan` is `/planr:plan` in
|
|
12
|
+
Claude Code and `$planr:plan` in Codex). Do not perform the routed work here.
|
|
13
|
+
|
|
14
|
+
## Route by intent
|
|
15
|
+
|
|
16
|
+
| The user wants to… | Skill |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| Turn a vague idea or requirement into a measurable specification | `planr-spec` |
|
|
19
|
+
| Break a specification or intent into stories and tasks | `planr-plan` |
|
|
20
|
+
| Check a plan before implementation starts | `planr-plan-review` |
|
|
21
|
+
| Build, fix, finish, or ship local work | `planr-ship` |
|
|
22
|
+
| Find the root cause of a bug, regression, or odd behavior | `planr-investigate` |
|
|
23
|
+
| Test the running application in a real browser | `planr-browser-qa` |
|
|
24
|
+
| Design a new interface or a coherent design direction | `planr-design` |
|
|
25
|
+
| Compare several design directions | `planr-design-loop` |
|
|
26
|
+
| Revise an existing design with pinned feedback | `planr-design-review` |
|
|
27
|
+
| Create or check an architecture, process, sequence, or data diagram | `planr-diagram` |
|
|
28
|
+
| Share, import, or export an HTML artifact review | `planr-artifact` |
|
|
29
|
+
| Know what is done, pending, blocked, or next | `planr-status` |
|
|
30
|
+
| See planning or Operate state in the browser | `planr-dashboard` |
|
|
31
|
+
| Check artifacts for graph, status, or schema drift | `planr-sync` |
|
|
32
|
+
| Judge release readiness or prepare a landing sequence | `planr-land` |
|
|
33
|
+
| Pick a versioning scheme, bump versions, write release notes | `planr-release` |
|
|
34
|
+
| Diagnose the CLI, plugins, installation, or upgrade state | `planr-doctor` |
|
|
35
|
+
| Run a leadership operating review across all lenses | `planr-operate` |
|
|
36
|
+
| Get one executive lens on an Operate cycle | `planr-ceo-review`, `planr-cto-review`, `planr-cpo-review`, `planr-cmo-review`, `planr-coo-review` |
|
|
37
|
+
| Stress-test an Operate cycle's claims, or synthesize its decisions | `planr-challenger-review`, `planr-chair-review` |
|
|
38
|
+
|
|
39
|
+
## Boundaries
|
|
40
|
+
|
|
41
|
+
- PLAN and SHIP are separate user-invoked workflows. Route to one; never chain
|
|
42
|
+
`planr-plan` into `planr-ship` on the user's behalf.
|
|
43
|
+
- When a request spans several skills, route to the earliest step in that
|
|
44
|
+
order (spec → plan → plan-review → ship → land → release) and name the rest.
|
|
45
|
+
- When the request is not OpenPlanr work at all, say so and answer directly
|
|
46
|
+
without invoking a skill.
|
|
47
|
+
- Ask one concise question only when two candidate skills would produce
|
|
48
|
+
materially different work.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "openplanr-skill-package",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"protocolVersion": "1.8.0",
|
|
5
|
+
"skillId": "planr-openplanr",
|
|
6
|
+
"skillVersion": "1.0.0",
|
|
7
|
+
"entrypoint": "SKILL.md",
|
|
8
|
+
"hosts": [
|
|
9
|
+
"claude-code",
|
|
10
|
+
"codex",
|
|
11
|
+
"chatgpt",
|
|
12
|
+
"cursor"
|
|
13
|
+
],
|
|
14
|
+
"execution": "host-agent",
|
|
15
|
+
"resources": [
|
|
16
|
+
{
|
|
17
|
+
"path": "agents/openai.yaml",
|
|
18
|
+
"kind": "agent-metadata",
|
|
19
|
+
"hosts": [
|
|
20
|
+
"codex",
|
|
21
|
+
"chatgpt"
|
|
22
|
+
],
|
|
23
|
+
"executable": false
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"protocolVersion": "1.8.0",
|
|
5
5
|
"host": "cursor",
|
|
6
|
-
"skillCount":
|
|
6
|
+
"skillCount": 26,
|
|
7
7
|
"roleCount": 0,
|
|
8
8
|
"files": [
|
|
9
9
|
{
|
|
10
10
|
"path": "manifest.json",
|
|
11
|
-
"digest": "sha256:
|
|
11
|
+
"digest": "sha256:c1c27693fe61e7cad7018a4f2ecb6e32f4fe5de078ee2ff6e6401a9b2a03422c"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"path": "rules/planr-artifact.mdc",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"path": "rules/planr-artifact/references/company-review.md",
|
|
19
|
-
"digest": "sha256:
|
|
19
|
+
"digest": "sha256:b31bb74501fd24ae388294a4ccf2b9161b128f0288b2fb03c99a762595e0eaba"
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"path": "rules/planr-artifact/references/design-sharing.md",
|
|
@@ -284,7 +284,7 @@
|
|
|
284
284
|
},
|
|
285
285
|
{
|
|
286
286
|
"path": "rules/planr-design-loop/scripts/runtime/packages/protocol/package.json",
|
|
287
|
-
"digest": "sha256:
|
|
287
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
288
288
|
},
|
|
289
289
|
{
|
|
290
290
|
"path": "rules/planr-design-loop/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -448,7 +448,7 @@
|
|
|
448
448
|
},
|
|
449
449
|
{
|
|
450
450
|
"path": "rules/planr-design-review/scripts/runtime/packages/protocol/package.json",
|
|
451
|
-
"digest": "sha256:
|
|
451
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
452
452
|
},
|
|
453
453
|
{
|
|
454
454
|
"path": "rules/planr-design-review/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -612,7 +612,7 @@
|
|
|
612
612
|
},
|
|
613
613
|
{
|
|
614
614
|
"path": "rules/planr-design/scripts/runtime/packages/protocol/package.json",
|
|
615
|
-
"digest": "sha256:
|
|
615
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
616
616
|
},
|
|
617
617
|
{
|
|
618
618
|
"path": "rules/planr-design/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -714,6 +714,10 @@
|
|
|
714
714
|
"path": "rules/planr-land.mdc",
|
|
715
715
|
"digest": "sha256:95b55146b5da4ee106a9d46e220e20656c3b4248f12a8f637c909fbce393ddf8"
|
|
716
716
|
},
|
|
717
|
+
{
|
|
718
|
+
"path": "rules/planr-openplanr.mdc",
|
|
719
|
+
"digest": "sha256:bf88b2c937e39ab2436786abaeb2dfe58d90832f12afb496f1100845a94d8719"
|
|
720
|
+
},
|
|
717
721
|
{
|
|
718
722
|
"path": "rules/planr-operate.mdc",
|
|
719
723
|
"digest": "sha256:55719d4bc0d9d557e8accc2b3ca53cd54c1b956d696fc3b383889388960e3548"
|
|
@@ -804,7 +808,7 @@
|
|
|
804
808
|
},
|
|
805
809
|
{
|
|
806
810
|
"path": "rules/planr-plan/scripts/runtime/packages/protocol/package.json",
|
|
807
|
-
"digest": "sha256:
|
|
811
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
808
812
|
},
|
|
809
813
|
{
|
|
810
814
|
"path": "rules/planr-plan/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -935,5 +939,5 @@
|
|
|
935
939
|
"digest": "sha256:6378ad3477e4be8b7e916c4249404c50cafecac1c70ffbf5a1a2fce195dfea16"
|
|
936
940
|
}
|
|
937
941
|
],
|
|
938
|
-
"contentDigest": "sha256:
|
|
942
|
+
"contentDigest": "sha256:6513470ead50ff33f9e79a6bda9d3888397e90c3901f8183a7112176d892909a"
|
|
939
943
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openplanr",
|
|
3
3
|
"version": "0.1.0",
|
|
4
|
-
"ruleCount":
|
|
4
|
+
"ruleCount": 26,
|
|
5
5
|
"rules": [
|
|
6
6
|
"rules/planr-artifact.mdc",
|
|
7
7
|
"rules/planr-browser-qa.mdc",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"rules/planr-doctor.mdc",
|
|
21
21
|
"rules/planr-investigate.mdc",
|
|
22
22
|
"rules/planr-land.mdc",
|
|
23
|
+
"rules/planr-openplanr.mdc",
|
|
23
24
|
"rules/planr-operate.mdc",
|
|
24
25
|
"rules/planr-plan.mdc",
|
|
25
26
|
"rules/planr-plan-review.mdc",
|
package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md
CHANGED
|
@@ -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.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
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."
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OpenPlanr router
|
|
7
|
+
|
|
8
|
+
Decide which OpenPlanr skill owns the request, say which one and why in one
|
|
9
|
+
line, then invoke it. Invoke a skill by its host name: the skill id without the
|
|
10
|
+
`planr-` prefix, namespaced under `planr` (`planr-plan` is `/planr:plan` in
|
|
11
|
+
Claude Code and `$planr:plan` in Codex). Do not perform the routed work here.
|
|
12
|
+
|
|
13
|
+
## Route by intent
|
|
14
|
+
|
|
15
|
+
| The user wants to… | Skill |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| Turn a vague idea or requirement into a measurable specification | `planr-spec` |
|
|
18
|
+
| Break a specification or intent into stories and tasks | `planr-plan` |
|
|
19
|
+
| Check a plan before implementation starts | `planr-plan-review` |
|
|
20
|
+
| Build, fix, finish, or ship local work | `planr-ship` |
|
|
21
|
+
| Find the root cause of a bug, regression, or odd behavior | `planr-investigate` |
|
|
22
|
+
| Test the running application in a real browser | `planr-browser-qa` |
|
|
23
|
+
| Design a new interface or a coherent design direction | `planr-design` |
|
|
24
|
+
| Compare several design directions | `planr-design-loop` |
|
|
25
|
+
| Revise an existing design with pinned feedback | `planr-design-review` |
|
|
26
|
+
| Create or check an architecture, process, sequence, or data diagram | `planr-diagram` |
|
|
27
|
+
| Share, import, or export an HTML artifact review | `planr-artifact` |
|
|
28
|
+
| Know what is done, pending, blocked, or next | `planr-status` |
|
|
29
|
+
| See planning or Operate state in the browser | `planr-dashboard` |
|
|
30
|
+
| Check artifacts for graph, status, or schema drift | `planr-sync` |
|
|
31
|
+
| Judge release readiness or prepare a landing sequence | `planr-land` |
|
|
32
|
+
| Pick a versioning scheme, bump versions, write release notes | `planr-release` |
|
|
33
|
+
| Diagnose the CLI, plugins, installation, or upgrade state | `planr-doctor` |
|
|
34
|
+
| Run a leadership operating review across all lenses | `planr-operate` |
|
|
35
|
+
| Get one executive lens on an Operate cycle | `planr-ceo-review`, `planr-cto-review`, `planr-cpo-review`, `planr-cmo-review`, `planr-coo-review` |
|
|
36
|
+
| Stress-test an Operate cycle's claims, or synthesize its decisions | `planr-challenger-review`, `planr-chair-review` |
|
|
37
|
+
|
|
38
|
+
## Boundaries
|
|
39
|
+
|
|
40
|
+
- PLAN and SHIP are separate user-invoked workflows. Route to one; never chain
|
|
41
|
+
`planr-plan` into `planr-ship` on the user's behalf.
|
|
42
|
+
- When a request spans several skills, route to the earliest step in that
|
|
43
|
+
order (spec → plan → plan-review → ship → land → release) and name the rest.
|
|
44
|
+
- When the request is not OpenPlanr work at all, say so and answer directly
|
|
45
|
+
without invoking a skill.
|
|
46
|
+
- Ask one concise question only when two candidate skills would produce
|
|
47
|
+
materially different work.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"protocolVersion": "1.8.0",
|
|
5
5
|
"host": "openai",
|
|
6
|
-
"skillCount":
|
|
6
|
+
"skillCount": 26,
|
|
7
7
|
"roleCount": 0,
|
|
8
8
|
"files": [
|
|
9
9
|
{
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"path": "skills/artifact/references/company-review.md",
|
|
23
|
-
"digest": "sha256:
|
|
23
|
+
"digest": "sha256:b31bb74501fd24ae388294a4ccf2b9161b128f0288b2fb03c99a762595e0eaba"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"path": "skills/artifact/references/design-sharing.md",
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
},
|
|
369
369
|
{
|
|
370
370
|
"path": "skills/design-loop/scripts/runtime/packages/protocol/package.json",
|
|
371
|
-
"digest": "sha256:
|
|
371
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
372
372
|
},
|
|
373
373
|
{
|
|
374
374
|
"path": "skills/design-loop/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -540,7 +540,7 @@
|
|
|
540
540
|
},
|
|
541
541
|
{
|
|
542
542
|
"path": "skills/design-review/scripts/runtime/packages/protocol/package.json",
|
|
543
|
-
"digest": "sha256:
|
|
543
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
544
544
|
},
|
|
545
545
|
{
|
|
546
546
|
"path": "skills/design-review/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -712,7 +712,7 @@
|
|
|
712
712
|
},
|
|
713
713
|
{
|
|
714
714
|
"path": "skills/design/scripts/runtime/packages/protocol/package.json",
|
|
715
|
-
"digest": "sha256:
|
|
715
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
716
716
|
},
|
|
717
717
|
{
|
|
718
718
|
"path": "skills/design/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -850,6 +850,18 @@
|
|
|
850
850
|
"path": "skills/land/SKILL.md",
|
|
851
851
|
"digest": "sha256:04d2deb6b7d4c161f94580f7b6481c51ca60b55afe6f5d510fd640d57f569c2d"
|
|
852
852
|
},
|
|
853
|
+
{
|
|
854
|
+
"path": "skills/openplanr/agents/openai.yaml",
|
|
855
|
+
"digest": "sha256:d52298b62edcbdaac5c48b7ced2ab5e21c999552e1734fd2a5f3fb3ba0ab66c1"
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"path": "skills/openplanr/openplanr.skill.json",
|
|
859
|
+
"digest": "sha256:f14e20b843f7f51688ded299fbeb773eab1d244429e7baaaff5a14713bde72be"
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"path": "skills/openplanr/SKILL.md",
|
|
863
|
+
"digest": "sha256:0796e0cce4d8fdf6f5b8cca86ef7c96fd02150493b609d08e74bb78045fcb2dd"
|
|
864
|
+
},
|
|
853
865
|
{
|
|
854
866
|
"path": "skills/operate/agents/openai.yaml",
|
|
855
867
|
"digest": "sha256:8a1ebf2de3c0936f7f090d911a5e3d63d72286baa06c05f850cf91ea64f35cea"
|
|
@@ -960,7 +972,7 @@
|
|
|
960
972
|
},
|
|
961
973
|
{
|
|
962
974
|
"path": "skills/plan/scripts/runtime/packages/protocol/package.json",
|
|
963
|
-
"digest": "sha256:
|
|
975
|
+
"digest": "sha256:9a11f3b5e52bb2bd3f2310a9cbc1276b62b1b08e401279769228d5bfd8567995"
|
|
964
976
|
},
|
|
965
977
|
{
|
|
966
978
|
"path": "skills/plan/scripts/runtime/packages/protocol/registry/artifact-theme.json",
|
|
@@ -1135,5 +1147,5 @@
|
|
|
1135
1147
|
"digest": "sha256:53698324b62f43b672ce8fe1654c526c96fb202e313442f09c6fc1e72268677e"
|
|
1136
1148
|
}
|
|
1137
1149
|
],
|
|
1138
|
-
"contentDigest": "sha256:
|
|
1150
|
+
"contentDigest": "sha256:ebec93efd22f8e04e5f6dce3b933fedc54b51a69809ef85de2080c79349b0fb1"
|
|
1139
1151
|
}
|
|
@@ -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.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: openplanr
|
|
3
|
+
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.
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# OpenPlanr router
|
|
8
|
+
|
|
9
|
+
Decide which OpenPlanr skill owns the request, say which one and why in one
|
|
10
|
+
line, then invoke it. Invoke a skill by its host name: the skill id without the
|
|
11
|
+
`planr-` prefix, namespaced under `planr` (`planr-plan` is `/planr:plan` in
|
|
12
|
+
Claude Code and `$planr:plan` in Codex). Do not perform the routed work here.
|
|
13
|
+
|
|
14
|
+
## Route by intent
|
|
15
|
+
|
|
16
|
+
| The user wants to… | Skill |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| Turn a vague idea or requirement into a measurable specification | `planr-spec` |
|
|
19
|
+
| Break a specification or intent into stories and tasks | `planr-plan` |
|
|
20
|
+
| Check a plan before implementation starts | `planr-plan-review` |
|
|
21
|
+
| Build, fix, finish, or ship local work | `planr-ship` |
|
|
22
|
+
| Find the root cause of a bug, regression, or odd behavior | `planr-investigate` |
|
|
23
|
+
| Test the running application in a real browser | `planr-browser-qa` |
|
|
24
|
+
| Design a new interface or a coherent design direction | `planr-design` |
|
|
25
|
+
| Compare several design directions | `planr-design-loop` |
|
|
26
|
+
| Revise an existing design with pinned feedback | `planr-design-review` |
|
|
27
|
+
| Create or check an architecture, process, sequence, or data diagram | `planr-diagram` |
|
|
28
|
+
| Share, import, or export an HTML artifact review | `planr-artifact` |
|
|
29
|
+
| Know what is done, pending, blocked, or next | `planr-status` |
|
|
30
|
+
| See planning or Operate state in the browser | `planr-dashboard` |
|
|
31
|
+
| Check artifacts for graph, status, or schema drift | `planr-sync` |
|
|
32
|
+
| Judge release readiness or prepare a landing sequence | `planr-land` |
|
|
33
|
+
| Pick a versioning scheme, bump versions, write release notes | `planr-release` |
|
|
34
|
+
| Diagnose the CLI, plugins, installation, or upgrade state | `planr-doctor` |
|
|
35
|
+
| Run a leadership operating review across all lenses | `planr-operate` |
|
|
36
|
+
| Get one executive lens on an Operate cycle | `planr-ceo-review`, `planr-cto-review`, `planr-cpo-review`, `planr-cmo-review`, `planr-coo-review` |
|
|
37
|
+
| Stress-test an Operate cycle's claims, or synthesize its decisions | `planr-challenger-review`, `planr-chair-review` |
|
|
38
|
+
|
|
39
|
+
## Boundaries
|
|
40
|
+
|
|
41
|
+
- PLAN and SHIP are separate user-invoked workflows. Route to one; never chain
|
|
42
|
+
`planr-plan` into `planr-ship` on the user's behalf.
|
|
43
|
+
- When a request spans several skills, route to the earliest step in that
|
|
44
|
+
order (spec → plan → plan-review → ship → land → release) and name the rest.
|
|
45
|
+
- When the request is not OpenPlanr work at all, say so and answer directly
|
|
46
|
+
without invoking a skill.
|
|
47
|
+
- Ask one concise question only when two candidate skills would produce
|
|
48
|
+
materially different work.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Planr Openplanr"
|
|
3
|
+
short_description: "Route a planning, specification, delivery, design, review…"
|
|
4
|
+
default_prompt: "Use $planr:openplanr to 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."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "openplanr-skill-package",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"protocolVersion": "1.8.0",
|
|
5
|
+
"skillId": "planr-openplanr",
|
|
6
|
+
"skillVersion": "1.0.0",
|
|
7
|
+
"entrypoint": "SKILL.md",
|
|
8
|
+
"hosts": [
|
|
9
|
+
"claude-code",
|
|
10
|
+
"codex",
|
|
11
|
+
"chatgpt",
|
|
12
|
+
"cursor"
|
|
13
|
+
],
|
|
14
|
+
"execution": "host-agent",
|
|
15
|
+
"resources": [
|
|
16
|
+
{
|
|
17
|
+
"path": "agents/openai.yaml",
|
|
18
|
+
"kind": "agent-metadata",
|
|
19
|
+
"hosts": [
|
|
20
|
+
"codex",
|
|
21
|
+
"chatgpt"
|
|
22
|
+
],
|
|
23
|
+
"executable": false
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openplanr",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Deterministic OpenPlanr utilities for planning storage, validation, rendering, setup, diagnostics, and GitHub/Linear synchronization",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cli/index.js",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"zod": "^4.3.6"
|
|
116
116
|
},
|
|
117
117
|
"optionalDependencies": {
|
|
118
|
-
"planr-pipeline": "0.45.
|
|
118
|
+
"planr-pipeline": "0.45.1"
|
|
119
119
|
},
|
|
120
120
|
"devDependencies": {
|
|
121
121
|
"@biomejs/biome": "^2.4.9",
|