openplanr 3.5.0 → 3.6.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 (217) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/cli/commands/backlog-commands.d.ts +3 -0
  3. package/dist/cli/commands/backlog-commands.d.ts.map +1 -0
  4. package/dist/cli/commands/backlog-commands.js +60 -0
  5. package/dist/cli/commands/backlog-commands.js.map +1 -0
  6. package/dist/cli/commands/company.d.ts.map +1 -1
  7. package/dist/cli/commands/company.js +17 -0
  8. package/dist/cli/commands/company.js.map +1 -1
  9. package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
  10. package/dist/cli/commands/planning-artifacts.js +13 -5
  11. package/dist/cli/commands/planning-artifacts.js.map +1 -1
  12. package/dist/dashboard/.vite/manifest.json +1 -1
  13. package/dist/dashboard/assets/{index-B-l_941W.js → index-C_OquZVk.js} +2 -2
  14. package/dist/dashboard/assets/{index-B-l_941W.js.map → index-C_OquZVk.js.map} +1 -1
  15. package/dist/dashboard/dashboard-manifest.json +8 -8
  16. package/dist/dashboard/index.html +1 -1
  17. package/dist/services/artifact-service.d.ts.map +1 -1
  18. package/dist/services/artifact-service.js +13 -6
  19. package/dist/services/artifact-service.js.map +1 -1
  20. package/dist/services/company-export-service.d.ts +41 -0
  21. package/dist/services/company-export-service.d.ts.map +1 -0
  22. package/dist/services/company-export-service.js +429 -0
  23. package/dist/services/company-export-service.js.map +1 -0
  24. package/dist/services/company-sync-service.d.ts +24 -1
  25. package/dist/services/company-sync-service.d.ts.map +1 -1
  26. package/dist/services/company-sync-service.js +36 -19
  27. package/dist/services/company-sync-service.js.map +1 -1
  28. package/docs/CLI.md +97 -1
  29. package/lib/backlog-item.d.mts +45 -1
  30. package/lib/backlog-item.mjs +302 -34
  31. package/lib/host-packages/adapter-registry.json +4 -4
  32. package/lib/host-packages/capability-map.json +1 -1
  33. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  34. package/lib/host-packages/claude/openplanr/.claude-plugin/icon.png +0 -0
  35. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  36. package/lib/host-packages/claude/openplanr/.openplanr-content.json +77 -77
  37. package/lib/host-packages/claude/openplanr/README.md +1 -1
  38. package/lib/host-packages/claude/openplanr/skills/ceo-review/references/note-checklist.md +131 -0
  39. package/lib/host-packages/claude/openplanr/skills/ceo-review/references/operate-advisor-contract.md +2 -7
  40. package/lib/host-packages/claude/openplanr/skills/chair-review/SKILL.md +2 -7
  41. package/lib/host-packages/claude/openplanr/skills/chair-review/references/note-checklist.md +131 -0
  42. package/lib/host-packages/claude/openplanr/skills/challenger-review/SKILL.md +3 -7
  43. package/lib/host-packages/claude/openplanr/skills/challenger-review/references/note-checklist.md +131 -0
  44. package/lib/host-packages/claude/openplanr/skills/cmo-review/references/note-checklist.md +131 -0
  45. package/lib/host-packages/claude/openplanr/skills/cmo-review/references/operate-advisor-contract.md +2 -7
  46. package/lib/host-packages/claude/openplanr/skills/coo-review/references/note-checklist.md +131 -0
  47. package/lib/host-packages/claude/openplanr/skills/coo-review/references/operate-advisor-contract.md +2 -7
  48. package/lib/host-packages/claude/openplanr/skills/cpo-review/references/note-checklist.md +131 -0
  49. package/lib/host-packages/claude/openplanr/skills/cpo-review/references/operate-advisor-contract.md +2 -7
  50. package/lib/host-packages/claude/openplanr/skills/cto-review/references/note-checklist.md +131 -0
  51. package/lib/host-packages/claude/openplanr/skills/cto-review/references/operate-advisor-contract.md +2 -7
  52. package/lib/host-packages/claude/openplanr/skills/investigate/SKILL.md +2 -3
  53. package/lib/host-packages/claude/openplanr/skills/investigate/references/backlog-filing.md +102 -0
  54. package/lib/host-packages/claude/openplanr/skills/investigate/references/findings.md +8 -16
  55. package/lib/host-packages/claude/openplanr/skills/operate/SKILL.md +73 -84
  56. package/lib/host-packages/claude/openplanr/skills/operate/references/note-checklist.md +131 -0
  57. package/lib/host-packages/claude/openplanr/skills/operate/references/return-contract.md +10 -0
  58. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +16 -17
  59. package/lib/host-packages/claude/openplanr/skills/plan/references/planning-ids.md +53 -0
  60. package/lib/host-packages/claude/openplanr/skills/plan/references/return-contract.md +10 -0
  61. package/lib/host-packages/claude/openplanr/skills/plan-review/SKILL.md +6 -6
  62. package/lib/host-packages/claude/openplanr/skills/plan-review/references/return-contract.md +10 -0
  63. package/lib/host-packages/claude/openplanr/skills/release/SKILL.md +40 -139
  64. package/lib/host-packages/claude/openplanr/skills/release/references/cadence.md +10 -0
  65. package/lib/host-packages/claude/openplanr/skills/release/references/release-notes.md +1 -1
  66. package/lib/host-packages/claude/openplanr/skills/release/references/return-contract.md +10 -0
  67. package/lib/host-packages/claude/openplanr/skills/release/references/schemes.md +4 -2
  68. package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +37 -24
  69. package/lib/host-packages/claude/openplanr/skills/ship/references/backlog-filing.md +102 -0
  70. package/lib/host-packages/claude/openplanr/skills/ship/references/findings.md +8 -16
  71. package/lib/host-packages/claude/openplanr/skills/ship/references/return-contract.md +10 -0
  72. package/lib/host-packages/claude/openplanr/skills/spec/SKILL.md +9 -9
  73. package/lib/host-packages/claude/openplanr/skills/spec/references/return-contract.md +10 -0
  74. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +74 -74
  75. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  76. package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/references/note-checklist.md +131 -0
  77. package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/references/operate-advisor-contract.md +2 -7
  78. package/lib/host-packages/cursor/openplanr/rules/planr-chair-review/references/note-checklist.md +131 -0
  79. package/lib/host-packages/cursor/openplanr/rules/planr-chair-review.mdc +2 -7
  80. package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review/references/note-checklist.md +131 -0
  81. package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review.mdc +3 -7
  82. package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/references/note-checklist.md +131 -0
  83. package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/references/operate-advisor-contract.md +2 -7
  84. package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/references/note-checklist.md +131 -0
  85. package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/references/operate-advisor-contract.md +2 -7
  86. package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/references/note-checklist.md +131 -0
  87. package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/references/operate-advisor-contract.md +2 -7
  88. package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/references/note-checklist.md +131 -0
  89. package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/references/operate-advisor-contract.md +2 -7
  90. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/references/backlog-filing.md +102 -0
  91. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/references/findings.md +8 -16
  92. package/lib/host-packages/cursor/openplanr/rules/planr-investigate.mdc +2 -3
  93. package/lib/host-packages/cursor/openplanr/rules/planr-operate/references/note-checklist.md +131 -0
  94. package/lib/host-packages/cursor/openplanr/rules/planr-operate/references/return-contract.md +10 -0
  95. package/lib/host-packages/cursor/openplanr/rules/planr-operate.mdc +73 -84
  96. package/lib/host-packages/cursor/openplanr/rules/planr-plan/references/planning-ids.md +53 -0
  97. package/lib/host-packages/cursor/openplanr/rules/planr-plan/references/return-contract.md +10 -0
  98. package/lib/host-packages/cursor/openplanr/rules/planr-plan-review/references/return-contract.md +10 -0
  99. package/lib/host-packages/cursor/openplanr/rules/planr-plan-review.mdc +6 -6
  100. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +16 -17
  101. package/lib/host-packages/cursor/openplanr/rules/planr-release/references/cadence.md +10 -0
  102. package/lib/host-packages/cursor/openplanr/rules/planr-release/references/release-notes.md +1 -1
  103. package/lib/host-packages/cursor/openplanr/rules/planr-release/references/return-contract.md +10 -0
  104. package/lib/host-packages/cursor/openplanr/rules/planr-release/references/schemes.md +4 -2
  105. package/lib/host-packages/cursor/openplanr/rules/planr-release.mdc +40 -139
  106. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/backlog-filing.md +102 -0
  107. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/findings.md +8 -16
  108. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/return-contract.md +10 -0
  109. package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +37 -24
  110. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/return-contract.md +10 -0
  111. package/lib/host-packages/cursor/openplanr/rules/planr-spec.mdc +9 -9
  112. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  113. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  114. package/lib/host-packages/openai/openplanr/.openplanr-content.json +89 -89
  115. package/lib/host-packages/openai/openplanr/skills/ceo-review/openplanr.skill.json +4 -4
  116. package/lib/host-packages/openai/openplanr/skills/ceo-review/references/note-checklist.md +131 -0
  117. package/lib/host-packages/openai/openplanr/skills/ceo-review/references/operate-advisor-contract.md +2 -7
  118. package/lib/host-packages/openai/openplanr/skills/chair-review/SKILL.md +2 -7
  119. package/lib/host-packages/openai/openplanr/skills/chair-review/openplanr.skill.json +4 -4
  120. package/lib/host-packages/openai/openplanr/skills/chair-review/references/note-checklist.md +131 -0
  121. package/lib/host-packages/openai/openplanr/skills/challenger-review/SKILL.md +3 -7
  122. package/lib/host-packages/openai/openplanr/skills/challenger-review/openplanr.skill.json +4 -4
  123. package/lib/host-packages/openai/openplanr/skills/challenger-review/references/note-checklist.md +131 -0
  124. package/lib/host-packages/openai/openplanr/skills/cmo-review/openplanr.skill.json +4 -4
  125. package/lib/host-packages/openai/openplanr/skills/cmo-review/references/note-checklist.md +131 -0
  126. package/lib/host-packages/openai/openplanr/skills/cmo-review/references/operate-advisor-contract.md +2 -7
  127. package/lib/host-packages/openai/openplanr/skills/coo-review/openplanr.skill.json +4 -4
  128. package/lib/host-packages/openai/openplanr/skills/coo-review/references/note-checklist.md +131 -0
  129. package/lib/host-packages/openai/openplanr/skills/coo-review/references/operate-advisor-contract.md +2 -7
  130. package/lib/host-packages/openai/openplanr/skills/cpo-review/openplanr.skill.json +4 -4
  131. package/lib/host-packages/openai/openplanr/skills/cpo-review/references/note-checklist.md +131 -0
  132. package/lib/host-packages/openai/openplanr/skills/cpo-review/references/operate-advisor-contract.md +2 -7
  133. package/lib/host-packages/openai/openplanr/skills/cto-review/openplanr.skill.json +4 -4
  134. package/lib/host-packages/openai/openplanr/skills/cto-review/references/note-checklist.md +131 -0
  135. package/lib/host-packages/openai/openplanr/skills/cto-review/references/operate-advisor-contract.md +2 -7
  136. package/lib/host-packages/openai/openplanr/skills/investigate/SKILL.md +2 -3
  137. package/lib/host-packages/openai/openplanr/skills/investigate/openplanr.skill.json +4 -4
  138. package/lib/host-packages/openai/openplanr/skills/investigate/references/backlog-filing.md +102 -0
  139. package/lib/host-packages/openai/openplanr/skills/investigate/references/findings.md +8 -16
  140. package/lib/host-packages/openai/openplanr/skills/operate/SKILL.md +73 -84
  141. package/lib/host-packages/openai/openplanr/skills/operate/openplanr.skill.json +15 -4
  142. package/lib/host-packages/openai/openplanr/skills/operate/references/note-checklist.md +131 -0
  143. package/lib/host-packages/openai/openplanr/skills/operate/references/return-contract.md +10 -0
  144. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +16 -17
  145. package/lib/host-packages/openai/openplanr/skills/plan/openplanr.skill.json +15 -4
  146. package/lib/host-packages/openai/openplanr/skills/plan/references/planning-ids.md +53 -0
  147. package/lib/host-packages/openai/openplanr/skills/plan/references/return-contract.md +10 -0
  148. package/lib/host-packages/openai/openplanr/skills/plan-review/SKILL.md +6 -6
  149. package/lib/host-packages/openai/openplanr/skills/plan-review/openplanr.skill.json +12 -1
  150. package/lib/host-packages/openai/openplanr/skills/plan-review/references/return-contract.md +10 -0
  151. package/lib/host-packages/openai/openplanr/skills/release/SKILL.md +40 -139
  152. package/lib/host-packages/openai/openplanr/skills/release/openplanr.skill.json +4 -4
  153. package/lib/host-packages/openai/openplanr/skills/release/references/cadence.md +10 -0
  154. package/lib/host-packages/openai/openplanr/skills/release/references/release-notes.md +1 -1
  155. package/lib/host-packages/openai/openplanr/skills/release/references/return-contract.md +10 -0
  156. package/lib/host-packages/openai/openplanr/skills/release/references/schemes.md +4 -2
  157. package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +37 -24
  158. package/lib/host-packages/openai/openplanr/skills/ship/openplanr.skill.json +9 -9
  159. package/lib/host-packages/openai/openplanr/skills/ship/references/backlog-filing.md +102 -0
  160. package/lib/host-packages/openai/openplanr/skills/ship/references/findings.md +8 -16
  161. package/lib/host-packages/openai/openplanr/skills/ship/references/return-contract.md +10 -0
  162. package/lib/host-packages/openai/openplanr/skills/spec/SKILL.md +9 -9
  163. package/lib/host-packages/openai/openplanr/skills/spec/openplanr.skill.json +12 -1
  164. package/lib/host-packages/openai/openplanr/skills/spec/references/return-contract.md +10 -0
  165. package/package.json +1 -1
  166. package/lib/host-packages/claude/openplanr/.claude-plugin/icon.svg +0 -11
  167. package/lib/host-packages/claude/openplanr/runtime/operate/scripts/errors.mjs +0 -8
  168. package/lib/host-packages/claude/openplanr/runtime/operate/scripts/operate-review-contract.mjs +0 -428
  169. package/lib/host-packages/claude/openplanr/runtime/operate/scripts/operate-review-note.mjs +0 -686
  170. package/lib/host-packages/claude/openplanr/runtime/operate/scripts/validate-note.mjs +0 -39
  171. package/lib/host-packages/claude/openplanr/skills/ceo-review/scripts/validate-note.mjs +0 -12
  172. package/lib/host-packages/claude/openplanr/skills/chair-review/scripts/validate-note.mjs +0 -12
  173. package/lib/host-packages/claude/openplanr/skills/challenger-review/scripts/validate-note.mjs +0 -12
  174. package/lib/host-packages/claude/openplanr/skills/cmo-review/scripts/validate-note.mjs +0 -12
  175. package/lib/host-packages/claude/openplanr/skills/coo-review/scripts/validate-note.mjs +0 -12
  176. package/lib/host-packages/claude/openplanr/skills/cpo-review/scripts/validate-note.mjs +0 -12
  177. package/lib/host-packages/claude/openplanr/skills/cto-review/scripts/validate-note.mjs +0 -12
  178. package/lib/host-packages/claude/openplanr/skills/investigate/scripts/backlog-item.mjs +0 -339
  179. package/lib/host-packages/claude/openplanr/skills/operate/scripts/validate-note.mjs +0 -12
  180. package/lib/host-packages/claude/openplanr/skills/plan/scripts/planning-ids.mjs +0 -166
  181. package/lib/host-packages/claude/openplanr/skills/release/scripts/collect_changes.sh +0 -85
  182. package/lib/host-packages/claude/openplanr/skills/ship/scripts/backlog-item.mjs +0 -339
  183. package/lib/host-packages/claude/openplanr/skills/ship/scripts/discover-verification.mjs +0 -108
  184. package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/scripts/validate-note.mjs +0 -12
  185. package/lib/host-packages/cursor/openplanr/rules/planr-chair-review/scripts/validate-note.mjs +0 -12
  186. package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review/scripts/validate-note.mjs +0 -12
  187. package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/scripts/validate-note.mjs +0 -12
  188. package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/scripts/validate-note.mjs +0 -12
  189. package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/scripts/validate-note.mjs +0 -12
  190. package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/scripts/validate-note.mjs +0 -12
  191. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/scripts/backlog-item.mjs +0 -339
  192. package/lib/host-packages/cursor/openplanr/rules/planr-operate/scripts/validate-note.mjs +0 -12
  193. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/planning-ids.mjs +0 -166
  194. package/lib/host-packages/cursor/openplanr/rules/planr-release/scripts/collect_changes.sh +0 -85
  195. package/lib/host-packages/cursor/openplanr/rules/planr-ship/scripts/backlog-item.mjs +0 -339
  196. package/lib/host-packages/cursor/openplanr/rules/planr-ship/scripts/discover-verification.mjs +0 -108
  197. package/lib/host-packages/cursor/openplanr/runtime/operate/scripts/errors.mjs +0 -8
  198. package/lib/host-packages/cursor/openplanr/runtime/operate/scripts/operate-review-contract.mjs +0 -428
  199. package/lib/host-packages/cursor/openplanr/runtime/operate/scripts/operate-review-note.mjs +0 -686
  200. package/lib/host-packages/cursor/openplanr/runtime/operate/scripts/validate-note.mjs +0 -39
  201. package/lib/host-packages/openai/openplanr/runtime/operate/scripts/errors.mjs +0 -8
  202. package/lib/host-packages/openai/openplanr/runtime/operate/scripts/operate-review-contract.mjs +0 -428
  203. package/lib/host-packages/openai/openplanr/runtime/operate/scripts/operate-review-note.mjs +0 -686
  204. package/lib/host-packages/openai/openplanr/runtime/operate/scripts/validate-note.mjs +0 -39
  205. package/lib/host-packages/openai/openplanr/skills/ceo-review/scripts/validate-note.mjs +0 -12
  206. package/lib/host-packages/openai/openplanr/skills/chair-review/scripts/validate-note.mjs +0 -12
  207. package/lib/host-packages/openai/openplanr/skills/challenger-review/scripts/validate-note.mjs +0 -12
  208. package/lib/host-packages/openai/openplanr/skills/cmo-review/scripts/validate-note.mjs +0 -12
  209. package/lib/host-packages/openai/openplanr/skills/coo-review/scripts/validate-note.mjs +0 -12
  210. package/lib/host-packages/openai/openplanr/skills/cpo-review/scripts/validate-note.mjs +0 -12
  211. package/lib/host-packages/openai/openplanr/skills/cto-review/scripts/validate-note.mjs +0 -12
  212. package/lib/host-packages/openai/openplanr/skills/investigate/scripts/backlog-item.mjs +0 -339
  213. package/lib/host-packages/openai/openplanr/skills/operate/scripts/validate-note.mjs +0 -12
  214. package/lib/host-packages/openai/openplanr/skills/plan/scripts/planning-ids.mjs +0 -166
  215. package/lib/host-packages/openai/openplanr/skills/release/scripts/collect_changes.sh +0 -85
  216. package/lib/host-packages/openai/openplanr/skills/ship/scripts/backlog-item.mjs +0 -339
  217. package/lib/host-packages/openai/openplanr/skills/ship/scripts/discover-verification.mjs +0 -108
