openplanr 2.2639.4 → 2.2640.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.
Files changed (204) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cli/commands/github.d.ts.map +1 -1
  3. package/dist/cli/commands/github.js +4 -3
  4. package/dist/cli/commands/github.js.map +1 -1
  5. package/dist/dashboard/.vite/manifest.json +1 -1
  6. package/dist/dashboard/assets/{index-p83hrHZD.js → index-9DLb9EO5.js} +2 -2
  7. package/dist/dashboard/assets/{index-p83hrHZD.js.map → index-9DLb9EO5.js.map} +1 -1
  8. package/dist/dashboard/dashboard-manifest.json +13 -13
  9. package/dist/dashboard/index.html +1 -1
  10. package/dist/models/schema.d.ts.map +1 -1
  11. package/dist/models/schema.js +24 -1
  12. package/dist/models/schema.js.map +1 -1
  13. package/dist/services/artifact-service.js +2 -2
  14. package/dist/services/artifact-service.js.map +1 -1
  15. package/dist/services/github-service.d.ts +6 -4
  16. package/dist/services/github-service.d.ts.map +1 -1
  17. package/dist/services/github-service.js +7 -2
  18. package/dist/services/github-service.js.map +1 -1
  19. package/dist/services/id-service.d.ts +4 -1
  20. package/dist/services/id-service.d.ts.map +1 -1
  21. package/dist/services/id-service.js +28 -15
  22. package/dist/services/id-service.js.map +1 -1
  23. package/dist/services/landing/receipt-custody.d.ts.map +1 -1
  24. package/dist/services/landing/receipt-custody.js +2 -0
  25. package/dist/services/landing/receipt-custody.js.map +1 -1
  26. package/dist/services/report-linter-service.d.ts.map +1 -1
  27. package/dist/services/report-linter-service.js +2 -4
  28. package/dist/services/report-linter-service.js.map +1 -1
  29. package/docs/CLI.md +2 -0
  30. package/lib/host-packages/adapter-registry.json +5 -5
  31. package/lib/host-packages/capability-map.json +1 -1
  32. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  33. package/lib/host-packages/claude/openplanr/.claude-plugin/icon.svg +11 -0
  34. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +8 -3
  35. package/lib/host-packages/claude/openplanr/.openplanr-content.json +160 -28
  36. package/lib/host-packages/claude/openplanr/README.md +4 -3
  37. package/lib/host-packages/claude/openplanr/skills/ceo-review/SKILL.md +1 -1
  38. package/lib/host-packages/claude/openplanr/skills/chair-review/SKILL.md +1 -1
  39. package/lib/host-packages/claude/openplanr/skills/challenger-review/SKILL.md +1 -1
  40. package/lib/host-packages/claude/openplanr/skills/cmo-review/SKILL.md +1 -1
  41. package/lib/host-packages/claude/openplanr/skills/coo-review/SKILL.md +1 -1
  42. package/lib/host-packages/claude/openplanr/skills/cpo-review/SKILL.md +1 -1
  43. package/lib/host-packages/claude/openplanr/skills/cto-review/SKILL.md +1 -1
  44. package/lib/host-packages/claude/openplanr/skills/design/openplanr.skill.json +88 -0
  45. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-artifact-shell.mjs +2506 -0
  46. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-document.mjs +3674 -0
  47. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-entities.mjs +489 -0
  48. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-parse5-parser.mjs +3970 -0
  49. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-parse5-tokenizer.mjs +3501 -0
  50. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-review-handoff.mjs +4408 -0
  51. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-sandbox-guards.mjs +1073 -0
  52. package/lib/host-packages/claude/openplanr/skills/design/scripts/design-share.mjs +2127 -0
  53. package/lib/host-packages/claude/openplanr/skills/design/scripts/design.mjs +83 -21459
  54. package/lib/host-packages/claude/openplanr/skills/design/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  55. package/lib/host-packages/claude/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
  56. package/lib/host-packages/claude/openplanr/skills/design-loop/openplanr.skill.json +88 -0
  57. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-artifact-shell.mjs +2506 -0
  58. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-document.mjs +3674 -0
  59. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-entities.mjs +489 -0
  60. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-parse5-parser.mjs +3970 -0
  61. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-parse5-tokenizer.mjs +3501 -0
  62. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-review-handoff.mjs +4408 -0
  63. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-sandbox-guards.mjs +1073 -0
  64. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design-share.mjs +2127 -0
  65. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/design.mjs +83 -21459
  66. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  67. package/lib/host-packages/claude/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  68. package/lib/host-packages/claude/openplanr/skills/design-review/openplanr.skill.json +88 -0
  69. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-artifact-shell.mjs +2506 -0
  70. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-document.mjs +3674 -0
  71. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-entities.mjs +489 -0
  72. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-parse5-parser.mjs +3970 -0
  73. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-parse5-tokenizer.mjs +3501 -0
  74. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-review-handoff.mjs +4408 -0
  75. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-sandbox-guards.mjs +1073 -0
  76. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design-share.mjs +2127 -0
  77. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/design.mjs +83 -21459
  78. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  79. package/lib/host-packages/claude/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
  80. package/lib/host-packages/claude/openplanr/skills/plan/openplanr.skill.json +88 -0
  81. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-artifact-shell.mjs +2506 -0
  82. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-document.mjs +3674 -0
  83. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-entities.mjs +489 -0
  84. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-parse5-parser.mjs +3970 -0
  85. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-parse5-tokenizer.mjs +3501 -0
  86. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-review-handoff.mjs +4408 -0
  87. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-sandbox-guards.mjs +1073 -0
  88. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design-share.mjs +2127 -0
  89. package/lib/host-packages/claude/openplanr/skills/plan/scripts/design.mjs +83 -21459
  90. package/lib/host-packages/claude/openplanr/skills/plan/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  91. package/lib/host-packages/claude/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
  92. package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +17 -6
  93. package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +7 -104
  94. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +144 -16
  95. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  96. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-artifact-shell.mjs +2506 -0
  97. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-document.mjs +3674 -0
  98. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-entities.mjs +489 -0
  99. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-parse5-parser.mjs +3970 -0
  100. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-parse5-tokenizer.mjs +3501 -0
  101. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-review-handoff.mjs +4408 -0
  102. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-sandbox-guards.mjs +1073 -0
  103. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design-share.mjs +2127 -0
  104. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/design.mjs +83 -21459
  105. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  106. package/lib/host-packages/cursor/openplanr/rules/planr-design/scripts/runtime/packages/protocol/package.json +1 -1
  107. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-artifact-shell.mjs +2506 -0
  108. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-document.mjs +3674 -0
  109. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-entities.mjs +489 -0
  110. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-parse5-parser.mjs +3970 -0
  111. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-parse5-tokenizer.mjs +3501 -0
  112. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-review-handoff.mjs +4408 -0
  113. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-sandbox-guards.mjs +1073 -0
  114. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design-share.mjs +2127 -0
  115. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/design.mjs +83 -21459
  116. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  117. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  118. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-artifact-shell.mjs +2506 -0
  119. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-document.mjs +3674 -0
  120. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-entities.mjs +489 -0
  121. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-parse5-parser.mjs +3970 -0
  122. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-parse5-tokenizer.mjs +3501 -0
  123. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-review-handoff.mjs +4408 -0
  124. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-sandbox-guards.mjs +1073 -0
  125. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design-share.mjs +2127 -0
  126. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/design.mjs +83 -21459
  127. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  128. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/scripts/runtime/packages/protocol/package.json +1 -1
  129. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-artifact-shell.mjs +2506 -0
  130. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-document.mjs +3674 -0
  131. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-entities.mjs +489 -0
  132. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-parse5-parser.mjs +3970 -0
  133. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-parse5-tokenizer.mjs +3501 -0
  134. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-review-handoff.mjs +4408 -0
  135. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-sandbox-guards.mjs +1073 -0
  136. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design-share.mjs +2127 -0
  137. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/design.mjs +83 -21459
  138. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  139. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/runtime/packages/protocol/package.json +1 -1
  140. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +7 -104
  141. package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +17 -6
  142. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  143. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +3 -2
  144. package/lib/host-packages/openai/openplanr/.openplanr-content.json +155 -27
  145. package/lib/host-packages/openai/openplanr/skills/ceo-review/SKILL.md +1 -1
  146. package/lib/host-packages/openai/openplanr/skills/chair-review/SKILL.md +1 -1
  147. package/lib/host-packages/openai/openplanr/skills/challenger-review/SKILL.md +1 -1
  148. package/lib/host-packages/openai/openplanr/skills/cmo-review/SKILL.md +1 -1
  149. package/lib/host-packages/openai/openplanr/skills/coo-review/SKILL.md +1 -1
  150. package/lib/host-packages/openai/openplanr/skills/cpo-review/SKILL.md +1 -1
  151. package/lib/host-packages/openai/openplanr/skills/cto-review/SKILL.md +1 -1
  152. package/lib/host-packages/openai/openplanr/skills/design/openplanr.skill.json +88 -0
  153. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-artifact-shell.mjs +2506 -0
  154. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-document.mjs +3674 -0
  155. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-entities.mjs +489 -0
  156. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-parse5-parser.mjs +3970 -0
  157. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-parse5-tokenizer.mjs +3501 -0
  158. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-review-handoff.mjs +4408 -0
  159. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-sandbox-guards.mjs +1073 -0
  160. package/lib/host-packages/openai/openplanr/skills/design/scripts/design-share.mjs +2127 -0
  161. package/lib/host-packages/openai/openplanr/skills/design/scripts/design.mjs +83 -21459
  162. package/lib/host-packages/openai/openplanr/skills/design/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  163. package/lib/host-packages/openai/openplanr/skills/design/scripts/runtime/packages/protocol/package.json +1 -1
  164. package/lib/host-packages/openai/openplanr/skills/design-loop/openplanr.skill.json +88 -0
  165. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-artifact-shell.mjs +2506 -0
  166. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-document.mjs +3674 -0
  167. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-entities.mjs +489 -0
  168. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-parse5-parser.mjs +3970 -0
  169. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-parse5-tokenizer.mjs +3501 -0
  170. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-review-handoff.mjs +4408 -0
  171. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-sandbox-guards.mjs +1073 -0
  172. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design-share.mjs +2127 -0
  173. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/design.mjs +83 -21459
  174. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  175. package/lib/host-packages/openai/openplanr/skills/design-loop/scripts/runtime/packages/protocol/package.json +1 -1
  176. package/lib/host-packages/openai/openplanr/skills/design-review/openplanr.skill.json +88 -0
  177. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-artifact-shell.mjs +2506 -0
  178. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-document.mjs +3674 -0
  179. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-entities.mjs +489 -0
  180. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-parse5-parser.mjs +3970 -0
  181. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-parse5-tokenizer.mjs +3501 -0
  182. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-review-handoff.mjs +4408 -0
  183. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-sandbox-guards.mjs +1073 -0
  184. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design-share.mjs +2127 -0
  185. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/design.mjs +83 -21459
  186. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  187. package/lib/host-packages/openai/openplanr/skills/design-review/scripts/runtime/packages/protocol/package.json +1 -1
  188. package/lib/host-packages/openai/openplanr/skills/plan/openplanr.skill.json +88 -0
  189. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-artifact-shell.mjs +2506 -0
  190. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-document.mjs +3674 -0
  191. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-entities.mjs +489 -0
  192. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-parse5-parser.mjs +3970 -0
  193. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-parse5-tokenizer.mjs +3501 -0
  194. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-review-handoff.mjs +4408 -0
  195. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-sandbox-guards.mjs +1073 -0
  196. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design-share.mjs +2127 -0
  197. package/lib/host-packages/openai/openplanr/skills/plan/scripts/design.mjs +83 -21459
  198. package/lib/host-packages/openai/openplanr/skills/plan/scripts/runtime/packages/design/templates/studio/studio.js +1 -0
  199. package/lib/host-packages/openai/openplanr/skills/plan/scripts/runtime/packages/protocol/package.json +1 -1
  200. package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +17 -6
  201. package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +7 -104
  202. package/lib/integrations.d.mts +0 -10
  203. package/lib/integrations.mjs +7 -104
  204. package/package.json +2 -2
