geneseed 2.0.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 (337) hide show
  1. package/CHANGELOG.md +938 -0
  2. package/DESIGN.md +1423 -0
  3. package/LICENSE +21 -0
  4. package/QUICKSTART.md +48 -0
  5. package/README.md +336 -0
  6. package/SETUP.md +1027 -0
  7. package/SHIPPED.md +70 -0
  8. package/adapters/bob/README.md +100 -0
  9. package/adapters/claude-code/README.md +101 -0
  10. package/adapters/claude-code/settings.json +47 -0
  11. package/adapters/claude-code/skills/geneseed/SKILL.md +72 -0
  12. package/adapters/copilot/README.md +76 -0
  13. package/adapters/opencode/GLOBAL-HARNESS-SPEC.md +434 -0
  14. package/adapters/opencode/HOW-OPENCODE-LOADS.md +158 -0
  15. package/adapters/opencode/README.md +582 -0
  16. package/adapters/opencode/agents/orchestrator.md +25 -0
  17. package/adapters/opencode/opencode.json +44 -0
  18. package/adapters/opencode/plugins/geneseed-activity.js +430 -0
  19. package/adapters/opencode/plugins/geneseed-context.js +876 -0
  20. package/adapters/opencode/plugins/geneseed-guard.js +290 -0
  21. package/adapters/opencode/plugins/geneseed-learn.js +396 -0
  22. package/adapters/opencode/plugins/geneseed-notify.js +142 -0
  23. package/adapters/opencode/plugins/geneseed-ponytail.js +148 -0
  24. package/adapters/opencode/plugins/geneseed-workflow.js +183 -0
  25. package/adapters/opencode/workflows/_runtime.js +277 -0
  26. package/adapters/opencode/workflows/council.js +64 -0
  27. package/adapters/opencode/workflows/dispatch.js +89 -0
  28. package/adapters/opencode/workflows/research-plan-implement.js +43 -0
  29. package/adapters/opencode/workflows/review.js +57 -0
  30. package/bin/geneseed-cli.mjs +412 -0
  31. package/bin/geneseed-hook.mjs +129 -0
  32. package/bin/geneseed.mjs +1086 -0
  33. package/docs/declined.md +149 -0
  34. package/docs/limits.md +270 -0
  35. package/docs/opencode-plugin-setup.md +64 -0
  36. package/docs/token-footprint.md +68 -0
  37. package/docs/web/_groups.json +45 -0
  38. package/docs/web/about.md +6 -0
  39. package/docs/web/adapters-claude-code.md +8 -0
  40. package/docs/web/adapters-opencode-loads.md +8 -0
  41. package/docs/web/adapters-opencode-spec.md +8 -0
  42. package/docs/web/adapters-opencode.md +8 -0
  43. package/docs/web/agents.md +8 -0
  44. package/docs/web/authoring.md +11 -0
  45. package/docs/web/autostart.md +9 -0
  46. package/docs/web/claude-hooks.md +36 -0
  47. package/docs/web/cli.md +6 -0
  48. package/docs/web/collaboration.md +27 -0
  49. package/docs/web/configure-wiki.md +9 -0
  50. package/docs/web/design.md +7 -0
  51. package/docs/web/env-knobs.md +9 -0
  52. package/docs/web/exclusions.md +26 -0
  53. package/docs/web/first-session.md +28 -0
  54. package/docs/web/footprint.md +31 -0
  55. package/docs/web/foreman-mode.md +33 -0
  56. package/docs/web/glossary.md +6 -0
  57. package/docs/web/harnesses.md +28 -0
  58. package/docs/web/headless.md +9 -0
  59. package/docs/web/ingest-docs.md +9 -0
  60. package/docs/web/install-paths.md +9 -0
  61. package/docs/web/install-quick.md +35 -0
  62. package/docs/web/lsp-overview.md +37 -0
  63. package/docs/web/mcp-claude-code.md +10 -0
  64. package/docs/web/mcp-filesystem.md +9 -0
  65. package/docs/web/mcp-gitlab.md +9 -0
  66. package/docs/web/mcp-markitdown.md +9 -0
  67. package/docs/web/mcp-overview.md +34 -0
  68. package/docs/web/mcp-trouble.md +9 -0
  69. package/docs/web/mcp-verify.md +9 -0
  70. package/docs/web/memory.md +7 -0
  71. package/docs/web/migrate.md +39 -0
  72. package/docs/web/model.md +20 -0
  73. package/docs/web/notebook.md +7 -0
  74. package/docs/web/pipelines.md +24 -0
  75. package/docs/web/plugin-activity.md +23 -0
  76. package/docs/web/plugin-context.md +26 -0
  77. package/docs/web/plugin-guard.md +24 -0
  78. package/docs/web/plugin-learn.md +27 -0
  79. package/docs/web/plugin-notify.md +24 -0
  80. package/docs/web/plugin-ponytail.md +23 -0
  81. package/docs/web/plugin-setup.md +7 -0
  82. package/docs/web/plugin-workflow.md +24 -0
  83. package/docs/web/plugins.md +17 -0
  84. package/docs/web/project-context.md +9 -0
  85. package/docs/web/rules.md +8 -0
  86. package/docs/web/run-anywhere.md +9 -0
  87. package/docs/web/self-improve.md +8 -0
  88. package/docs/web/setup-choices.md +39 -0
  89. package/docs/web/skills.md +8 -0
  90. package/docs/web/themes-author.md +8 -0
  91. package/docs/web/themes.md +9 -0
  92. package/docs/web/token-footprint.md +7 -0
  93. package/docs/web/trouble.md +38 -0
  94. package/docs/web/upgrade.md +9 -0
  95. package/docs/web/verify.md +30 -0
  96. package/docs/web/wiki.md +7 -0
  97. package/docs/web/worktree.md +10 -0
  98. package/docs/web-ui.md +144 -0
  99. package/docs/wiki.md +43 -0
  100. package/geneseed +39 -0
  101. package/geneseed.cmd +34 -0
  102. package/harness.config.json +6 -0
  103. package/js/anim.mjs +326 -0
  104. package/js/catalog.mjs +112 -0
  105. package/js/checkout.mjs +88 -0
  106. package/js/cli-table.json +1034 -0
  107. package/js/cli.mjs +498 -0
  108. package/js/diff.mjs +384 -0
  109. package/js/doctor.mjs +1364 -0
  110. package/js/emit.mjs +1373 -0
  111. package/js/excludes.mjs +271 -0
  112. package/js/generate.mjs +379 -0
  113. package/js/hooks.mjs +1026 -0
  114. package/js/hosts.mjs +253 -0
  115. package/js/installs.mjs +378 -0
  116. package/js/inventory.mjs +175 -0
  117. package/js/lib/fs.mjs +913 -0
  118. package/js/lib/proc.mjs +28 -0
  119. package/js/lib/udiff.mjs +275 -0
  120. package/js/link.mjs +286 -0
  121. package/js/mcp.mjs +335 -0
  122. package/js/memory.mjs +108 -0
  123. package/js/menu.mjs +118 -0
  124. package/js/migrate.mjs +251 -0
  125. package/js/native.mjs +426 -0
  126. package/js/opencode.mjs +325 -0
  127. package/js/registry.mjs +110 -0
  128. package/js/render.mjs +282 -0
  129. package/js/settings.mjs +924 -0
  130. package/js/setup.mjs +492 -0
  131. package/js/status.mjs +281 -0
  132. package/js/themes.mjs +195 -0
  133. package/js/tui.mjs +444 -0
  134. package/js/uninstall.mjs +1137 -0
  135. package/js/update.mjs +910 -0
  136. package/js/web/actions.mjs +868 -0
  137. package/js/web/activity.mjs +284 -0
  138. package/js/web/api.mjs +873 -0
  139. package/js/web/docs.mjs +531 -0
  140. package/js/web/graph.mjs +0 -0
  141. package/js/web/jobs.mjs +480 -0
  142. package/js/web/server.mjs +1135 -0
  143. package/package.json +54 -0
  144. package/registry.json +474 -0
  145. package/src/AGENT.md.tmpl +390 -0
  146. package/src/agents/_template.md +76 -0
  147. package/src/agents/advocate.md +36 -0
  148. package/src/agents/architect.md +55 -0
  149. package/src/agents/developer.md +66 -0
  150. package/src/agents/docs.md +54 -0
  151. package/src/agents/empiricist.md +39 -0
  152. package/src/agents/explorer.md +54 -0
  153. package/src/agents/framer.md +36 -0
  154. package/src/agents/historian.md +51 -0
  155. package/src/agents/operator.md +37 -0
  156. package/src/agents/pragmatist.md +37 -0
  157. package/src/agents/reviewer.md +52 -0
  158. package/src/agents/security.md +57 -0
  159. package/src/agents/skeptic.md +48 -0
  160. package/src/agents/steward.md +36 -0
  161. package/src/agents/tester.md +54 -0
  162. package/src/agents/user-advocate.md +36 -0
  163. package/src/agents/visionary.md +36 -0
  164. package/src/laws/universal.md +387 -0
  165. package/src/memory/README.md +109 -0
  166. package/src/memory/gitignore +6 -0
  167. package/src/modes/README.md +26 -0
  168. package/src/modes/direct.md +2 -0
  169. package/src/modes/foreman.md +19 -0
  170. package/src/notebook/README.md +39 -0
  171. package/src/notebook/gitignore +7 -0
  172. package/src/postures/README.md +31 -0
  173. package/src/postures/artisan.md +14 -0
  174. package/src/postures/assistant.md +12 -0
  175. package/src/postures/expert.md +11 -0
  176. package/src/postures/mentor.md +11 -0
  177. package/src/postures/peer.md +12 -0
  178. package/src/skills/_template.md +47 -0
  179. package/src/skills/brainstorm.md +28 -0
  180. package/src/skills/clarify.md +28 -0
  181. package/src/skills/codebase-design.md +44 -0
  182. package/src/skills/commit.md +48 -0
  183. package/src/skills/council.md +34 -0
  184. package/src/skills/crash-course.md +28 -0
  185. package/src/skills/daydream/.claude-plugin/plugin.json +9 -0
  186. package/src/skills/daydream/SKILL.md +74 -0
  187. package/src/skills/daydream/VENDOR.md +25 -0
  188. package/src/skills/daydream/critic-prompt.md +38 -0
  189. package/src/skills/daydream/instructions.md +422 -0
  190. package/src/skills/daydream/synthesizer-prompt.md +41 -0
  191. package/src/skills/debug.md +37 -0
  192. package/src/skills/decode.md +28 -0
  193. package/src/skills/develop.md +29 -0
  194. package/src/skills/document-project.md +79 -0
  195. package/src/skills/domain-modeling.md +38 -0
  196. package/src/skills/drill.md +28 -0
  197. package/src/skills/feynman.md +26 -0
  198. package/src/skills/forge-mcp.md +48 -0
  199. package/src/skills/fresh-eyes.md +29 -0
  200. package/src/skills/frontend-design.md +58 -0
  201. package/src/skills/gap-detector.md +27 -0
  202. package/src/skills/geneseed-code-review.md +33 -0
  203. package/src/skills/geneseed.md +29 -0
  204. package/src/skills/git-archaeology.md +47 -0
  205. package/src/skills/git-rescue.md +68 -0
  206. package/src/skills/handoff.md +29 -0
  207. package/src/skills/herdr.md +164 -0
  208. package/src/skills/ingest.md +49 -0
  209. package/src/skills/learning-path.md +26 -0
  210. package/src/skills/migrate.md +45 -0
  211. package/src/skills/opencode-theme.md +52 -0
  212. package/src/skills/parallel-agents.md +28 -0
  213. package/src/skills/pipeline.md +52 -0
  214. package/src/skills/plan.md +45 -0
  215. package/src/skills/ponytail.md +29 -0
  216. package/src/skills/profile.md +58 -0
  217. package/src/skills/prose.md +42 -0
  218. package/src/skills/prototype.md +44 -0
  219. package/src/skills/react-view-transitions/AGENTS.md +955 -0
  220. package/src/skills/react-view-transitions/README.md +42 -0
  221. package/src/skills/react-view-transitions/SKILL.md +320 -0
  222. package/src/skills/react-view-transitions/VENDOR.md +16 -0
  223. package/src/skills/react-view-transitions/metadata.json +12 -0
  224. package/src/skills/react-view-transitions/references/css-recipes.md +242 -0
  225. package/src/skills/react-view-transitions/references/implementation.md +182 -0
  226. package/src/skills/react-view-transitions/references/nextjs.md +176 -0
  227. package/src/skills/react-view-transitions/references/patterns.md +262 -0
  228. package/src/skills/refactor.md +32 -0
  229. package/src/skills/release.md +43 -0
  230. package/src/skills/repo-map.md +36 -0
  231. package/src/skills/research.md +42 -0
  232. package/src/skills/review-response.md +36 -0
  233. package/src/skills/roast-me.md +28 -0
  234. package/src/skills/rule.md +100 -0
  235. package/src/skills/ship.md +49 -0
  236. package/src/skills/tdd.md +31 -0
  237. package/src/skills/tickets.md +44 -0
  238. package/src/skills/token-report/SKILL.md +76 -0
  239. package/src/skills/token-report/VENDOR.md +23 -0
  240. package/src/skills/token-report/scripts/token_report.mjs +1301 -0
  241. package/src/skills/wayfinder.md +49 -0
  242. package/src/skills/wiki.md +68 -0
  243. package/src/skills/workflow.md +38 -0
  244. package/themes/README.md +69 -0
  245. package/themes/_TEMPLATE.json +147 -0
  246. package/themes/biker.json +147 -0
  247. package/themes/commentator.json +147 -0
  248. package/themes/cyberpunk.json +147 -0
  249. package/themes/gamer.json +147 -0
  250. package/themes/imperial.json +147 -0
  251. package/themes/joker.json +147 -0
  252. package/themes/marvin.json +147 -0
  253. package/themes/mean.json +147 -0
  254. package/themes/military.json +147 -0
  255. package/themes/neutral.json +147 -0
  256. package/themes/opencode/README.md +58 -0
  257. package/themes/opencode/catppuccin.json +27 -0
  258. package/themes/opencode/dracula.json +27 -0
  259. package/themes/opencode/everforest.json +27 -0
  260. package/themes/opencode/gruvbox.json +27 -0
  261. package/themes/opencode/kanagawa.json +27 -0
  262. package/themes/opencode/neon.json +27 -0
  263. package/themes/opencode/nord.json +27 -0
  264. package/themes/opencode/rosepine.json +27 -0
  265. package/themes/opencode/tokyonight.json +27 -0
  266. package/themes/pirate.json +147 -0
  267. package/themes/sports.json +147 -0
  268. package/themes/verstappen.json +147 -0
  269. package/themes/wizard.json +147 -0
  270. package/web/dist/assets/About-DX1-VTBP.js +1 -0
  271. package/web/dist/assets/Activity-Dp9NaXOn.js +1 -0
  272. package/web/dist/assets/ActivityDetail-HpOBtrXS.js +1 -0
  273. package/web/dist/assets/Diff-Ct4G3Se8.js +5 -0
  274. package/web/dist/assets/Doctor-DGjkZFuA.js +1 -0
  275. package/web/dist/assets/Graph-b8o-S6kv.js +1 -0
  276. package/web/dist/assets/Harnesses-gr3-aHBF.js +1 -0
  277. package/web/dist/assets/Laws-DTwF5tTC.js +1 -0
  278. package/web/dist/assets/Library-BEZscyaQ.js +1 -0
  279. package/web/dist/assets/Markdown-k_LSLBGq.js +1 -0
  280. package/web/dist/assets/Profile-DydukTxP.js +1 -0
  281. package/web/dist/assets/Rules-CIRG4Ldt.js +1 -0
  282. package/web/dist/assets/Skills-Buoi1IBr.js +1 -0
  283. package/web/dist/assets/StatusBadge-CE_AJttl.js +1 -0
  284. package/web/dist/assets/Themes-CI4o3gJC.js +2 -0
  285. package/web/dist/assets/activity-BCW7e6Cy.js +1 -0
  286. package/web/dist/assets/audiowide-latin-400-normal-6GFCX7ni.woff2 +0 -0
  287. package/web/dist/assets/geist-mono-latin-400-normal-DKaoCDn5.woff2 +0 -0
  288. package/web/dist/assets/geist-mono-latin-500-normal-C3sF8Y1B.woff2 +0 -0
  289. package/web/dist/assets/geist-mono-latin-600-normal-BHzjB6_C.woff2 +0 -0
  290. package/web/dist/assets/hanken-grotesk-latin-400-italic-Bserb8X5.woff2 +0 -0
  291. package/web/dist/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2 +0 -0
  292. package/web/dist/assets/hanken-grotesk-latin-500-italic-BGfwwhek.woff2 +0 -0
  293. package/web/dist/assets/hanken-grotesk-latin-500-normal-DrDcrrxK.woff2 +0 -0
  294. package/web/dist/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2 +0 -0
  295. package/web/dist/assets/hanken-grotesk-latin-700-normal-CeQ8H3UY.woff2 +0 -0
  296. package/web/dist/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  297. package/web/dist/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  298. package/web/dist/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
  299. package/web/dist/assets/ibm-plex-serif-latin-400-normal-BIGslYFI.woff2 +0 -0
  300. package/web/dist/assets/ibm-plex-serif-latin-500-normal-REKAfBVG.woff2 +0 -0
  301. package/web/dist/assets/ibm-plex-serif-latin-600-normal-DAxitmSu.woff2 +0 -0
  302. package/web/dist/assets/index-B1PIx7RM.js +1 -0
  303. package/web/dist/assets/index-BnTQUSUz.js +12 -0
  304. package/web/dist/assets/index-Ck2iCdaC.js +2 -0
  305. package/web/dist/assets/index-DUCsDv7z.css +1 -0
  306. package/web/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  307. package/web/dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  308. package/web/dist/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  309. package/web/dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  310. package/web/dist/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  311. package/web/dist/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  312. package/web/dist/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2 +0 -0
  313. package/web/dist/assets/marked.esm-JKvyS0Pp.js +46 -0
  314. package/web/dist/assets/oswald-latin-400-normal-BAFo8sP8.woff2 +0 -0
  315. package/web/dist/assets/oswald-latin-500-normal-B-eyT0Dw.woff2 +0 -0
  316. package/web/dist/assets/oswald-latin-600-normal-plFmSr5g.woff2 +0 -0
  317. package/web/dist/assets/oswald-latin-700-normal-vy6hmKSr.woff2 +0 -0
  318. package/web/dist/assets/poppins-latin-400-normal-cpxAROuN.woff2 +0 -0
  319. package/web/dist/assets/poppins-latin-500-normal-C8OXljZJ.woff2 +0 -0
  320. package/web/dist/assets/poppins-latin-600-normal-zEkxB9Mr.woff2 +0 -0
  321. package/web/dist/assets/poppins-latin-700-normal-Qrb0O0WB.woff2 +0 -0
  322. package/web/dist/assets/react-DOpiTn5v.js +32 -0
  323. package/web/dist/assets/roman-DkYN0LX9.js +1 -0
  324. package/web/dist/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2 +0 -0
  325. package/web/dist/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2 +0 -0
  326. package/web/dist/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2 +0 -0
  327. package/web/dist/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2 +0 -0
  328. package/web/dist/assets/space-mono-latin-400-italic-YylcN9Ay.woff2 +0 -0
  329. package/web/dist/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2 +0 -0
  330. package/web/dist/assets/space-mono-latin-700-italic-vNvENeTh.woff2 +0 -0
  331. package/web/dist/assets/space-mono-latin-700-normal-mWgeinG7.woff2 +0 -0
  332. package/web/dist/icon-maskable.svg +10 -0
  333. package/web/dist/icon.svg +8 -0
  334. package/web/dist/index.html +21 -0
  335. package/web/dist/manifest.webmanifest +14 -0
  336. package/web/dist/sw.js +40 -0
  337. package/web/src/pages/Laws.jsx +230 -0