@@ -8,7 +8,7 @@
8
8
  "files": [
9
9
  {
10
10
  "path": ".codex-plugin/plugin.json",
11
- "digest": "sha256:51efa6ce14873ecf74099fc035611915e979b17f58af1fbc04403c4126df0232"
11
+ "digest": "sha256:8d9f3a145e0166114e8f2c679d2758a4ccfcab0c5673ed1340d0964a59f7b5dd"
12
12
  },
13
13
  {
14
14
  "path": "CONNECTORS.md",
@@ -18,22 +18,6 @@
18
18
  "path": "LICENSE",
19
19
  "digest": "sha256:ff4ad7d960f2a89a51b5db88e1efb1a3b77e6c28e1c4fee27cbd35f6a5b3debb"
20
20
  },
21
- {
22
- "path": "runtime/operate/scripts/errors.mjs",
23
- "digest": "sha256:6c02fdf441b22fc101a764c928bb0e98fa0a93a602183463c44adc3f8e1d7f79"
24
- },
25
- {
26
- "path": "runtime/operate/scripts/operate-review-contract.mjs",
27
- "digest": "sha256:76de44f9fda5444ad5b4805ae16b21221cde19a99669140ea7a6f032f383edcd"
28
- },
29
- {
30
- "path": "runtime/operate/scripts/operate-review-note.mjs",
31
- "digest": "sha256:10fd0d90e5ec8674a9df0b4dabcb44c0c90ca63a72ea42194d69d365034c94aa"
32
- },
33
- {
34
- "path": "runtime/operate/scripts/validate-note.mjs",
35
- "digest": "sha256:5955daf739c410c970b998913c106c4f147b0eff47e4433c01eaf06471bfd651"
36
- },
37
21
  {
38
22
  "path": "skills/artifact/agents/openai.yaml",
39
23
  "digest": "sha256:fcc4a6ba684968eb9b1c8f77dd960a9a6247731609874a7aa2a67136f8afee3a"
@@ -76,15 +60,15 @@
76
60
  },
77
61
  {
78
62
  "path": "skills/ceo-review/openplanr.skill.json",
79
- "digest": "sha256:0e7d78c16ef7b064cb75149c4151fabd2ee40fab00cc29778b7106f04ed889f1"
63
+ "digest": "sha256:381cdcb29ce138828e7b6855a557f058e5cd3baabe461e7d850a667d37d5769c"
80
64
  },
81
65
  {
82
- "path": "skills/ceo-review/references/operate-advisor-contract.md",
83
- "digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
66
+ "path": "skills/ceo-review/references/note-checklist.md",
67
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
84
68
  },
85
69
  {
86
- "path": "skills/ceo-review/scripts/validate-note.mjs",
87
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
70
+ "path": "skills/ceo-review/references/operate-advisor-contract.md",
71
+ "digest": "sha256:7d33addcfea3e8de7f8fb35862fc1ee70d5b4c1557bb2e35051c48032a4f29cf"
88
72
  },
89
73
  {
90
74
  "path": "skills/ceo-review/SKILL.md",
@@ -96,15 +80,15 @@
96
80
  },
97
81
  {
98
82
  "path": "skills/chair-review/openplanr.skill.json",
99
- "digest": "sha256:34be0fe4dfc5e2875280f663b15010a245a5a90b1736fa42f393c524a250bd60"
83
+ "digest": "sha256:d0b7fb700f90e350c81751790a8d6d22b05a4a60fb10b65eba6ff81c969404b7"
100
84
  },
101
85
  {
102
- "path": "skills/chair-review/scripts/validate-note.mjs",
103
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
86
+ "path": "skills/chair-review/references/note-checklist.md",
87
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
104
88
  },
105
89
  {
106
90
  "path": "skills/chair-review/SKILL.md",
107
- "digest": "sha256:07077d1c317495fcaa5b1a278eec9f466f94c62f9c0ce1a7e04759a46d1cac71"
91
+ "digest": "sha256:8d6fe0f2566bd55fefa1ef4b9819bc030a096a26fa9b3797162adf38fe8e85b2"
108
92
  },
109
93
  {
110
94
  "path": "skills/challenger-review/agents/openai.yaml",
@@ -112,15 +96,15 @@
112
96
  },
113
97
  {
114
98
  "path": "skills/challenger-review/openplanr.skill.json",
115
- "digest": "sha256:8ec2ba56d1338b31f0c64036504df7d8b61a01239803e53e6714db5eb83961c9"
99
+ "digest": "sha256:22941f4efd1ddfeda603dc7ea114ed6172e0d7c171b32876fc74f044ca9072cf"
116
100
  },
117
101
  {
118
- "path": "skills/challenger-review/scripts/validate-note.mjs",
119
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
102
+ "path": "skills/challenger-review/references/note-checklist.md",
103
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
120
104
  },
121
105
  {
122
106
  "path": "skills/challenger-review/SKILL.md",
123
- "digest": "sha256:c614fc0a921cf061bfdd543d2d14b6dec0921c3d3eb87a8f98209524ca6cc2d7"
107
+ "digest": "sha256:dd985a05d3e526f1879cc81ce11da52a6e6823a85f84cc6ae1a7bda49dedef3a"
124
108
  },
125
109
  {
126
110
  "path": "skills/cmo-review/agents/openai.yaml",
@@ -128,15 +112,15 @@
128
112
  },
129
113
  {
130
114
  "path": "skills/cmo-review/openplanr.skill.json",
131
- "digest": "sha256:4fd7c7c7acad38453185de9dd17c5c4469859877b87e0905f4ed816dd570005f"
115
+ "digest": "sha256:a18fd5b8061651d9f921eb0631a412ab60ee6be59eccfe40f3e23097c6043a02"
132
116
  },
133
117
  {
134
- "path": "skills/cmo-review/references/operate-advisor-contract.md",
135
- "digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
118
+ "path": "skills/cmo-review/references/note-checklist.md",
119
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
136
120
  },
137
121
  {
138
- "path": "skills/cmo-review/scripts/validate-note.mjs",
139
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
122
+ "path": "skills/cmo-review/references/operate-advisor-contract.md",
123
+ "digest": "sha256:7d33addcfea3e8de7f8fb35862fc1ee70d5b4c1557bb2e35051c48032a4f29cf"
140
124
  },
141
125
  {
142
126
  "path": "skills/cmo-review/SKILL.md",
@@ -164,15 +148,15 @@
164
148
  },
165
149
  {
166
150
  "path": "skills/coo-review/openplanr.skill.json",
167
- "digest": "sha256:13e075e0854fafce2febdbd9e01d54845ba0468b4b0e5d94d9178e33ed36f8e1"
151
+ "digest": "sha256:2d14597989438a4f6804d88dd556a1218205e023e1e86999fc416bbbee171015"
168
152
  },
169
153
  {
170
- "path": "skills/coo-review/references/operate-advisor-contract.md",
171
- "digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
154
+ "path": "skills/coo-review/references/note-checklist.md",
155
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
172
156
  },
173
157
  {
174
- "path": "skills/coo-review/scripts/validate-note.mjs",
175
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
158
+ "path": "skills/coo-review/references/operate-advisor-contract.md",
159
+ "digest": "sha256:7d33addcfea3e8de7f8fb35862fc1ee70d5b4c1557bb2e35051c48032a4f29cf"
176
160
  },
177
161
  {
178
162
  "path": "skills/coo-review/SKILL.md",
@@ -184,15 +168,15 @@
184
168
  },
185
169
  {
186
170
  "path": "skills/cpo-review/openplanr.skill.json",
187
- "digest": "sha256:b90782e7a62461c39284233bb45f753269c986ec0d84670d867fea691e51828f"
171
+ "digest": "sha256:08d8eaeaab7eabd2f7df599c4f47736233cbed66024e0b0c7ef8a8eae32d75da"
188
172
  },
189
173
  {
190
- "path": "skills/cpo-review/references/operate-advisor-contract.md",
191
- "digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
174
+ "path": "skills/cpo-review/references/note-checklist.md",
175
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
192
176
  },
193
177
  {
194
- "path": "skills/cpo-review/scripts/validate-note.mjs",
195
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
178
+ "path": "skills/cpo-review/references/operate-advisor-contract.md",
179
+ "digest": "sha256:7d33addcfea3e8de7f8fb35862fc1ee70d5b4c1557bb2e35051c48032a4f29cf"
196
180
  },
197
181
  {
198
182
  "path": "skills/cpo-review/SKILL.md",
@@ -204,15 +188,15 @@
204
188
  },
205
189
  {
206
190
  "path": "skills/cto-review/openplanr.skill.json",
207
- "digest": "sha256:912dfc5504e94b6a7ba480f1c79977999dbaba021c97ca873b2b5dc8c96224b3"
191
+ "digest": "sha256:a1dccde1c1efb310e336e849dbcf8d0a9d81860a8b6dd639acacfc91e07ec91d"
208
192
  },
209
193
  {
210
- "path": "skills/cto-review/references/operate-advisor-contract.md",
211
- "digest": "sha256:3153403563d422f395add6a2afd6d249737b8807e4ab31db5b830d82d7814fc5"
194
+ "path": "skills/cto-review/references/note-checklist.md",
195
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
212
196
  },
213
197
  {
214
- "path": "skills/cto-review/scripts/validate-note.mjs",
215
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
198
+ "path": "skills/cto-review/references/operate-advisor-contract.md",
199
+ "digest": "sha256:7d33addcfea3e8de7f8fb35862fc1ee70d5b4c1557bb2e35051c48032a4f29cf"
216
200
  },
217
201
  {
218
202
  "path": "skills/cto-review/SKILL.md",
@@ -596,7 +580,11 @@
596
580
  },
597
581
  {
598
582
  "path": "skills/investigate/openplanr.skill.json",
599
- "digest": "sha256:2a0fcaacd12fe22b78d4c72e0c6ef27effc2f9c5c1d04758920ec3810c1e6ce4"
583
+ "digest": "sha256:da39f2845857a3f7f7edcebb59de474659f919bca885e63eb997a2b67f90be09"
584
+ },
585
+ {
586
+ "path": "skills/investigate/references/backlog-filing.md",
587
+ "digest": "sha256:4e86fca9f2ad70ab1dfc7f0984009a1fb64e9459666093552c8405aa0d3084be"
600
588
  },
601
589
  {
602
590
  "path": "skills/investigate/references/fail-first.md",
@@ -604,15 +592,11 @@
604
592
  },
605
593
  {
606
594
  "path": "skills/investigate/references/findings.md",
607
- "digest": "sha256:2bee6285c88650a81ae049541eb9a09549c0935210b5ca3eae0b1c99fd52f45f"
608
- },
609
- {
610
- "path": "skills/investigate/scripts/backlog-item.mjs",
611
- "digest": "sha256:4d3ae483819acaa34ef79b1ee3b21f75ceb78bf290366d7a9e095021340a3b68"
595
+ "digest": "sha256:a097b21620a272487758817a52b85bb7cd08d58133d9a704f44cb67870c63c09"
612
596
  },
613
597
  {
614
598
  "path": "skills/investigate/SKILL.md",
615
- "digest": "sha256:d65f7dbdfe519db5aea0145cb8d89834280840d848317d39319a31b697d0058e"
599
+ "digest": "sha256:10ca66e7d350ab820d3f71232053e92fb5a2f6e76af7720397da431b1faf7a45"
616
600
  },
617
601
  {
618
602
  "path": "skills/land/agents/openai.yaml",
@@ -644,15 +628,19 @@
644
628
  },
645
629
  {
646
630
  "path": "skills/operate/openplanr.skill.json",
647
- "digest": "sha256:9f2c0f3b9d1651d60372cb8fcad54838aaf829d22a76a671373ebcb4d91046aa"
631
+ "digest": "sha256:fb521d29bb5f3aa048877f9d8df6c0ea97d1f05efbf86b2c940f6f2e0fe81f3c"
648
632
  },
649
633
  {
650
- "path": "skills/operate/scripts/validate-note.mjs",
651
- "digest": "sha256:9c3c94842059fb884c9a1b22413395f7a0169f788cded3c04bd3b251acd564ae"
634
+ "path": "skills/operate/references/note-checklist.md",
635
+ "digest": "sha256:dfdf3cb1fea507a58b9a273561bb66b57f657ba6d9b4f6093170093c70bf9a11"
636
+ },
637
+ {
638
+ "path": "skills/operate/references/return-contract.md",
639
+ "digest": "sha256:65081a1dd594dbe5136e2892a64110270e85a6b246a0ee74d43edc1f55d69bde"
652
640
  },
653
641
  {
654
642
  "path": "skills/operate/SKILL.md",
655
- "digest": "sha256:6bc1de840850496637881024c6aa0c45156486a660bf6a40672dbbb75be94507"
643
+ "digest": "sha256:fd655ac1eace4821e007e46d6e01af6f45b7dd11d72ca83d2a366074db11ce26"
656
644
  },
657
645
  {
658
646
  "path": "skills/plan-review/agents/openai.yaml",
@@ -660,11 +648,15 @@
660
648
  },
661
649
  {
662
650
  "path": "skills/plan-review/openplanr.skill.json",
663
- "digest": "sha256:2e9922d0116b6efbda889527ae022c7a7a1b5d601307b2ed7fb529f7eada0273"
651
+ "digest": "sha256:a307b480a249f03ea88fb89672c369a5773fb92c89156a7e96b02d2a0c6bc0d1"
652
+ },
653
+ {
654
+ "path": "skills/plan-review/references/return-contract.md",
655
+ "digest": "sha256:65081a1dd594dbe5136e2892a64110270e85a6b246a0ee74d43edc1f55d69bde"
664
656
  },
665
657
  {
666
658
  "path": "skills/plan-review/SKILL.md",
667
- "digest": "sha256:c60ba860c021d1bc79361fb9434eb8bedc7797053e49d91b9418d022fc1c947b"
659
+ "digest": "sha256:09e614a279a3bcdcc858fa5bf7a0c5bc3010d91f922a85718dea9dc3f84c1787"
668
660
  },
669
661
  {
670
662
  "path": "skills/plan/agents/openai.yaml",
@@ -672,7 +664,7 @@
672
664
  },
673
665
  {
674
666
  "path": "skills/plan/openplanr.skill.json",
675
- "digest": "sha256:4f2c0de87e8c91f0aa244f72042044e791342d5b4718cf2d0f86cf34c7d5a6ce"
667
+ "digest": "sha256:f0f14bc031b18945eea6bce2a733c1038ee623d6eee95afbd61809cb534c56c7"
676
668
  },
677
669
  {
678
670
  "path": "skills/plan/references/artifact-contract.md",
@@ -682,6 +674,14 @@
682
674
  "path": "skills/plan/references/design-handoff.md",
683
675
  "digest": "sha256:b918cc16855412a75028e1a014832c2ced59b0349461a24d9e1fdcfc336b9f5f"
684
676
  },
677
+ {
678
+ "path": "skills/plan/references/planning-ids.md",
679
+ "digest": "sha256:5028070be05aefca33e4f835f7dfc096e55e46e976fd1745a2e9adfaa2759527"
680
+ },
681
+ {
682
+ "path": "skills/plan/references/return-contract.md",
683
+ "digest": "sha256:65081a1dd594dbe5136e2892a64110270e85a6b246a0ee74d43edc1f55d69bde"
684
+ },
685
685
  {
686
686
  "path": "skills/plan/schemas/design-document.schema.json",
687
687
  "digest": "sha256:33d74abce73ec6631ee1a4f5037bb49571f81cedaebac5bf37d77d91a170b507"
@@ -694,13 +694,9 @@
694
694
  "path": "skills/plan/schemas/design-review-handoff.schema.json",
695
695
  "digest": "sha256:402b25238f93f8269b98697bf77fa11dda1fd284f44e41d73cdb813f5244a4e0"
696
696
  },
697
- {
698
- "path": "skills/plan/scripts/planning-ids.mjs",
699
- "digest": "sha256:d7051fab0540e3beb176015f174e0851a3ceb8a24c43344495b43a28d2eaceae"
700
- },
701
697
  {
702
698
  "path": "skills/plan/SKILL.md",
703
- "digest": "sha256:0fbdb77edc87f855c1b969c286bc803eda1773b9d9175e924c220b489c2c1144"
699
+ "digest": "sha256:9467d6abce56d62677b95dd5e0c3a814ce4ad60733704beef91c5245e0445b2c"
704
700
  },
705
701
  {
706
702
  "path": "skills/release/agents/openai.yaml",
@@ -716,27 +712,27 @@
716
712
  },
717
713
  {
718
714
  "path": "skills/release/openplanr.skill.json",
719
- "digest": "sha256:3d9af6210d7a58bb2cd039ee20a918b63236f52f1277a796d5ea513f7e2c02c9"
715
+ "digest": "sha256:167271f868b1f82de306fb66444c6bb3541cfb7ca553f602213922336618d3f8"
720
716
  },
721
717
  {
722
718
  "path": "skills/release/references/cadence.md",
723
- "digest": "sha256:c9d0e67e35aaa4db563a8f520dc3ff441be8a8c54b86be274b44a20dfa363077"
719
+ "digest": "sha256:73786c9d4b5174d66e28d90163a0f705e3a316aa778220119cb3c3326ed5a5dc"
724
720
  },
725
721
  {
726
722
  "path": "skills/release/references/release-notes.md",
727
- "digest": "sha256:9dd1784dc10f40dc4e1962e9eab4373cc0dc04c111935fb8f145772a8f6c2fec"
723
+ "digest": "sha256:15645f09c3906c05d6fe994ef8a97b939742ff31be18a0b4d13465e3ceab8f8d"
728
724
  },
729
725
  {
730
- "path": "skills/release/references/schemes.md",
731
- "digest": "sha256:79769004c106f31ddb6a74a4f7a902b3f1d8c43617fb11d56f9f7455855cfa69"
726
+ "path": "skills/release/references/return-contract.md",
727
+ "digest": "sha256:65081a1dd594dbe5136e2892a64110270e85a6b246a0ee74d43edc1f55d69bde"
732
728
  },
733
729
  {
734
- "path": "skills/release/scripts/collect_changes.sh",
735
- "digest": "sha256:6271a1d8ea7d0a8c86dd52f85fa78666845d7d152cc95ae5148fde68dcd2f652"
730
+ "path": "skills/release/references/schemes.md",
731
+ "digest": "sha256:9279cb628c5fae52d3119b5a229d644131c9699abcff74cf27e2f21af1f4706c"
736
732
  },
737
733
  {
738
734
  "path": "skills/release/SKILL.md",
739
- "digest": "sha256:6965c890c175598df291fcbb221904a48abe61361a73c714c73ae8e4a82b07c2"
735
+ "digest": "sha256:271a64e265ff0b5b7bd423abd45dc19d41fe5cbe2bb98da35f40385f58e66e58"
740
736
  },
741
737
  {
742
738
  "path": "skills/share/agents/openai.yaml",
@@ -760,7 +756,11 @@
760
756
  },
761
757
  {
762
758
  "path": "skills/ship/openplanr.skill.json",
763
- "digest": "sha256:46b7912188268e8f50125cb4554869c05d274544ebd90c59721e206538731cc5"
759
+ "digest": "sha256:5f718747b2801000ceab302d19a96494c9f833f2d014e1b56394215a8009a9d2"
760
+ },
761
+ {
762
+ "path": "skills/ship/references/backlog-filing.md",
763
+ "digest": "sha256:4e86fca9f2ad70ab1dfc7f0984009a1fb64e9459666093552c8405aa0d3084be"
764
764
  },
765
765
  {
766
766
  "path": "skills/ship/references/design-lineage.md",
@@ -772,23 +772,19 @@
772
772
  },
773
773
  {
774
774
  "path": "skills/ship/references/findings.md",
775
- "digest": "sha256:2bee6285c88650a81ae049541eb9a09549c0935210b5ca3eae0b1c99fd52f45f"
775
+ "digest": "sha256:a097b21620a272487758817a52b85bb7cd08d58133d9a704f44cb67870c63c09"
776
776
  },
777
777
  {
778
778
  "path": "skills/ship/references/result-contract.md",
779
779
  "digest": "sha256:1c8bf48c8bbae9b6a7ef7b6e1d444412c9bf6f3c67fc0233c159c3b084cc7e0e"
780
780
  },
781
781
  {
782
- "path": "skills/ship/scripts/backlog-item.mjs",
783
- "digest": "sha256:4d3ae483819acaa34ef79b1ee3b21f75ceb78bf290366d7a9e095021340a3b68"
784
- },
785
- {
786
- "path": "skills/ship/scripts/discover-verification.mjs",
787
- "digest": "sha256:8805ac8d814a1d94364d455df6da350983d4c8436faa3749717da5f1b3ae63b1"
782
+ "path": "skills/ship/references/return-contract.md",
783
+ "digest": "sha256:65081a1dd594dbe5136e2892a64110270e85a6b246a0ee74d43edc1f55d69bde"
788
784
  },
789
785
  {
790
786
  "path": "skills/ship/SKILL.md",
791
- "digest": "sha256:1c9ce6742d68811b9906a4679f9b3e6851e08c9c0eb8c08330ff90076afa8c1c"
787
+ "digest": "sha256:f351cc3c9ddd6326915b97521580d4649de7d405d7e0f4e79f63424ace27c854"
792
788
  },
793
789
  {
794
790
  "path": "skills/spec/agents/openai.yaml",
@@ -796,7 +792,11 @@
796
792
  },
797
793
  {
798
794
  "path": "skills/spec/openplanr.skill.json",
799
- "digest": "sha256:aaf4a2660b2310e312d6b9aa25a099ca4057c44129d634e2f45fbc8a7862c621"
795
+ "digest": "sha256:bfcf20909007f5698b205c552efbbe4366e76884df7dbdc9cca7ef02a47c3eb1"
796
+ },
797
+ {
798
+ "path": "skills/spec/references/return-contract.md",
799
+ "digest": "sha256:65081a1dd594dbe5136e2892a64110270e85a6b246a0ee74d43edc1f55d69bde"
800
800
  },
801
801
  {
802
802
  "path": "skills/spec/references/specification-contract.md",
@@ -804,7 +804,7 @@
804
804
  },
805
805
  {
806
806
  "path": "skills/spec/SKILL.md",
807
- "digest": "sha256:8da00648b861c64b675384fc0524f1c8b48cf5e245e23eb416e35519a44c9eba"
807
+ "digest": "sha256:b72b49d62edf4455ff8ce32992a7d780b650535608b9325076799ad549782a0a"
808
808
  },
809
809
  {
810
810
  "path": "skills/sprint/agents/openai.yaml",
@@ -887,5 +887,5 @@
887
887
  "digest": "sha256:79cb62f3f8b0c36ef55c9424ca694a37448f90170183d13d0654d500613da414"
888
888
  }
889
889
  ],