package/docs/CLI.md CHANGED
@@ -1115,6 +1115,8 @@ Default rules cover vague language, evidence density (URLs / `#issue` refs), and
1115
1115
  }
1116
1116
  ```
1117
1117
 
1118
+ Each `pattern` is a case-insensitive regular expression. A pattern that does not compile, or that can match empty text (such as `(soon)?` or a lone `\b`), fails config loading with `E_CONFIG_INVALID` naming the field and the pattern.
1119
+
1118
1120
  ---
1119
1121
 
1120
1122
  ### `planr context`
@@ -2,12 +2,12 @@
2
2
  "kind": "host-native-adapter-registry",
3
3
  "schemaVersion": "1.0.0",
4
4
  "protocolVersion": "1.8.0",
5
- "pipelineVersion": "0.55.0",
6
- "pluginVersion": "2.2639.4",
5
+ "pipelineVersion": "0.55.2",
6
+ "pluginVersion": "2.2640.0",
7
7
  "adapters": [
8
8
  {
9
9
  "id": "claude-code",
10
- "version": "2.2639.4",
10
+ "version": "2.2640.0",
11
11
  "capabilityLevel": "product",
12
12
  "installScopes": [
13
13
  "user",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  {
21
21
  "id": "codex",
22
- "version": "2.2639.4",
22
+ "version": "2.2640.0",
23
23
  "capabilityLevel": "product",
24
24
  "installScopes": [
25
25
  "user",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  {
33
33
  "id": "cursor",
34
- "version": "2.2639.4",
34
+ "version": "2.2640.0",
35
35
  "capabilityLevel": "workflow",
36
36
  "installScopes": [
37
37
  "project"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "kind": "openplanr-capability-map",
3
3
  "schemaVersion": "1.0.0",
4
- "pluginVersion": "2.2639.4",
4
+ "pluginVersion": "2.2640.0",
5
5
  "families": [
6
6
  {
7
7
  "id": "planning",
@@ -5,14 +5,14 @@
5
5
  "name": "AsemDevs"
6
6
  },
7
7
  "metadata": {
8
- "version": "2.2639.4",
8
+ "version": "2.2640.0",
9
9
  "description": "Generated local OpenPlanr package."
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "planr",
14
14
  "source": "./openplanr",
15
- "version": "2.2639.4",
15
+ "version": "2.2640.0",
16
16
  "description": "Host-native OpenPlanr skills and role agents for Claude Code.",
17
17
  "strict": true
18
18
  }
@@ -0,0 +1,11 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" role="img" aria-labelledby="title desc">
2
+ <title id="title">OpenPlanr application icon</title>
3
+ <desc id="desc">The Open Decision mark on a rounded near-black tile.</desc>
4
+ <rect width="160" height="160" rx="35" fill="#08080C"/>
5
+ <g transform="translate(24 24) scale(.7)">
6
+ <g transform="rotate(-45 80 80)">
7
+ <path d="M125 50A52 52 0 1 0 125 110" fill="none" stroke="#5EEAD4" stroke-width="10" stroke-linecap="round" stroke-linejoin="round"/>
8
+ <rect x="127" y="71" width="18" height="18" rx="3" fill="#5EEAD4"/>
9
+ </g>
10
+ </g>
11
+ </svg>
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "planr",
3
3
  "displayName": "OpenPlanr",
4
- "version": "2.2639.4",
4
+ "version": "2.2640.0",
5
5
  "description": "Host-native OpenPlanr planning, delivery, review, design, and operating skills.",
6
6
  "author": {
7
- "name": "AsemDevs"
7
+ "name": "OpenPlanr",
8
+ "url": "https://openplanr.dev"
8
9
  },
9
10
  "homepage": "https://openplanr.dev",
10
11
  "repository": "https://github.com/openplanr/OpenPlanr",
@@ -15,5 +16,9 @@
15
16
  "delivery",
16
17
  "code-review",
17
18
  "design"
18
- ]
19
+ ],
20
+ "privacyPolicyUrl": "https://openplanr.dev/privacy",
21
+ "termsOfServiceUrl": "https://openplanr.dev/terms",
22
+ "supportUrl": "https://github.com/openplanr/OpenPlanr/blob/main/SUPPORT.md",
23
+ "documentationUrl": "https://github.com/openplanr/OpenPlanr/blob/main/docs/getting-started.md"
19
24
  }
@@ -6,9 +6,13 @@
6
6
  "skillCount": 27,
7
7
  "roleCount": 9,
8
8
  "files": [
9
+ {
10
+ "path": ".claude-plugin/icon.svg",
11
+ "digest": "sha256:75fac2fbc96f8b3599c6aafc8cc61a46e1c1e65b9533e1b5cba6add060e2a734"
12
+ },
9
13
  {
10
14
  "path": ".claude-plugin/plugin.json",
11
- "digest": "sha256:5fbdafd8561ff35a2e34c3bee5be438c7360785d3df230f18aa7fe33d2068c9c"
15
+ "digest": "sha256:dadfd9439f163027d994c4cd990d9efb313ed8f63b8524ece96c7280668b66ee"
12
16
  },
13
17
  {
14
18
  "path": "agents/planr-backend.md",
@@ -48,7 +52,7 @@
48
52
  },
49
53
  {
50
54
  "path": "README.md",
51
- "digest": "sha256:c2fef7b53c5773d55738900894c3e9388840933fc73bb82e20f27a8d09360dcf"
55
+ "digest": "sha256:4fc3fba2c92ba523cb919b418ab37627455ddecbce5b347616e0de52eaef377a"
52
56
  },
53
57
  {
54
58
  "path": "references/agents/shared/modes/default/backend.md",
@@ -204,7 +208,7 @@
204
208
  },
205
209
  {
206
210
  "path": "skills/ceo-review/SKILL.md",
207
- "digest": "sha256:fa0e64563962c9c5232b78693fdb330e87f5474815721427cfdafb11a6fef265"
211
+ "digest": "sha256:9c51ceb66d20f49ca417da1213441d4824cba8206d88f33b2481ed6eea51a399"
208
212
  },
209
213
  {
210
214
  "path": "skills/chair-review/openplanr.skill.json",
@@ -228,7 +232,7 @@
228
232
  },
229
233
  {
230
234
  "path": "skills/chair-review/SKILL.md",
231
- "digest": "sha256:3336fb4b44874e421d57ce42ef49620873289b2ede6fdf7b4431f787c61c3be7"
235
+ "digest": "sha256:fcc1f07dff8de8bd104a0176a4265fb71e380a9a3dbbcbc0c21e4a113f38acfd"
232
236
  },
233
237
  {
234
238
  "path": "skills/challenger-review/openplanr.skill.json",
@@ -252,7 +256,7 @@
252
256
  },
253
257
  {
254
258
  "path": "skills/challenger-review/SKILL.md",
255
- "digest": "sha256:9e2f5356100826c7e526bd57c3a09deca1f303cbd0a31591fd2ab1bfa5a5378b"
259
+ "digest": "sha256:7eb97bc94201cd9aff3751430437ea116b15a8d1347269ce3b0cbbd9cbf0d8c7"
256
260
  },
257
261
  {
258
262
  "path": "skills/cmo-review/openplanr.skill.json",
@@ -280,7 +284,7 @@
280
284
  },
281
285
  {
282
286
  "path": "skills/cmo-review/SKILL.md",
283
- "digest": "sha256:425c71f6fec8a60db7a25017237fa136808a4b66d2f6e19ae259fe943b8467eb"
287
+ "digest": "sha256:31112e8deae357bbde9d51d9707400f63e16563bf08f4774acb52e2f5ccdfa2a"
284
288
  },
285
289
  {
286
290
  "path": "skills/coo-review/openplanr.skill.json",
@@ -308,7 +312,7 @@
308
312
  },
309
313
  {
310
314
  "path": "skills/coo-review/SKILL.md",
311
- "digest": "sha256:48c80085871d3a19825120ba18828587347a8877b16b016ca65cea7cc1a87736"
315
+ "digest": "sha256:8d6b132b39e41d249961602e002035f4748f1ad4299984952f00d6b16485a678"
312
316
  },
313
317
  {
314
318
  "path": "skills/cpo-review/openplanr.skill.json",
@@ -336,7 +340,7 @@
336
340
  },
337
341
  {
338
342
  "path": "skills/cpo-review/SKILL.md",
339
- "digest": "sha256:bf26e686965921029fed599fa7d597686dc42ce44f8000e0a2b36a6d5f5174de"
343
+ "digest": "sha256:77d2f464f9102515ab842fc5afe76feae7a12c9ecde150c2392a599b50186cf4"
340
344
  },
341
345
  {
342
346
  "path": "skills/cto-review/openplanr.skill.json",
@@ -364,7 +368,7 @@
364
368
  },
365
369
  {
366
370
  "path": "skills/cto-review/SKILL.md",
367
- "digest": "sha256:978cb42db8fa3e23a9ca7717806cd5e73cb7df74e4ac56b3d6352602f999f44f"
371
+ "digest": "sha256:7addd0afdd7a17032f24c54c11dfc80beef516f0d7d90dfa11392a9556245b1e"
368
372
  },
369
373
  {
370
374
  "path": "skills/dashboard/openplanr.skill.json",
@@ -376,7 +380,7 @@
376
380
  },
377
381
  {
378
382
  "path": "skills/design-loop/openplanr.skill.json",
379
- "digest": "sha256:56dc09a795ee2a2cfb98b4a2f023f8fe83d044a7e5a4778d906c78116ba78bd5"
383
+ "digest": "sha256:4dc9b54a53a6a1e591f5e31bf68088caaccfbac18d45061e4af2940fcdfbb8e4"
380
384
  },
381
385
  {
382
386
  "path": "skills/design-loop/references/craft.md",
@@ -426,9 +430,41 @@
426
430
  "path": "skills/design-loop/schemas/design-review-handoff.schema.json",
427
431
  "digest": "sha256:402b25238f93f8269b98697bf77fa11dda1fd284f44e41d73cdb813f5244a4e0"
428
432
  },
433
+ {
434
+ "path": "skills/design-loop/scripts/design-artifact-shell.mjs",
435
+ "digest": "sha256:9245a86f8e3f20f6ec4c705d1364d2d6d3e639b34a7d41162769a0f490dd39df"
436
+ },
437
+ {
438
+ "path": "skills/design-loop/scripts/design-document.mjs",
439
+ "digest": "sha256:7e15b9f9e9afd29be2a2558fad9e57b5df85e494a586180d5afe23015cdbcfb7"
440
+ },
441
+ {
442
+ "path": "skills/design-loop/scripts/design-entities.mjs",
443
+ "digest": "sha256:376ec35d0f184deac31b639f2c0918e6b0f165e19984ed1c89ba2cfad6af9b80"
444
+ },
445
+ {
446
+ "path": "skills/design-loop/scripts/design-parse5-parser.mjs",
447
+ "digest": "sha256:a9bfeecae4d31155a6935455c82ea8348da25f8585216b531d00c6599b8196e4"
448
+ },
449
+ {
450
+ "path": "skills/design-loop/scripts/design-parse5-tokenizer.mjs",
451
+ "digest": "sha256:f655474fb8d0bed732f01ace5b67102f849b73cb40831a57f1fb7b61180fbde9"
452
+ },
453
+ {
454
+ "path": "skills/design-loop/scripts/design-review-handoff.mjs",
455
+ "digest": "sha256:1d04e0d821738f3934fb3fbd314b161fb557f4459cf2da2d1921c99d27d7d861"
456
+ },
457
+ {
458
+ "path": "skills/design-loop/scripts/design-sandbox-guards.mjs",
459
+ "digest": "sha256:dcc7aa1971da47018a198bfe7520c05e3e5ba21fe2d9c8fffcaad882ded5bbbb"
460
+ },
461
+ {
462
+ "path": "skills/design-loop/scripts/design-share.mjs",
463
+ "digest": "sha256:b10d7ce9cdb3eb48b9aca803e4d2ecc4f8e477e91f4a0c6a3ae17a1f7985aa06"
464
+ },
429
465
  {
430
466
  "path": "skills/design-loop/scripts/design.mjs",
431
- "digest": "sha256:1fd130d914dd6b84992007fcf300b6083e04ee3983beaf1718cd1866a26b4d7a"
467
+ "digest": "sha256:ab33412cab749120e07359983f85bcb64038026844c06ff9f464c4f371d6d6ca"
432
468
  },
433
469
  {
434
470
  "path": "skills/design-loop/scripts/runtime/notices/entities.txt",
@@ -464,11 +500,11 @@
464
500
  },
465
501
  {
466
502
  "path": "skills/design-loop/scripts/runtime/packages/design/templates/studio/studio.js",
467
- "digest": "sha256:8e0ae7d5ddbb058f4b3f7a0876ce8259dd247358c40ce666763e9001b3bc5338"
503
+ "digest": "sha256:85f8b084457aaa172025fb878b64059782cb976f72451b207c7bc40e8c982bb8"
468
504
  },
469
505
  {
470
506
  "path": "skills/design-loop/scripts/runtime/packages/protocol/package.json",
471
- "digest": "sha256:344e2118724b905e310c4919e9515ff326641f84819202921af871388bd7ea53"
507
+ "digest": "sha256:931a50e413656f4dcd95db2451b5fc63c985b13494b4b01b492d8292529f4fcb"
472
508
  },
473
509
  {
474
510
  "path": "skills/design-loop/scripts/runtime/packages/protocol/registries/artifact-theme.json",
@@ -556,7 +592,7 @@
556
592
  },
557
593
  {
558
594
  "path": "skills/design-review/openplanr.skill.json",
559
- "digest": "sha256:2dbcbfe72ca6092a1eb3adc5782d314b04211f64ac64833aa2191265267d319f"
595
+ "digest": "sha256:5abf56388a0cae2fc5c2135ce01538e46b7131e9c82a1eae479852b92435ea92"
560
596
  },
561
597
  {
562
598
  "path": "skills/design-review/references/craft.md",
@@ -606,9 +642,41 @@
606
642
  "path": "skills/design-review/schemas/design-review-handoff.schema.json",
607
643
  "digest": "sha256:402b25238f93f8269b98697bf77fa11dda1fd284f44e41d73cdb813f5244a4e0"
608
644
  },
645
+ {
646
+ "path": "skills/design-review/scripts/design-artifact-shell.mjs",
647
+ "digest": "sha256:9245a86f8e3f20f6ec4c705d1364d2d6d3e639b34a7d41162769a0f490dd39df"
648
+ },
649
+ {
650
+ "path": "skills/design-review/scripts/design-document.mjs",
651
+ "digest": "sha256:7e15b9f9e9afd29be2a2558fad9e57b5df85e494a586180d5afe23015cdbcfb7"
652
+ },
653
+ {
654
+ "path": "skills/design-review/scripts/design-entities.mjs",
655
+ "digest": "sha256:376ec35d0f184deac31b639f2c0918e6b0f165e19984ed1c89ba2cfad6af9b80"
656
+ },
657
+ {
658
+ "path": "skills/design-review/scripts/design-parse5-parser.mjs",
659
+ "digest": "sha256:a9bfeecae4d31155a6935455c82ea8348da25f8585216b531d00c6599b8196e4"
660
+ },
661
+ {
662
+ "path": "skills/design-review/scripts/design-parse5-tokenizer.mjs",
663
+ "digest": "sha256:f655474fb8d0bed732f01ace5b67102f849b73cb40831a57f1fb7b61180fbde9"
664
+ },
665
+ {
666
+ "path": "skills/design-review/scripts/design-review-handoff.mjs",
667
+ "digest": "sha256:1d04e0d821738f3934fb3fbd314b161fb557f4459cf2da2d1921c99d27d7d861"
668
+ },
669
+ {
670
+ "path": "skills/design-review/scripts/design-sandbox-guards.mjs",
671
+ "digest": "sha256:dcc7aa1971da47018a198bfe7520c05e3e5ba21fe2d9c8fffcaad882ded5bbbb"
672
+ },
673
+ {
674
+ "path": "skills/design-review/scripts/design-share.mjs",
675
+ "digest": "sha256:b10d7ce9cdb3eb48b9aca803e4d2ecc4f8e477e91f4a0c6a3ae17a1f7985aa06"
676
+ },
609
677
  {
610
678
  "path": "skills/design-review/scripts/design.mjs",
611
- "digest": "sha256:1fd130d914dd6b84992007fcf300b6083e04ee3983beaf1718cd1866a26b4d7a"
679
+ "digest": "sha256:ab33412cab749120e07359983f85bcb64038026844c06ff9f464c4f371d6d6ca"
612
680
  },
613
681
  {
614
682
  "path": "skills/design-review/scripts/runtime/notices/entities.txt",
@@ -644,11 +712,11 @@
644
712
  },
645
713
  {
646
714
  "path": "skills/design-review/scripts/runtime/packages/design/templates/studio/studio.js",
647
- "digest": "sha256:8e0ae7d5ddbb058f4b3f7a0876ce8259dd247358c40ce666763e9001b3bc5338"
715
+ "digest": "sha256:85f8b084457aaa172025fb878b64059782cb976f72451b207c7bc40e8c982bb8"
648
716
  },
649
717
  {
650
718
  "path": "skills/design-review/scripts/runtime/packages/protocol/package.json",
651
- "digest": "sha256:344e2118724b905e310c4919e9515ff326641f84819202921af871388bd7ea53"
719
+ "digest": "sha256:931a50e413656f4dcd95db2451b5fc63c985b13494b4b01b492d8292529f4fcb"
652
720
  },
653
721
  {
654
722
  "path": "skills/design-review/scripts/runtime/packages/protocol/registries/artifact-theme.json",
@@ -736,7 +804,7 @@
736
804
  },
737
805
  {
738
806
  "path": "skills/design/openplanr.skill.json",
739
- "digest": "sha256:36772da092a70a0e83f331723926d9dd58fa82d3b81d112179dfb3d7ab60bc1f"
807
+ "digest": "sha256:d44c329b3754caa65cd0209f39fa31327f6ff68257f0de8c6f3ab26c3be9cc6c"
740
808
  },
741
809
  {
742
810
  "path": "skills/design/references/craft.md",
@@ -786,9 +854,41 @@
786
854
  "path": "skills/design/schemas/design-review-handoff.schema.json",
787
855
  "digest": "sha256:402b25238f93f8269b98697bf77fa11dda1fd284f44e41d73cdb813f5244a4e0"
788
856
  },
857
+ {
858
+ "path": "skills/design/scripts/design-artifact-shell.mjs",
859
+ "digest": "sha256:9245a86f8e3f20f6ec4c705d1364d2d6d3e639b34a7d41162769a0f490dd39df"
860
+ },
861
+ {
862
+ "path": "skills/design/scripts/design-document.mjs",
863
+ "digest": "sha256:7e15b9f9e9afd29be2a2558fad9e57b5df85e494a586180d5afe23015cdbcfb7"
864
+ },
865
+ {
866
+ "path": "skills/design/scripts/design-entities.mjs",
867
+ "digest": "sha256:376ec35d0f184deac31b639f2c0918e6b0f165e19984ed1c89ba2cfad6af9b80"
868
+ },
869
+ {
870
+ "path": "skills/design/scripts/design-parse5-parser.mjs",
871
+ "digest": "sha256:a9bfeecae4d31155a6935455c82ea8348da25f8585216b531d00c6599b8196e4"
872
+ },
873
+ {
874
+ "path": "skills/design/scripts/design-parse5-tokenizer.mjs",
875
+ "digest": "sha256:f655474fb8d0bed732f01ace5b67102f849b73cb40831a57f1fb7b61180fbde9"
876
+ },
877
+ {
878
+ "path": "skills/design/scripts/design-review-handoff.mjs",
879
+ "digest": "sha256:1d04e0d821738f3934fb3fbd314b161fb557f4459cf2da2d1921c99d27d7d861"
880
+ },
881
+ {
882
+ "path": "skills/design/scripts/design-sandbox-guards.mjs",
883
+ "digest": "sha256:dcc7aa1971da47018a198bfe7520c05e3e5ba21fe2d9c8fffcaad882ded5bbbb"
884
+ },
885
+ {
886
+ "path": "skills/design/scripts/design-share.mjs",
887
+ "digest": "sha256:b10d7ce9cdb3eb48b9aca803e4d2ecc4f8e477e91f4a0c6a3ae17a1f7985aa06"
888
+ },
789
889
  {
790
890
  "path": "skills/design/scripts/design.mjs",
791
- "digest": "sha256:1fd130d914dd6b84992007fcf300b6083e04ee3983beaf1718cd1866a26b4d7a"
891
+ "digest": "sha256:ab33412cab749120e07359983f85bcb64038026844c06ff9f464c4f371d6d6ca"
792
892
  },
793
893
  {
794
894
  "path": "skills/design/scripts/runtime/notices/entities.txt",
@@ -824,11 +924,11 @@
824
924
  },
825
925
  {
826
926
  "path": "skills/design/scripts/runtime/packages/design/templates/studio/studio.js",
827
- "digest": "sha256:8e0ae7d5ddbb058f4b3f7a0876ce8259dd247358c40ce666763e9001b3bc5338"
927
+ "digest": "sha256:85f8b084457aaa172025fb878b64059782cb976f72451b207c7bc40e8c982bb8"
828
928
  },
829
929
  {
830
930
  "path": "skills/design/scripts/runtime/packages/protocol/package.json",
831
- "digest": "sha256:344e2118724b905e310c4919e9515ff326641f84819202921af871388bd7ea53"
931
+ "digest": "sha256:931a50e413656f4dcd95db2451b5fc63c985b13494b4b01b492d8292529f4fcb"
832
932
  },
833
933
  {
834
934
  "path": "skills/design/scripts/runtime/packages/protocol/registries/artifact-theme.json",
@@ -1004,7 +1104,7 @@
1004
1104
  },
1005
1105
  {
1006
1106
  "path": "skills/plan/openplanr.skill.json",
1007
- "digest": "sha256:1f83ec18d867ab0e02d687a1b83398c2a527585b9f369fee1c3dc86f16731f05"
1107
+ "digest": "sha256:1feb1a6f4b5e57226f067f4be7f5bb427bbe99c52ef3b192885e07a0afc3f558"
1008
1108
  },
1009
1109
  {
1010
1110
  "path": "skills/plan/references/artifact-contract.md",
@@ -1026,9 +1126,41 @@
1026
1126
  "path": "skills/plan/schemas/design-review-handoff.schema.json",
1027
1127
  "digest": "sha256:402b25238f93f8269b98697bf77fa11dda1fd284f44e41d73cdb813f5244a4e0"
1028
1128
  },
1129
+ {
1130
+ "path": "skills/plan/scripts/design-artifact-shell.mjs",
1131
+ "digest": "sha256:9245a86f8e3f20f6ec4c705d1364d2d6d3e639b34a7d41162769a0f490dd39df"
1132
+ },
1133
+ {
1134
+ "path": "skills/plan/scripts/design-document.mjs",
1135
+ "digest": "sha256:7e15b9f9e9afd29be2a2558fad9e57b5df85e494a586180d5afe23015cdbcfb7"
1136
+ },
1137
+ {
1138
+ "path": "skills/plan/scripts/design-entities.mjs",
1139
+ "digest": "sha256:376ec35d0f184deac31b639f2c0918e6b0f165e19984ed1c89ba2cfad6af9b80"
1140
+ },
1141
+ {
1142
+ "path": "skills/plan/scripts/design-parse5-parser.mjs",
1143
+ "digest": "sha256:a9bfeecae4d31155a6935455c82ea8348da25f8585216b531d00c6599b8196e4"
1144
+ },
1145
+ {
1146
+ "path": "skills/plan/scripts/design-parse5-tokenizer.mjs",
1147
+ "digest": "sha256:f655474fb8d0bed732f01ace5b67102f849b73cb40831a57f1fb7b61180fbde9"
1148
+ },
1149
+ {
1150
+ "path": "skills/plan/scripts/design-review-handoff.mjs",
1151
+ "digest": "sha256:1d04e0d821738f3934fb3fbd314b161fb557f4459cf2da2d1921c99d27d7d861"
1152
+ },
1153
+ {
1154
+ "path": "skills/plan/scripts/design-sandbox-guards.mjs",
1155
+ "digest": "sha256:dcc7aa1971da47018a198bfe7520c05e3e5ba21fe2d9c8fffcaad882ded5bbbb"
1156
+ },
1157
+ {
1158
+ "path": "skills/plan/scripts/design-share.mjs",
1159
+ "digest": "sha256:b10d7ce9cdb3eb48b9aca803e4d2ecc4f8e477e91f4a0c6a3ae17a1f7985aa06"
1160
+ },
1029
1161
  {
1030
1162
  "path": "skills/plan/scripts/design.mjs",
1031
- "digest": "sha256:1fd130d914dd6b84992007fcf300b6083e04ee3983beaf1718cd1866a26b4d7a"
1163
+ "digest": "sha256:ab33412cab749120e07359983f85bcb64038026844c06ff9f464c4f371d6d6ca"
1032
1164
  },
1033
1165
  {
1034
1166
  "path": "skills/plan/scripts/planning-ids.mjs",
@@ -1068,11 +1200,11 @@
1068
1200
  },
1069
1201
  {
1070
1202
  "path": "skills/plan/scripts/runtime/packages/design/templates/studio/studio.js",
1071
- "digest": "sha256:8e0ae7d5ddbb058f4b3f7a0876ce8259dd247358c40ce666763e9001b3bc5338"
1203
+ "digest": "sha256:85f8b084457aaa172025fb878b64059782cb976f72451b207c7bc40e8c982bb8"
1072
1204
  },
1073
1205
  {
1074
1206
  "path": "skills/plan/scripts/runtime/packages/protocol/package.json",
1075
- "digest": "sha256:344e2118724b905e310c4919e9515ff326641f84819202921af871388bd7ea53"
1207
+ "digest": "sha256:931a50e413656f4dcd95db2451b5fc63c985b13494b4b01b492d8292529f4fcb"
1076
1208
  },
1077
1209
  {
1078
1210
  "path": "skills/plan/scripts/runtime/packages/protocol/registries/artifact-theme.json",
@@ -1256,12 +1388,12 @@
1256
1388
  },
1257
1389
  {
1258
1390
  "path": "skills/sync/scripts/sync.mjs",
1259
- "digest": "sha256:42fb430add6e96c73a8d1c5ea5df7a6ce0bdffc20b9c375eff9333c6c741b308"
1391
+ "digest": "sha256:005397d703d8df70f346a789d15c665a44329449418b39e807bb0dff927153da"
1260
1392
  },
1261
1393
  {
1262
1394
  "path": "skills/sync/SKILL.md",
1263
- "digest": "sha256:53698324b62f43b672ce8fe1654c526c96fb202e313442f09c6fc1e72268677e"
1395
+ "digest": "sha256:06048f24128098919931db60272e0e14fe51bcbeba4b499db587e3b89d7bb3b9"
1264
1396
  }
1265
1397
  ],
1266
- "contentDigest": "sha256:74a4134eed2a907ef2a8bba46715307ac86cd30775e1f671b5faddf02f642704"
1398
+ "contentDigest": "sha256:a21fbc2f6db94d01be05e1888d25effbedb46fb38fd67bca689891b626fe8cde"
1267
1399
  }
@@ -17,7 +17,7 @@ Follow with `/planr:plan` to decompose the specification into stories and tasks,
17
17
  ## Install the CLI
18
18
 
19
19
  Several skills call the deterministic `planr` CLI from the `openplanr` npm package, which ships
20
- this plugin at the same version (2.2639.4):
20
+ this plugin at the same version (2.2640.0):
21
21
 
22
22
  ```bash