@@ -0,0 +1,12 @@
1
+ **Assistant** — the agent executes your intent precisely and keeps its own initiative
2
+ low. You are steering.
3
+
4
+ - **Register.** Plain, service-minded, unobtrusive. Reports what it did and what it
5
+ found, without editorialising.
6
+ - **Initiative.** Does what is asked and stops. Confirms before deviating from the
7
+ literal request or widening scope; prefers a question over a guess.
8
+ - **Disagreement.** Still flags a real risk or a factual error — {{LAW}} XXX holds in
9
+ every posture — but raises it as a note for your call, not a debate.
10
+ - **What it will not do.** Take large or irreversible steps unprompted, or reshape
11
+ your approach because it prefers another. When you want a collaborator that pushes
12
+ back harder, switch to Peer.
@@ -0,0 +1,11 @@
1
+ **Expert** — maximum signal density for someone already fluent in the domain.
2
+
3
+ - **Register.** Terse and technical. Uses the field's vocabulary without unpacking it;
4
+ assumes the background and gets to the point.
5
+ - **Initiative.** Moves fast on the implied task, states conclusions first, and leaves
6
+ the derivation available but not front-loaded.
7
+ - **Disagreement.** Blunt and immediate — a flaw is named as a flaw, no cushioning
8
+ ({{LAW}} XXX).
9
+ - **What it will not do.** Explain the basics, define common terms, or pad with
10
+ context you already hold. If an answer starts to feel over-explained, it has drifted
11
+ — pull it back to Expert.
@@ -0,0 +1,11 @@
1
+ **Mentor** — the agent works to leave you more capable than it found you, not just
2
+ to finish the task.
3
+
4
+ - **Register.** Patient and explanatory. Names the reasoning, the trade-offs, and
5
+ the concept behind the move, so the *why* travels with the *what*.
6
+ - **Initiative.** Checks understanding before moving on; pauses at the teachable
7
+ moment rather than racing to the answer.
8
+ - **Disagreement.** Corrects, but shows its working so you can judge the correction
9
+ for yourself ({{LAW}} XXX) — a wrong turn is used to teach, not just reversed.
10
+ - **What it will not do.** Hand over a black-box result, or optimise for speed at the
11
+ cost of your understanding. If you want just-the-answer, say so — or pick Expert.
@@ -0,0 +1,12 @@
1
+ **Peer** — the default. The agent works alongside you as a candid equal, not a
2
+ deferential assistant.
3
+
4
+ - **Register.** Direct, dense, collegial. Assumes competence; skips the hand-holding
5
+ and the flattery alike.
6
+ - **Initiative.** Acts on what the request implies without asking permission for
7
+ every reversible step; surfaces genuine forks rather than guessing ({{LAW}} XXXI).
8
+ - **Disagreement.** Says so plainly and early when you are wrong, with the evidence,
9
+ and does not fold the moment you push back ({{LAW}} XXX). Honouring this is the
10
+ {{PACT}} working, not defiance.
11
+ - **What it will not do.** Pad answers, stage false agreement, or narrate reassurance.
12
+ Brevity and candour over comfort.
@@ -0,0 +1,47 @@
1
+ <!--
2
+ Authoring a new skill (this scaffold replaces the old create-skill skill):
3
+ 1. Reuse first — if an existing skill's domain already covers the need, extend it
4
+ instead of adding a file (universal Law V). Name the skill by its domain.
5
+ 2. Copy this file to skills/<name>.md and fill in the purpose line, trigger,
6
+ procedure, and done-when. In an installed harness the purpose line is plain
7
+ prose; in the Geneseed source repo it is the DESC_<NAME> token with the prose
8
+ defined per theme.
9
+ 3. Add a row for it to the skills table in AGENT.md (the table is hand-authored;
10
+ the skill files themselves auto-render). doctor fails if the table and the skill
11
+ files disagree, so neither can silently drift.
12
+ Geneseed source repo only (skip in an installed harness):
13
+ 4. Define the DESC_<NAME> token (hyphens -> underscores, uppercased) in ALL theme
14
+ JSONs under themes/ — the parity gate fails if any theme is missing it.
15
+ 5. Bump the `skills-N` count badge in README.md (doctor checks it against the real
16
+ file count; the test counts derive from src/ and need no edit), then run
17
+ `./geneseed doctor --all` and the repository's test suites.
18
+ -->
19
+ # {{SKILL}}: <name>
20
+
21
+ > One-line statement of the recurring task this {{SKILL}} automates.
22
+
23
+ **Trigger:** the situation or phrase that should make the agent run this {{SKILL}}.
24
+
25
+ **Requires:** *(optional line — include only for hard prerequisites: an env var, an
26
+ external binary, or a host capability the {{SKILL}} cannot run without. A {{SKILL}}
27
+ that merely uses standard repo tooling — git, the test runner — omits this line.)*
28
+
29
+ ## Procedure
30
+ 1. Ordered, concrete steps. Each step is an action the agent takes.
31
+ 2. Note any verification step (run the command, read the output).
32
+
33
+ ## Done when
34
+ - The observable condition that means the {{SKILL}} succeeded.
35
+
36
+ ## Self-improvement
37
+
38
+ Close each run with one beat of reflection on the {{SKILL}} itself:
39
+ - A step misled, a needed step was missing, or the trigger fired wrongly — that
40
+ is a flaw in this file. Propose the exact edit (trigger, procedure, or
41
+ done-when) and apply it with the user's assent ({{LAW}} II).
42
+ - A lesson that is *not* a flaw in this file goes to {{MEMORY}} only if it
43
+ clears {{LAW}} VI's bar: it would change how a future session behaves, and a
44
+ fresh read of the repo would not re-derive it. Update an existing memory over
45
+ adding one; when in doubt, leave it out.
46
+ - No friction, nothing learned — move on; this loop earns no ceremony. Most
47
+ runs end here.
@@ -0,0 +1,28 @@
1
+ # {{SKILL}}: brainstorm
2
+
3
+ > {{DESC_BRAINSTORM}}
4
+
5
+ **Trigger:** a new feature or behaviour change with no design yet, or the user says "brainstorm" / "let's design this". (If the goal or scope itself is still unclear — especially for non-design work — run the [clarify {{SKILL}}](clarify.md) first.)
6
+
7
+ ## Procedure
8
+ 1. Read the current project state and its own docs ({{LAW}} XVII) so questions are grounded; if the request bundles several systems, decompose and take one at a time.
9
+ 2. Ask clarifying questions ONE at a time (multiple-choice when you can) until purpose, constraints, and success criteria are clear.
10
+ 3. Propose 2-3 approaches with trade-offs; lead with your recommendation.
11
+ 4. Present the design in sections (purpose → components → data flow → failure modes → testing), getting an explicit "looks right" after each; cut anything YAGNI.
12
+ 5. Write the agreed design to a spec the next session can find — `SPEC.md` beside the work, or the project's own spec home (e.g. `docs/specs/`) — re-read it for ambiguity, then hand off to the [plan {{SKILL}}](plan.md) to sequence it — writing no implementation code before that approval.
13
+
14
+ ## Done when
15
+ - An approved, ambiguity-free design exists and `plan` has it to sequence, with no code written beforehand.
16
+
17
+ ## Self-improvement
18
+
19
+ Close each run with one beat of reflection on the {{SKILL}} itself:
20
+ - A step misled, a needed step was missing, or the trigger fired wrongly — that
21
+ is a flaw in this file. Propose the exact edit (trigger, procedure, or
22
+ done-when) and apply it with the user's assent ({{LAW}} II).
23
+ - A lesson that is *not* a flaw in this file goes to {{MEMORY}} only if it
24
+ clears {{LAW}} VI's bar: it would change how a future session behaves, and a
25
+ fresh read of the repo would not re-derive it. Update an existing memory over
26
+ adding one; when in doubt, leave it out.
27
+ - No friction, nothing learned — move on; this loop earns no ceremony. Most
28
+ runs end here.
@@ -0,0 +1,28 @@
1
+ # {{SKILL}}: clarify
2
+
3
+ > {{DESC_CLARIFY}}
4
+
5
+ **Trigger:** a task or whole project arrives with its goal, scope, or success criteria unstated or ambiguous — including non-design work (a refactor, migration, ops chore, investigation) — or the user says "interview me" / "what am I actually trying to do" / "clarify this first". If a concrete design problem is already identified, use the [brainstorm {{SKILL}}](brainstorm.md) instead.
6
+
7
+ ## Procedure
8
+ 1. Read the current project state and its own docs ({{LAW}} XVII) so questions are grounded ({{LAW}} III — verify the actual state before designing the interview). If the request bundles several goals, separate them and take one at a time.
9
+ 2. Interpret the request in its strongest, most reasonable form first (the principle of charity) — do not manufacture ambiguity from a fair reading. If the goal, scope, and success criteria are already unambiguous, restate them in one line and skip to step 4 — no ceremony on a clear ask. Otherwise interview the user ONE question at a time (multiple-choice when you can), driving at *why* (the outcome wanted), *scope* (what is explicitly in and out), and *done* (how success is judged) — not *how* yet. Keep asking until each is unambiguous.
10
+ 3. Name every KEY DECISION the answers imply or leave open — chosen direction, trade-offs accepted, load-bearing constraints, assumptions, and non-goals. Surface each silent assumption as a decision to ratify, not a settled fact.
11
+ 4. Write the goal and the key-decision ledger to `BRIEF.md` (or `clarify/<task>.md`), then read it back to the user as a numbered list and get an EXPLICIT confirmation before acting ({{LAW}} III — an inferred intent is not ground truth until echoed back and agreed) — so nothing material is silently assumed. Scope the read-back to decisions that are consequential, irreversible, or genuinely uncertain; correct the file and re-confirm any the user changes.
12
+ 5. Route the confirmed brief to the right next {{SKILL}} — [brainstorm {{SKILL}}](brainstorm.md) for a design problem, [plan {{SKILL}}](plan.md) for a multi-step build, [debug {{SKILL}}](debug.md) for a defect — handing it the brief and writing no implementation code first.
13
+
14
+ ## Done when
15
+ - A confirmed, ambiguity-free goal with an explicitly verified key-decision ledger is written to `BRIEF.md`, and the work has been handed to the appropriate downstream {{SKILL}}.
16
+
17
+ ## Self-improvement
18
+
19
+ Close each run with one beat of reflection on the {{SKILL}} itself:
20
+ - A step misled, a needed step was missing, or the trigger fired wrongly — that
21
+ is a flaw in this file. Propose the exact edit (trigger, procedure, or
22
+ done-when) and apply it with the user's assent ({{LAW}} II).
23
+ - A lesson that is *not* a flaw in this file goes to {{MEMORY}} only if it
24
+ clears {{LAW}} VI's bar: it would change how a future session behaves, and a
25
+ fresh read of the repo would not re-derive it. Update an existing memory over
26
+ adding one; when in doubt, leave it out.
27
+ - No friction, nothing learned — move on; this loop earns no ceremony. Most
28
+ runs end here.
@@ -0,0 +1,44 @@
1
+ # {{SKILL}}: codebase-design
2
+
3
+ > {{DESC_CODEBASE_DESIGN}}
4
+
5
+ **Trigger:** designing or reshaping a module's interface, deciding where a seam
6
+ goes, making code more testable through its interface — or another {{SKILL}}
7
+ needs the deep-module vocabulary.
8
+
9
+ ## Procedure
10
+ 1. Use this vocabulary exactly — **module** (anything with an interface and an
11
+ implementation, at any scale), **interface** (everything a caller must know:
12
+ the types plus invariants, ordering constraints, error modes, performance),
13
+ **depth** (behaviour a caller gets per unit of interface they must learn),
14
+ **seam** (a place where behaviour can be altered without editing in place),
15
+ **adapter** (a concrete thing filling a seam). Avoid "component", "service",
16
+ "API", "boundary" — consistent language is the point.
17
+ 2. Aim for **deep modules**: a lot of behaviour behind a small interface. Depth
18
+ buys callers leverage (one implementation pays back across N call sites) and
19
+ maintainers locality (change, bugs, and knowledge concentrate in one place).
20
+ 3. Place seams deliberately and sparingly — the interface is the test surface,
21
+ and the fewer seams the better. One adapter at a seam is a hypothesis; a
22
+ second adapter is what makes the seam real.
23
+ 4. Apply the **deletion test** to anything suspected shallow (interface nearly
24
+ as complex as its implementation): would deleting it concentrate complexity
25
+ somewhere sensible, or just move it around? "Concentrates" → fold it in.
26
+ 5. Record any structural decision this produces as the
27
+ [domain-modeling {{SKILL}}](domain-modeling.md) prescribes.
28
+
29
+ ## Done when
30
+ - The design is stated in this vocabulary, the seams are explicit and agreed,
31
+ and each module is deeper than the alternative you rejected.
32
+
33
+ ## Self-improvement
34
+
35
+ Close each run with one beat of reflection on the {{SKILL}} itself:
36
+ - A step misled, a needed step was missing, or the trigger fired wrongly — that
37
+ is a flaw in this file. Propose the exact edit (trigger, procedure, or
38
+ done-when) and apply it with the user's assent ({{LAW}} II).
39
+ - A lesson that is *not* a flaw in this file goes to {{MEMORY}} only if it
40
+ clears {{LAW}} VI's bar: it would change how a future session behaves, and a
41
+ fresh read of the repo would not re-derive it. Update an existing memory over
42
+ adding one; when in doubt, leave it out.
43
+ - No friction, nothing learned — move on; this loop earns no ceremony. Most
44
+ runs end here.
@@ -0,0 +1,48 @@
1
+ # {{SKILL}}: commit
2
+
3
+ > {{DESC_COMMIT}}
4
+
5
+ **Trigger:** about to commit changes.
6
+
7
+ ## Procedure
8
+ 1. Review the working tree; identify the paths that belong to *this* change only.
9
+ 2. Stage exactly those paths — never `git add -A` blindly (universal {{LAW}} II:
10
+ one intent, one act). Leave unrelated dirty files out.
11
+ 3. Confirm no secret is being committed (universal {{LAW}} I), and no leftover
12
+ debug scaffolding rides along — `console.log`, `debugger`, `print`,
13
+ commented-out code, or hardcoded test values left over from diagnosis
14
+ ({{LAW}} XXIV).
15
+ 4. Write a message: imperative subject ≤50 chars; a body only when the *why*
16
+ isn't obvious from the diff. **Match the repository's existing commit convention**
17
+ (universal {{LAW}} XIII) — detect it from commit tooling (`commitlint`,
18
+ `semantic-release`, `release-please`, husky hooks) and recent `git log`. When the
19
+ repo has no discernible convention, default to **Conventional Commits**:
20
+ `type(scope): subject` (`feat`, `fix`, `docs`, `refactor`, `test`, `chore`…),
21
+ with a `!` before the colon or a `BREAKING CHANGE:` footer for a breaking change.
22
+ 5. **Get explicit consent before committing (universal {{LAW}} XX).** On *every*
23
+ branch — feature branches included — first show the user a plain-language summary of
24
+ the change *and* the exact commit message, then wait for explicit acceptance before
25
+ committing. A previous approval is not standing consent; ask again each commit. On a
26
+ *shared branch* (`main`, `master`, `develop`/`development`, a release/hotfix branch,
27
+ or any branch that is not a dedicated feature branch) apply the same gate with extra
28
+ care.
29
+ 6. Push only when the user has explicitly approved *that push* ({{LAW}} XX / {{LAW}} IV)
30
+ — never push on your own initiative, on any branch, and never treat one approval as
31
+ consent for the next.
32
+
33
+ ## Done when
34
+ - The commit contains only the intended change and the working tree is clean of it,
35
+ and every commit and push went out only with the user's explicit, per-action consent.
36
+
37
+ ## Self-improvement
38
+
39
+ Close each run with one beat of reflection on the {{SKILL}} itself:
40
+ - A step misled, a needed step was missing, or the trigger fired wrongly — that
41
+ is a flaw in this file. Propose the exact edit (trigger, procedure, or
42
+ done-when) and apply it with the user's assent ({{LAW}} II).
43
+ - A lesson that is *not* a flaw in this file goes to {{MEMORY}} only if it
44
+ clears {{LAW}} VI's bar: it would change how a future session behaves, and a
45
+ fresh read of the repo would not re-derive it. Update an existing memory over
46
+ adding one; when in doubt, leave it out.
47
+ - No friction, nothing learned — move on; this loop earns no ceremony. Most
48
+ runs end here.
@@ -0,0 +1,34 @@
1
+ # {{SKILL}}: council
2
+
3
+ > {{DESC_COUNCIL}}
4
+
5
+ **Trigger:** the user asks to "convene a council", "debate this", "argue both sides", "stress-test this decision", or wants a change, plan, or claim challenged from several points of view before committing to it.
6
+
7
+ ## Procedure
8
+ 1. Frame the motion in one line — the exact decision, change, or claim under debate — and name what it feeds (a choice to make, a design to accept, a discussion to settle). Ground it in the real artifact and the project's own docs ({{LAW}} XVII–XVIII) so the council argues the actual thing; if the motion is unclear or bundles several questions, split it and ask once, then proceed.
9
+ 2. Seat the council from the standing roster of read-only debate {{AGENTS}}, each arguing one fixed stance — convene the subset that genuinely clashes on *this* motion (usually 3–6, never the whole bench for its own sake), always anchored by the for/against spine of [advocate](../{{DIR_AGENTS}}/advocate.md) and [skeptic](../{{DIR_AGENTS}}/skeptic.md):
10
+ - [advocate](../{{DIR_AGENTS}}/advocate.md) — the strongest case **for**; [skeptic](../{{DIR_AGENTS}}/skeptic.md) — devil's advocate, failure modes and hidden assumptions.
11
+ - [pragmatist](../{{DIR_AGENTS}}/pragmatist.md) — cost, effort, YAGNI; [steward](../{{DIR_AGENTS}}/steward.md) — long-term architecture and debt; [operator](../{{DIR_AGENTS}}/operator.md) — running it in production.
12
+ - [visionary](../{{DIR_AGENTS}}/visionary.md) — the bold, transformative version; [framer](../{{DIR_AGENTS}}/framer.md) — whether it's even the right problem; [empiricist](../{{DIR_AGENTS}}/empiricist.md) — every claim held to evidence; [historian](../{{DIR_AGENTS}}/historian.md) — what was tried before.
13
+ - [user-advocate](../{{DIR_AGENTS}}/user-advocate.md) — whoever consumes the outcome.
14
+
15
+ Hand each chosen seat the motion and a one-line charter scoped to this topic; skip the seats with nothing to say here, and add an ad-hoc seat (e.g. the [security](../{{DIR_AGENTS}}/security.md) surface) only when the topic plainly demands a voice the roster doesn't cover.
16
+ 3. Round one — positions: convene the seats by dispatching each stance {{AGENT}} as its own subagent in one batch where the tool supports it (the [parallel-agents {{SKILL}}](parallel-agents.md)), so each argues in an isolated context with no groupthink; where no subagent capability exists, voice each seat in turn as a persona. Each returns its steelmanned brief ({{LAW}} VIII) — no hedging, no strawmen.
17
+ 4. Round two — clash: put the briefs in front of each other and have the seats rebut only on the points that actually conflict, surfacing the cruxes, the load-bearing assumptions, and where the evidence is thin. Hold to a fixed number of rounds so the debate converges instead of looping; the skeptic already pairs every objection with what would resolve it (the [roast-me {{SKILL}}](roast-me.md) discipline).
18
+ 5. The chair synthesises in neutral voice: state the verdict and its reasoning, record the strongest surviving dissent verbatim so it is not lost, list what would change the verdict, and name the single next action. Surface it for the user to decide — the council advises, it does not commit: write no code and push nothing on its own ({{LAW}} IV, {{LAW}} XX).
19
+
20
+ ## Done when
21
+ - A crisp motion was debated by distinct, steelmanned seats over bounded rounds, and the chair has delivered a verdict, the preserved dissent, and one next action for the user to weigh.
22
+
23
+ ## Self-improvement
24
+
25
+ Close each run with one beat of reflection on the {{SKILL}} itself:
26
+ - A step misled, a needed step was missing, or the trigger fired wrongly — that
27
+ is a flaw in this file. Propose the exact edit (trigger, procedure, or
28
+ done-when) and apply it with the user's assent ({{LAW}} II).
29
+ - A lesson that is *not* a flaw in this file goes to {{MEMORY}} only if it
30
+ clears {{LAW}} VI's bar: it would change how a future session behaves, and a
31
+ fresh read of the repo would not re-derive it. Update an existing memory over
32
+ adding one; when in doubt, leave it out.
33
+ - No friction, nothing learned — move on; this loop earns no ceremony. Most
34
+ runs end here.
@@ -0,0 +1,28 @@
1
+ # {{SKILL}}: crash-course
2
+
3
+ > {{DESC_CRASH_COURSE}}
4
+
5
+ **Trigger:** the user wants to go from zero to *functional* in a skill fast — "teach me X", "get me up to speed on X", "I have limited time to learn X". For practising a concept until it's reflex use [drill](drill.md); for making confusing material click use [decode](decode.md); for gathering facts from the web use [research](research.md).
6
+
7
+ ## Procedure
8
+ 1. Pin the skill and the footing: what they want to be able to *do* afterwards, how much time they have, and what they already know. If unclear, ask once, then proceed.
9
+ 2. Act as a teacher who has only this one session and will never see them again; the sole objective is to make them functional before time runs out. Do not give theory without immediate practical use, and do not hand over a bare list.
10
+ 3. Name three things explicitly: **what to learn first**, **what to ignore completely** (for now), and **the single exercise that, done once, puts them ahead of most people who have studied this for months**.
11
+ 4. Have them do that exercise — or set it up so they can — rather than just reading about it.
12
+ 5. Close by naming what to practise next and the gap most likely to trip them, so the learning continues without you.
13
+
14
+ ## Done when
15
+ - The user knows what to learn first, what to skip, and has the one high-leverage exercise in hand — functional, not just informed.
16
+
17
+ ## Self-improvement
18
+
19
+ Close each run with one beat of reflection on the {{SKILL}} itself:
20
+ - A step misled, a needed step was missing, or the trigger fired wrongly — that
21
+ is a flaw in this file. Propose the exact edit (trigger, procedure, or
22
+ done-when) and apply it with the user's assent ({{LAW}} II).
23
+ - A lesson that is *not* a flaw in this file goes to {{MEMORY}} only if it
24
+ clears {{LAW}} VI's bar: it would change how a future session behaves, and a
25
+ fresh read of the repo would not re-derive it. Update an existing memory over
26
+ adding one; when in doubt, leave it out.
27
+ - No friction, nothing learned — move on; this loop earns no ceremony. Most
28
+ runs end here.
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "daydream",
3
+ "description": "daydream",
4
+ "author": {
5
+ "name": "Gleb Kalinin"
6
+ },
7
+ "repository": "https://github.com/glebis/claude-skills",
8
+ "license": "MIT"
9
+ }
@@ -0,0 +1,74 @@
1
+ # Vault Daydream Skill
2
+
3
+ Multi-agent system that mines the Obsidian vault for non-obvious connections between notes, mimicking the brain's default mode network. Samples random note pairs, synthesizes connections via Sonnet, filters with Haiku critic.
4
+
5
+ Inspired by [Gwern's LLM Daydreaming](https://gwern.net/ai-daydreaming).
6
+
7
+ ## Usage
8
+
9
+ ```
10
+ /daydream
11
+ ```
12
+
13
+ ## Setup (Geneseed)
14
+
15
+ Before the first run, make sure the pieces this skill depends on are in place:
16
+
17
+ 1. **A vault to mine.** Declare your Obsidian vault in the harness `wiki.jsonc`
18
+ (AGENT.md §7) — give a `wikis[]` entry a `path` to the vault root. Without it the
19
+ skill falls back to detecting a `.obsidian/` folder in the current directory, then
20
+ asks. No vault → nothing to daydream about.
21
+ 2. **Parallel subagents.** Synthesis and critique fan out across ~10–20 subagents per
22
+ run, so the host must be able to dispatch them (Claude Code's `Task`; OpenCode's
23
+ `task` tool — see the [parallel-agents](../parallel-agents.md) skill). On a host
24
+ with no subagent mechanism, the skill still works but runs serially and slowly.
25
+ 3. **Models.** The upstream prompts request `sonnet` for synthesis and `haiku` for
26
+ critique. Those are Claude model names — on another host, substitute the host's
27
+ capable/cheap pair (a strong model for synthesis, a fast one for scoring).
28
+ 4. **Prompt templates.** Steps 4 and 5 read the `synthesizer-prompt.md` and
29
+ `critic-prompt.md` files **in this skill's own folder** (`skills/daydream/` in a
30
+ deployed Geneseed bundle). They ship with the skill — nothing to install.
31
+ 5. **Writable output folders.** The run writes `Daydreams/`, `Daydreams/digests/`,
32
+ `Daily/`, and `ai-research/daydream/history.json` into the vault. If any of those
33
+ sit under a `protected` path in `wiki.jsonc`, the guard plugin will block the write —
34
+ keep them unprotected (Law-I-safe, since they're generated notes, not secrets).
35
+
36
+ This skill adds **no dependencies of its own** — it uses only the host's built-in
37
+ Glob/Read/Write/Bash and subagent tools. See [VENDOR.md](VENDOR.md) for provenance.
38
+
39
+ ## What it does
40
+
41
+ 1. Resolves vault root from the harness `wiki.jsonc` manifest (a declared vault's `path`); falls back to auto-detecting `.obsidian/` from the current directory, then asks if still unfound
42
+ 2. Scans vault for notes modified in last 120 days
43
+ 2. Generates 50 recency-weighted random pairs
44
+ 3. Synthesizes connections (Sonnet, parallel batches of 5)
45
+ 4. Critiques and scores insights (Haiku, parallel batches)
46
+ 5. Filters for quality (average score >= 7.0)
47
+ 6. Saves insight notes to `Daydreams/` folder
48
+ 7. Generates daily digest in `Daydreams/digests/`
49
+ 8. Appends summary to today's daily note
50
+
51
+ ## Output
52
+
53
+ - **Individual insights**: `Daydreams/YYYYMMDD-slug.md` -- full synthesis with scores and wikilinks
54
+ - **Daily digest**: `Daydreams/digests/YYYYMMDD-digest.md` -- stats + ranked top insights
55
+ - **Daily note**: Summary appended under `## Daydream`
56
+ - **History log**: `ai-research/daydream/history.json` -- tracks sampled pairs for dedup
57
+
58
+ ## Architecture
59
+
60
+ ```
61
+ Skill (orchestrator)
62
+ |-- Glob/Read: scan vault, extract excerpts
63
+ |-- Generate 50 random pairs (recency-weighted)
64
+ |-- Task(model: sonnet) x 10: synthesize connections <-- parallel
65
+ |-- Task(model: haiku) x 10: critique/score insights <-- parallel
66
+ |-- Filter (avg >= 7.0)
67
+ +-- Write: save insight notes + daily digest
68
+ ```
69
+
70
+ No external dependencies -- pure Claude Code tools (Glob, Read, Write, Bash, Task).
71
+
72
+ ## Cost
73
+
74
+ Per run (~50 pairs): approximately $0.40-0.50 via Claude Code usage.
@@ -0,0 +1,25 @@
1
+ # Vendored skill — daydream
2
+
3
+ This folder is a third-party skill vendored into Geneseed, not a Geneseed-authored
4
+ skill. It rides along in the rendered bundle and is exempt from Geneseed's authoring
5
+ gates (token, dead-link, hermeticity, skill counts) — it is listed in the
6
+ generator's `VENDORED_SKILL_DIRS`.
7
+
8
+ - **Upstream:** https://github.com/glebis/claude-skills/tree/main/daydream
9
+ - **Commit:** f47170dee300dd3d5da2a1c3c708986faeea3d5a
10
+ - **Author:** Gleb Kalinin
11
+ - **License:** MIT (declared in `.claude-plugin/plugin.json`)
12
+ - **Inspired by:** Gwern's [LLM Daydreaming](https://gwern.net/ai-daydreaming)
13
+
14
+ ## Geneseed adaptation
15
+
16
+ Vault resolution is adapted to read the harness's `wiki.jsonc` knowledge-base
17
+ manifest first (a declared vault's `path`), falling back to the upstream cwd/`.obsidian`
18
+ auto-detection when no wiki is declared. The synthesis/critique still run as parallel
19
+ subagents over recency-weighted note pairs. The model-name references (`sonnet`,
20
+ `haiku`) and the `.claude/skills/daydream/…` prompt paths are upstream's; on a
21
+ non-Claude host, read the sibling `synthesizer-prompt.md` / `critic-prompt.md`
22
+ directly and dispatch through whatever subagent mechanism the host provides.
23
+
24
+ To update, re-copy the upstream folder, re-apply the wiki.jsonc adaptation in
25
+ `SKILL.md` / `instructions.md`, and bump the commit above.
@@ -0,0 +1,38 @@
1
+ # Critic Prompt
2
+
3
+ Used by Task sub-agents (model: haiku) to score and filter synthesized insights.
4
+
5
+ ---
6
+
7
+ You are a discerning critic evaluating a synthesized insight
8
+ from an Obsidian knowledge vault.
9
+
10
+ Rate the following on a scale of 1-10:
11
+
12
+ - **Novelty**: Is this surprising and non-obvious? (1=obvious, 10=paradigm-shifting)
13
+ - **Coherence**: Is the reasoning logical? (1=nonsense, 10=rigorous)
14
+ - **Usefulness**: Could this lead to action? (1=useless, 10=highly actionable)
15
+
16
+ Source notes: "{title_a}" and "{title_b}"
17
+
18
+ Connection: {connection}
19
+
20
+ Synthesis:
21
+ {synthesis}
22
+
23
+ Implication:
24
+ {implication}
25
+
26
+ Respond with ONLY a JSON object (no markdown fences):
27
+ {
28
+ "novelty": <1-10>,
29
+ "coherence": <1-10>,
30
+ "usefulness": <1-10>,
31
+ "average": <float rounded to 1 decimal>,
32
+ "verdict": "accept" or "reject",
33
+ "reason": "<1-sentence justification>"
34
+ }
35
+
36
+ Accept if average >= 7.0. Be genuinely critical -- most random
37
+ combinations should be rejected. Only accept insights that would
38
+ genuinely surprise and inform the note author.