890
- "contentDigest": "sha256:3692bd6471459d913a09b2de939bc7b4a3b163d3f307fe74a36dfc9ba23128f1"
890
+ "contentDigest": "sha256:bc6ec24af557a15c478380038601d78f32708212c25cf3502e55f1c50902aa6f"
891
891
  }
@@ -3,7 +3,7 @@
3
3
  "schemaVersion": "1.0.0",
4
4
  "protocolVersion": "1.8.0",
5
5
  "skillId": "planr-ceo-review",
6
- "skillVersion": "2.0.1",
6
+ "skillVersion": "2.1.0",
7
7
  "entrypoint": "SKILL.md",
8
8
  "hosts": [
9
9
  "claude-code",
@@ -25,15 +25,15 @@
25
25
  "executable": false
26
26
  },
27
27
  {
28
- "path": "scripts/validate-note.mjs",
29
- "kind": "script",
28
+ "path": "references/note-checklist.md",
29
+ "kind": "reference",
30
30
  "hosts": [
31
31
  "claude-code",
32
32
  "codex",
33
33
  "chatgpt",
34
34
  "cursor"
35
35
  ],
36
- "executable": true
36
+ "executable": false
37
37
  },
38
38
  {
39
39
  "path": "agents/openai.yaml",
@@ -0,0 +1,131 @@
1
+ # Operate note checklist
2
+
3
+ Check a written Operate note line by line before returning it. Each item names the diagnostic
4
+ code `openplanr operate validate-note` reports for the same problem. Fix what you can; report each
5
+ item that stays unresolved as a structural issue, with its code.
6
+
7
+ This checklist is the check. Never run `npx`, install or download anything, or search the
8
+ filesystem for a validator or the CLI. Run `openplanr operate validate-note <note> --profile
9
+ <profile> --contract-version 2.0.0` only if `command -v openplanr` succeeds, and treat its
10
+ diagnostics the same way.
11
+
12
+ Profiles: `advisor` (CEO, CTO, CPO, CMO and COO reviews), `challenger`, `chair` and
13
+ `board-report`. Notes written now use contract 2.0.0.
14
+
15
+ ## Every profile
16
+
17
+ - [ ] The profile is one of the four above (`E_OPERATE_REVIEW_PROFILE_INVALID`).
18
+ - [ ] The preamble, before the first `##` heading, holds at most one contract line, written
19
+ `> **Contract:** …` or `- **Contract:** …`
20
+ (`E_OPERATE_REVIEW_CONTRACT_DECLARATION_DUPLICATE`). A note with no contract line passes.
21
+ Only a contract line that is present is checked: its value must be exactly
22
+ `operate-review-quality-contract@2.0.0` (`E_OPERATE_REVIEW_CONTRACT_DECLARATION_INVALID`
23
+ for an unsupported kind or version, `E_OPERATE_REVIEW_CONTRACT_VERSION_INVALID`,
24
+ `E_OPERATE_REVIEW_CONTRACT_VERSION_MISMATCH`).
25
+ - [ ] The note has exactly one level-one `#` title (`E_OPERATE_REVIEW_TITLE_MISSING`,
26
+ `E_OPERATE_REVIEW_TITLE_DUPLICATE`).
27
+ - [ ] The note fits its size limit in UTF-8 bytes: advisor 16 KiB, challenger 12 KiB, chair and
28
+ board-report 24 KiB (`E_OPERATE_REVIEW_SIZE_LIMIT`).
29
+ - [ ] Every required `##` section for the profile is present (`E_OPERATE_REVIEW_SECTION_MISSING`)
30
+ and appears once (`E_OPERATE_REVIEW_SECTION_DUPLICATE`); there is no other `##` section
31
+ (`E_OPERATE_REVIEW_SECTION_UNEXPECTED`); and the sections follow the order listed below
32
+ (`E_OPERATE_REVIEW_SECTION_ORDER`).
33
+ - [ ] Check section items, section fields and item fields only in sections that are present. A
34
+ missing section is reported once, as `E_OPERATE_REVIEW_SECTION_MISSING`, and yields no
35
+ field or item code for what it would have held. The preamble fields are always checked.
36
+ - [ ] Each required field is written as `- **Name:** value` or `> **Name:** value`, appears once
37
+ in its scope (`E_OPERATE_REVIEW_FIELD_DUPLICATE`), and holds a real value, not empty, `...`,
38
+ `TBD`, `TODO` or a `<placeholder>` (`E_OPERATE_REVIEW_FIELD_MISSING`).
39
+ - [ ] A field with a fixed value list uses one of the listed values exactly
40
+ (`E_OPERATE_REVIEW_FIELD_VALUE_INVALID`).
41
+ - [ ] The item section holds at least one item or its exact empty-state sentence
42
+ (`E_OPERATE_REVIEW_ITEM_OR_EMPTY_STATE_MISSING`), at most five items
43
+ (`E_OPERATE_REVIEW_ITEM_LIMIT`), headed `### <prefix><n> — <title>` and numbered 1, 2, 3
44
+ with no gaps or repeats (`E_OPERATE_REVIEW_ITEM_SEQUENCE`).
45
+ - [ ] `Decision-changing gaps` is `None.` or a list within its limit (advisor and challenger 3,
46
+ chair and board-report 5) counted as `- ` lines (`E_OPERATE_REVIEW_SECTION_ITEM_LIMIT`).
47
+
48
+ ## advisor
49
+
50
+ - [ ] Preamble fields: `Signal` (`action`, `watch` or `insufficient context`) and `Bottom line`.
51
+ - [ ] Sections: `Findings`, `Recommended next move`, `Decision-changing gaps`,
52
+ `Sources consulted`.
53
+ - [ ] Items `F1`…`F5` under `Findings`, or `No decision-relevant finding was established.` Each
54
+ has `Priority` (`P0`, `P1`, `P2` or `unranked`), `Status` (`observed` or `inferred`),
55
+ `Why it matters`, `Sources`, `Confidence` and `Decision impact`.
56
+ - [ ] `Recommended next move` is exactly `No recommendation from current context.` or has
57
+ `Recommendation`, `Suggested owner`, `First step`, `Expected result`, `Check` and
58
+ `Revisit when`.
59
+
60
+ ## challenger
61
+
62
+ - [ ] Preamble fields: `Verdict` (`holds`, `holds with exceptions` or `not decision-ready`) and
63
+ `Bottom line`.
64
+ - [ ] Sections: `Material exceptions`, `Decisions that still hold`, `Risks and dissent`,
65
+ `Decision-changing gaps`.
66
+ - [ ] Items `X1`…`X5` under `Material exceptions`, or `No material exception found.` Each has
67
+ `Target`, `Type` (`unsupported`, `contradicted`, `correlated reasoning`,
68
+ `missing alternative`, `unpriced downside` or `overconfident`), `Decision impact`,
69
+ `Challenge`, `Sources` and `Resolution`.
70
+ - [ ] `Risks and dissent` has `Dissent` and `Resolution condition`.
71
+
72
+ ## chair
73
+
74
+ - [ ] Preamble fields: `Overall signal` (`act now`, `decide next`, `watch` or
75
+ `insufficient context`) and `Executive call`.
76
+ - [ ] Sections: `Decision queue`, `Action plan`, `Risks and dissent`, `Decision-changing gaps`,
77
+ `Review coverage`.
78
+ - [ ] The decision queue and action plan items below.
79
+
80
+ ## board-report
81
+
82
+ - [ ] No preamble fields are required.
83
+ - [ ] Sections: `Scope`, `Executive summary`, `Decision queue`, `Action plan`,
84
+ `Risks and dissent`, `Decision-changing gaps`, `Review coverage`, `Issues`.
85
+ - [ ] `Scope` has `Subject`, `Window`, `Requested decision` and `Custody`.
86
+ - [ ] `Executive summary` is not empty (`E_OPERATE_REVIEW_SUMMARY_MISSING`); a missing
87
+ `Executive summary` section is reported both as `E_OPERATE_REVIEW_SECTION_MISSING` and as
88
+ `E_OPERATE_REVIEW_SUMMARY_MISSING`.
89
+ - [ ] Exceptions to "a missing section yields no other code": with at least one decision, a
90
+ missing `Action plan` (chair or board-report) also yields
91
+ `E_OPERATE_REVIEW_ACTION_PLAN_INVALID`; in a contract 1.0.0 note, a missing `Executive call`
92
+ also yields `E_OPERATE_REVIEW_EXECUTIVE_CALL_MISSING` and a missing `Human gate` also yields
93
+ `E_OPERATE_REVIEW_HUMAN_GATE_INCOMPLETE`.
94
+ - [ ] The decision queue and action plan items below.
95
+
96
+ ## Decision queue and action plan (chair and board-report)
97
+
98
+ - [ ] Items `D1`…`D5` under `Decision queue`, or `No decision-ready proposal was established.`
99
+ - [ ] Each heading carries a priority: `### D1 — [P0] <title>`, with `P0`, `P1`, `P2` or
100
+ `unranked` (`E_OPERATE_REVIEW_ITEM_HEADING_INVALID`).
101
+ - [ ] Each decision has `Recommendation`, `Why now`, `Suggested owner`, `Confidence`,
102
+ `Alternative`, `First step`, `Expected result`, `Check`, `Dependencies`, `Revisit when`,
103
+ `Sources` and `Dissent`.
104
+ - [ ] With at least one decision, `Action plan` has the table header
105
+ `| ID | Priority | Action | Suggested owner | First step | Success measure | Check | Depends on |`
106
+ and at least one `A<n>` row (`E_OPERATE_REVIEW_ACTION_PLAN_INVALID`).
107
+ - [ ] The action plan has at most seven rows (`E_OPERATE_REVIEW_ACTION_LIMIT`), and every row
108
+ has exactly eight columns, none empty or a placeholder from the field list above (`...`,
109
+ `TBD`, `TODO`, `<placeholder>`); `—` is accepted, for example in `Depends on`
110
+ (`E_OPERATE_REVIEW_ACTION_ROW_INVALID`).
111
+
112
+ ## Older notes (contract 1.0.0)
113
+
114
+ Only for reading a note that declares `operate-human-review-contract@1.0.0`; never write one.
115
+ Its sections and fields differ from the lists above. A 1.0.0 board report also needs:
116
+
117
+ - [ ] A non-empty `Executive call` section (`E_OPERATE_REVIEW_EXECUTIVE_CALL_MISSING`).
118
+ - [ ] A `Human gate` with one statement per decision naming adopt, reject, defer, the decision's
119
+ owner and a reason; with no decision, it offers close, supply evidence, and re-run for any
120
+ absent review seat (`E_OPERATE_REVIEW_HUMAN_GATE_INCOMPLETE`), and never offers adopt,
121
+ reject or defer (`E_OPERATE_REVIEW_HUMAN_GATE_CONTRADICTORY`).
122
+
123
+ A caller that requires a conforming note fails it as a whole when any item above is unresolved
124
+ (`E_OPERATE_REVIEW_NOTE_INVALID`); that whole-note code is never listed on the `CODES:` line.
125
+
126
+ ## Report format
127
+
128
+ End the reply with exactly one line: `CODES: ` followed by every distinct code from the items
129
+ above, each written in full, sorted alphabetically and comma-separated; write
130
+ `CODES: none` when every item passes. Each code appears once however many times the problem
131
+ occurs.
@@ -122,13 +122,8 @@ findings, use `No recommendation from current context.`, and list only decision-
122
122
 
123
123
  ## Optional quality check and return
124
124
 
125
- When available, the following command can report structural issues:
126
-
127
- ```sh
128
- node "<skill-root>/scripts/validate-note.mjs" "<absolute-output-path>" --profile advisor --contract-version 2.0.0
129
- ```
130
-
131
- Treat its diagnostics as editing guidance and report any unresolved structural issue.
125
+ Check the note against the advisor profile in [the note checklist](note-checklist.md). Treat
126
+ unchecked items as editing guidance and report any unresolved structural issue.
132
127
 
133
128
  Lead the chat return with the grounded signal and principal recommendation. Link
134
129
  the output note, summarize the finding count, and state the evidence reviewed and
@@ -93,13 +93,8 @@ unknowns specific to the decisions they affect.
93
93
 
94
94
  ## Optional quality check and return
95
95
 
96
- When available, use this as a structural quality check:
97
-
98
- ```sh
99
- node "<skill-root>/scripts/validate-note.mjs" "<absolute-output-path>" --profile chair --contract-version 2.0.0 --json
100
- ```
101
-
102
- Use diagnostics to improve the note when useful and report any remaining structural issue.
96
+ Check the note against the chair profile in [the note checklist](references/note-checklist.md).
97
+ Use unchecked items to improve the note when useful and report any remaining structural issue.
103
98
 
104
99
  ## Return
105
100
 
@@ -3,7 +3,7 @@
3
3
  "schemaVersion": "1.0.0",
4
4
  "protocolVersion": "1.8.0",
5
5
  "skillId": "planr-chair-review",
6
- "skillVersion": "2.0.1",
6
+ "skillVersion": "2.1.0",
7
7
  "entrypoint": "SKILL.md",
8
8
  "hosts": [
9
9
  "claude-code",
@@ -14,15 +14,15 @@
14
14
  "execution": "host-agent",
15
15
  "resources": [
16
16
  {
17
- "path": "scripts/validate-note.mjs",
18
- "kind": "script",
17
+ "path": "references/note-checklist.md",
18
+ "kind": "reference",
19
19
  "hosts": [
20
20
  "claude-code",
21
21
  "codex",
22
22
  "chatgpt",
23
23
  "cursor"
24
24
  ],
25
- "executable": true
25
+ "executable": false
26
26
  },
27
27
  {
28
28
  "path": "agents/openai.yaml",