23
23
  npm install -g openplanr
@@ -37,8 +37,9 @@ The same skills ship for Codex and Cursor through the `openplanr` package.
37
37
  read and write files in your repository.
38
38
  - The planning dashboard and local artifact reviews bind to loopback only.
39
39
  - Only when you ask:
40
- - `sync` reconciles planning files with GitHub Issues through `gh`, or with Linear by sending
41
- the `PLANR_LINEAR_TOKEN` you set to `api.linear.app`. Writes need `--apply`.
40
+ - `sync` reconciles planning files with GitHub Issues through `gh` (writes need `--apply`),
41
+ or with Linear through your Linear connector or the `planr linear` CLI, which keeps its own
42
+ token.
42
43
  - `artifact` and the design skills share an encrypted review through `share.openplanr.dev`.
43
44
  - The CLI's optional design engine calls OpenAI only when you select its OpenAI provider and
44
45
  supply your own key.
@@ -2,7 +2,7 @@
2
2
  name: ceo-review
3
3
  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."
4
4
  license: MIT
5
- allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Write"
5
+ allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Edit(./.planr/operate/**)"
6
6
  ---
7
7
 
8
8
  # CEO review (`strategy-finance`)
@@ -2,7 +2,7 @@
2
2
  name: chair-review
3
3
  description: "Synthesize an Operate cycle into a prioritized decision queue and action plan. Use after specialist reviews when leadership needs one coherent brief."
4
4
  license: MIT
5
- allowed-tools: "Read, Grep, Glob, Write"
5
+ allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)"
6
6
  ---
7
7
 
8
8
  # Chair synthesis (`chair`)
@@ -2,7 +2,7 @@
2
2
  name: challenger-review
3
3
  description: "Challenge an Operate cycle's claims, alternatives, downside, and confidence. Use when assumptions or executive consensus need an independent stress test."
4
4
  license: MIT
5
- allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Write"
5
+ allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Edit(./.planr/operate/**)"
6
6
  ---
7
7
 
8
8
  # Challenger review (`independent-challenge`)
@@ -2,7 +2,7 @@
2
2
  name: cmo-review
3
3
  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."
4
4
  license: MIT
5
- allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Write"
5
+ allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Edit(./.planr/operate/**)"
6
6
  ---
7
7
 
8
8
  # CMO review (`growth-market`)
@@ -2,7 +2,7 @@
2
2
  name: coo-review
3
3
  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."
4
4
  license: MIT
5
- allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Write"
5
+ allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Edit(./.planr/operate/**)"
6
6
  ---
7
7
 
8
8
  # COO review (`operations-customer`)
@@ -2,7 +2,7 @@
2
2
  name: cpo-review
3
3
  description: "Produce a grounded product and activation review for an Operate cycle. Use when customer value, activation, prioritization, or adoption needs a CPO lens."
4
4
  license: MIT
5
- allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Write"
5
+ allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Edit(./.planr/operate/**)"
6
6
  ---
7
7
 
8
8
  # CPO review (`product-activation`)
@@ -2,7 +2,7 @@
2
2
  name: cto-review
3
3
  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."
4
4
  license: MIT
5
- allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Write"
5
+ allowed-tools: "Read, Grep, Glob, Bash(git log:*), Bash(git show:*), Bash(git diff:*), Edit(./.planr/operate/**)"
6
6
  ---
7
7
 
8
8
  # CTO review (`technology-risk`)
@@ -132,6 +132,94 @@
132
132
  "cursor"
133
133
  ]
134
134
  },
135
+ {
136
+ "path": "scripts/design-artifact-shell.mjs",
137
+ "kind": "script",
138
+ "executable": false,
139
+ "hosts": [
140
+ "claude-code",
141
+ "codex",
142
+ "chatgpt",
143
+ "cursor"
144
+ ]
145
+ },
146
+ {
147
+ "path": "scripts/design-document.mjs",
148
+ "kind": "script",
149
+ "executable": false,
150
+ "hosts": [
151
+ "claude-code",
152
+ "codex",
153
+ "chatgpt",
154
+ "cursor"
155
+ ]
156
+ },
157
+ {
158
+ "path": "scripts/design-entities.mjs",
159
+ "kind": "script",
160
+ "executable": false,
161
+ "hosts": [
162
+ "claude-code",
163
+ "codex",
164
+ "chatgpt",
165
+ "cursor"
166
+ ]
167
+ },
168
+ {
169
+ "path": "scripts/design-parse5-parser.mjs",
170
+ "kind": "script",
171
+ "executable": false,
172
+ "hosts": [
173
+ "claude-code",
174
+ "codex",
175
+ "chatgpt",
176
+ "cursor"
177
+ ]
178
+ },
179
+ {
180
+ "path": "scripts/design-parse5-tokenizer.mjs",
181
+ "kind": "script",
182
+ "executable": false,
183
+ "hosts": [
184
+ "claude-code",
185
+ "codex",
186
+ "chatgpt",
187
+ "cursor"
188
+ ]
189
+ },
190
+ {
191
+ "path": "scripts/design-review-handoff.mjs",
192
+ "kind": "script",
193
+ "executable": false,
194
+ "hosts": [
195
+ "claude-code",
196
+ "codex",
197
+ "chatgpt",
198
+ "cursor"
199
+ ]
200
+ },
201
+ {
202
+ "path": "scripts/design-sandbox-guards.mjs",
203
+ "kind": "script",
204
+ "executable": false,
205
+ "hosts": [
206
+ "claude-code",
207
+ "codex",
208
+ "chatgpt",
209
+ "cursor"
210
+ ]
211
+ },
212
+ {
213
+ "path": "scripts/design-share.mjs",
214
+ "kind": "script",
215
+ "executable": false,
216
+ "hosts": [
217
+ "claude-code",
218
+ "codex",
219
+ "chatgpt",
220
+ "cursor"
221
+ ]
222
+ },
135
223
  {
136
224
  "path": "schemas/design-document.schema.json",
137
225
  "kind": "schema",