create-hq 5.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 (310) hide show
  1. package/dist/deps.d.ts +4 -0
  2. package/dist/deps.d.ts.map +1 -0
  3. package/dist/deps.js +65 -0
  4. package/dist/deps.js.map +1 -0
  5. package/dist/git.d.ts +3 -0
  6. package/dist/git.d.ts.map +1 -0
  7. package/dist/git.js +19 -0
  8. package/dist/git.js.map +1 -0
  9. package/dist/index.d.ts +3 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +23 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/scaffold.d.ts +8 -0
  14. package/dist/scaffold.d.ts.map +1 -0
  15. package/dist/scaffold.js +130 -0
  16. package/dist/scaffold.js.map +1 -0
  17. package/dist/ui.d.ts +7 -0
  18. package/dist/ui.d.ts.map +1 -0
  19. package/dist/ui.js +36 -0
  20. package/dist/ui.js.map +1 -0
  21. package/package.json +41 -0
  22. package/template/.claude/CLAUDE.md +202 -0
  23. package/template/.claude/commands/checkpoint.md +127 -0
  24. package/template/.claude/commands/cleanup.md +307 -0
  25. package/template/.claude/commands/execute-task.md +440 -0
  26. package/template/.claude/commands/exit-plan.md +41 -0
  27. package/template/.claude/commands/handoff.md +97 -0
  28. package/template/.claude/commands/learn.md +218 -0
  29. package/template/.claude/commands/metrics.md +118 -0
  30. package/template/.claude/commands/newworker.md +162 -0
  31. package/template/.claude/commands/nexttask.md +67 -0
  32. package/template/.claude/commands/prd.md +238 -0
  33. package/template/.claude/commands/reanchor.md +51 -0
  34. package/template/.claude/commands/remember.md +126 -0
  35. package/template/.claude/commands/run-project.md +348 -0
  36. package/template/.claude/commands/run.md +110 -0
  37. package/template/.claude/commands/search-reindex.md +62 -0
  38. package/template/.claude/commands/search.md +100 -0
  39. package/template/.claude/commands/setup.md +381 -0
  40. package/template/.claude/scripts/pure-ralph-loop.ps1 +312 -0
  41. package/template/.claude/scripts/pure-ralph-loop.sh +859 -0
  42. package/template/CHANGELOG.md +220 -0
  43. package/template/LICENSE +21 -0
  44. package/template/MIGRATION.md +259 -0
  45. package/template/README.md +368 -0
  46. package/template/data/journal/.gitkeep +0 -0
  47. package/template/docs/images/ascii-banner-options.md +122 -0
  48. package/template/docs/images/hq-banner.svg +105 -0
  49. package/template/knowledge/Ralph/01-overview.md +71 -0
  50. package/template/knowledge/Ralph/02-core-concepts.md +114 -0
  51. package/template/knowledge/Ralph/03-how-ralph-works.md +184 -0
  52. package/template/knowledge/Ralph/04-back-pressure.md +222 -0
  53. package/template/knowledge/Ralph/05-specifications.md +210 -0
  54. package/template/knowledge/Ralph/06-agents-md.md +222 -0
  55. package/template/knowledge/Ralph/07-implementation.md +316 -0
  56. package/template/knowledge/Ralph/08-economics.md +182 -0
  57. package/template/knowledge/Ralph/09-resources.md +145 -0
  58. package/template/knowledge/Ralph/10-claude-code-workflow.md +212 -0
  59. package/template/knowledge/Ralph/11-team-training-guide.md +383 -0
  60. package/template/knowledge/Ralph/README.md +40 -0
  61. package/template/knowledge/ai-security-framework/CONTRIBUTING.md +139 -0
  62. package/template/knowledge/ai-security-framework/GLOSSARY.md +176 -0
  63. package/template/knowledge/ai-security-framework/LICENSE +21 -0
  64. package/template/knowledge/ai-security-framework/QUICK-START.md +172 -0
  65. package/template/knowledge/ai-security-framework/README.md +232 -0
  66. package/template/knowledge/ai-security-framework/checklists/browser-security.md +301 -0
  67. package/template/knowledge/ai-security-framework/checklists/credential-isolation.md +322 -0
  68. package/template/knowledge/ai-security-framework/checklists/incident-response.md +288 -0
  69. package/template/knowledge/ai-security-framework/checklists/pre-flight.md +249 -0
  70. package/template/knowledge/ai-security-framework/checklists/weekly-audit.md +159 -0
  71. package/template/knowledge/ai-security-framework/configs/audit-logging.md +372 -0
  72. package/template/knowledge/ai-security-framework/configs/kill-switches.md +354 -0
  73. package/template/knowledge/ai-security-framework/docs/01-core-principles.md +256 -0
  74. package/template/knowledge/ai-security-framework/docs/02-threat-landscape.md +326 -0
  75. package/template/knowledge/ai-security-framework/docs/03-security-posture.md +250 -0
  76. package/template/knowledge/ai-security-framework/templates/agents-security.md +233 -0
  77. package/template/knowledge/design-styles/README.md +42 -0
  78. package/template/knowledge/design-styles/american-industrial.md +136 -0
  79. package/template/knowledge/design-styles/ethereal-abstract.md +133 -0
  80. package/template/knowledge/design-styles/liminal-portal.md +111 -0
  81. package/template/knowledge/design-styles/swipes/american-industrial/G-3m4YPW0AADdu2.jpeg +0 -0
  82. package/template/knowledge/design-styles/swipes/american-industrial/G-JJlt5WwAABK3K.png +0 -0
  83. package/template/knowledge/design-styles/swipes/american-industrial/G-JJmj5W0AEbJ-7.png +0 -0
  84. package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ (1).jpeg +0 -0
  85. package/template/knowledge/design-styles/swipes/american-industrial/G59fgNuXkAAKLJQ.jpeg +0 -0
  86. package/template/knowledge/design-styles/swipes/american-industrial/G7fVkn3WEAAM-ST.jpeg +0 -0
  87. package/template/knowledge/design-styles/swipes/american-industrial/G8ECO5JWEAIksyn.png +0 -0
  88. package/template/knowledge/design-styles/swipes/american-industrial/G9-3GQSWoAA8eqZ.png +0 -0
  89. package/template/knowledge/design-styles/swipes/american-industrial/G9xEOqrXkAEZRcs.png +0 -0
  90. package/template/knowledge/design-styles/swipes/american-industrial/G_MVeJrXQAA8sx4.jpeg +0 -0
  91. package/template/knowledge/design-styles/swipes/american-industrial/G_RSkmGXkAAgAVZ.png +0 -0
  92. package/template/knowledge/design-styles/swipes/american-industrial/README.md +31 -0
  93. package/template/knowledge/design-styles/swipes/american-industrial/qyqtg7Dq.png +0 -0
  94. package/template/knowledge/dev-team/README.md +35 -0
  95. package/template/knowledge/dev-team/patterns/README.md +34 -0
  96. package/template/knowledge/dev-team/patterns/frontend/react-best-practices.md +178 -0
  97. package/template/knowledge/dev-team/troubleshooting/README.md +31 -0
  98. package/template/knowledge/dev-team/workflows/README.md +49 -0
  99. package/template/knowledge/hq/checkpoint-schema.json +51 -0
  100. package/template/knowledge/hq/index-md-spec.md +74 -0
  101. package/template/knowledge/hq/thread-schema.md +153 -0
  102. package/template/knowledge/hq-core/checkpoint-schema.json +51 -0
  103. package/template/knowledge/hq-core/index-md-spec.md +74 -0
  104. package/template/knowledge/hq-core/thread-schema.md +153 -0
  105. package/template/knowledge/loom/README.md +51 -0
  106. package/template/knowledge/loom/architecture.md +125 -0
  107. package/template/knowledge/loom/code-style.md +169 -0
  108. package/template/knowledge/loom/llm-proxy.md +132 -0
  109. package/template/knowledge/loom/state-machine.md +131 -0
  110. package/template/knowledge/loom/thread-system.md +117 -0
  111. package/template/knowledge/loom/tools.md +94 -0
  112. package/template/knowledge/loom/weaver.md +96 -0
  113. package/template/knowledge/loom/web-frontend.md +131 -0
  114. package/template/knowledge/projects/README.md +72 -0
  115. package/template/knowledge/projects/templates/README.template.md +28 -0
  116. package/template/knowledge/workers/README.md +195 -0
  117. package/template/knowledge/workers/ralph-loop-pattern.md +157 -0
  118. package/template/knowledge/workers/skill-schema.md +182 -0
  119. package/template/knowledge/workers/state-machine.md +102 -0
  120. package/template/knowledge/workers/templates/base-worker.yaml +73 -0
  121. package/template/knowledge/workers/templates/code-worker.yaml +85 -0
  122. package/template/knowledge/workers/templates/skill.yaml +49 -0
  123. package/template/knowledge/workers/templates/social-worker.yaml +70 -0
  124. package/template/modules/examples/full-manifest.yaml +92 -0
  125. package/template/modules/examples/minimal.yaml +14 -0
  126. package/template/modules/modules.yaml +59 -0
  127. package/template/projects/.gitkeep +0 -0
  128. package/template/projects/incorporate-workers-into-pure-ralph/prd.json +88 -0
  129. package/template/projects/pure-ralph-branch-isolation/README.md +114 -0
  130. package/template/projects/pure-ralph-branch-isolation/prd.json +123 -0
  131. package/template/projects/purist-ralph-loop/README.md +148 -0
  132. package/template/projects/purist-ralph-loop/prd.json +135 -0
  133. package/template/projects/ralph-test/prd.json +50 -0
  134. package/template/prompts/pure-ralph-base.md +551 -0
  135. package/template/settings/.gitkeep +0 -0
  136. package/template/settings/pure-ralph.json +42 -0
  137. package/template/social-content/drafts/INDEX.md +21 -0
  138. package/template/social-content/drafts/linkedin/.gitkeep +1 -0
  139. package/template/social-content/drafts/x/.gitkeep +1 -0
  140. package/template/social-content/images/.gitkeep +1 -0
  141. package/template/starter-projects/code-worker/README.md +97 -0
  142. package/template/starter-projects/code-worker/prd.json +45 -0
  143. package/template/starter-projects/personal-assistant/README.md +42 -0
  144. package/template/starter-projects/personal-assistant/prd.json +43 -0
  145. package/template/starter-projects/social-media/README.md +60 -0
  146. package/template/starter-projects/social-media/prd.json +43 -0
  147. package/template/workers/content-brand/README.md +59 -0
  148. package/template/workers/content-brand/skills/messaging-alignment.md +91 -0
  149. package/template/workers/content-brand/skills/tone-check.md +76 -0
  150. package/template/workers/content-brand/skills/voice-analysis.md +68 -0
  151. package/template/workers/content-brand/worker.yaml +81 -0
  152. package/template/workers/content-legal/README.md +80 -0
  153. package/template/workers/content-legal/skills/claim-substantiation.md +150 -0
  154. package/template/workers/content-legal/skills/compliance-scan.md +123 -0
  155. package/template/workers/content-legal/skills/disclaimer-check.md +146 -0
  156. package/template/workers/content-legal/worker.yaml +118 -0
  157. package/template/workers/content-product/README.md +77 -0
  158. package/template/workers/content-product/skills/claim-verification.md +96 -0
  159. package/template/workers/content-product/skills/feature-accuracy.md +117 -0
  160. package/template/workers/content-product/skills/stats-check.md +128 -0
  161. package/template/workers/content-product/worker.yaml +97 -0
  162. package/template/workers/content-sales/README.md +70 -0
  163. package/template/workers/content-sales/skills/conversion-analysis.md +96 -0
  164. package/template/workers/content-sales/skills/cta-audit.md +107 -0
  165. package/template/workers/content-sales/skills/value-prop-check.md +114 -0
  166. package/template/workers/content-sales/worker.yaml +93 -0
  167. package/template/workers/content-shared/cli.ts +242 -0
  168. package/template/workers/content-shared/index.ts +234 -0
  169. package/template/workers/content-shared/lib/accuracy-analyzer.ts +661 -0
  170. package/template/workers/content-shared/lib/analyze.ts +370 -0
  171. package/template/workers/content-shared/lib/brand-analyzer.ts +526 -0
  172. package/template/workers/content-shared/lib/cms-integration.ts +446 -0
  173. package/template/workers/content-shared/lib/compliance-analyzer.ts +655 -0
  174. package/template/workers/content-shared/lib/conversion-analyzer.ts +555 -0
  175. package/template/workers/content-shared/lib/github-integration.ts +582 -0
  176. package/template/workers/content-shared/lib/output.ts +373 -0
  177. package/template/workers/content-shared/lib/parser.ts +771 -0
  178. package/template/workers/content-shared/lib/priority.ts +439 -0
  179. package/template/workers/content-shared/lib/recommendations.ts +512 -0
  180. package/template/workers/content-shared/lib/reporter.ts +749 -0
  181. package/template/workers/content-shared/lib/restructure.ts +664 -0
  182. package/template/workers/content-shared/lib/scorer.ts +140 -0
  183. package/template/workers/content-shared/lib/types.ts +227 -0
  184. package/template/workers/content-shared/lib/variants.ts +595 -0
  185. package/template/workers/content-shared/package.json +51 -0
  186. package/template/workers/content-shared/pnpm-lock.yaml +39 -0
  187. package/template/workers/content-shared/test/sample-page.json +115 -0
  188. package/template/workers/content-shared/tsconfig.json +20 -0
  189. package/template/workers/dev-team/README.md +166 -0
  190. package/template/workers/dev-team/_template.yaml +70 -0
  191. package/template/workers/dev-team/architect/package.json +27 -0
  192. package/template/workers/dev-team/architect/skills/api-design.md +89 -0
  193. package/template/workers/dev-team/architect/skills/refactor-plan.md +96 -0
  194. package/template/workers/dev-team/architect/skills/system-design.md +100 -0
  195. package/template/workers/dev-team/architect/src/index.ts +49 -0
  196. package/template/workers/dev-team/architect/src/mcp-server.ts +122 -0
  197. package/template/workers/dev-team/architect/src/skills/api-design.ts +316 -0
  198. package/template/workers/dev-team/architect/src/skills/refactor-plan.ts +264 -0
  199. package/template/workers/dev-team/architect/src/skills/system-design.ts +212 -0
  200. package/template/workers/dev-team/architect/tsconfig.json +19 -0
  201. package/template/workers/dev-team/architect/worker.yaml +128 -0
  202. package/template/workers/dev-team/backend-dev/package-lock.json +1252 -0
  203. package/template/workers/dev-team/backend-dev/package.json +27 -0
  204. package/template/workers/dev-team/backend-dev/skills/implement-endpoint.md +70 -0
  205. package/template/workers/dev-team/backend-dev/skills/implement-service.md +62 -0
  206. package/template/workers/dev-team/backend-dev/src/index.ts +51 -0
  207. package/template/workers/dev-team/backend-dev/src/mcp-server.ts +109 -0
  208. package/template/workers/dev-team/backend-dev/src/skills/implement-endpoint.ts +122 -0
  209. package/template/workers/dev-team/backend-dev/src/skills/implement-service.ts +126 -0
  210. package/template/workers/dev-team/backend-dev/tsconfig.json +19 -0
  211. package/template/workers/dev-team/backend-dev/worker.yaml +128 -0
  212. package/template/workers/dev-team/code-reviewer/package-lock.json +1080 -0
  213. package/template/workers/dev-team/code-reviewer/package.json +24 -0
  214. package/template/workers/dev-team/code-reviewer/skills/merge-to-production.md +61 -0
  215. package/template/workers/dev-team/code-reviewer/skills/merge-to-staging.md +54 -0
  216. package/template/workers/dev-team/code-reviewer/skills/request-changes.md +63 -0
  217. package/template/workers/dev-team/code-reviewer/skills/review-pr.md +77 -0
  218. package/template/workers/dev-team/code-reviewer/src/index.ts +56 -0
  219. package/template/workers/dev-team/code-reviewer/src/mcp-server.ts +101 -0
  220. package/template/workers/dev-team/code-reviewer/tsconfig.json +19 -0
  221. package/template/workers/dev-team/code-reviewer/worker.yaml +90 -0
  222. package/template/workers/dev-team/database-dev/package.json +22 -0
  223. package/template/workers/dev-team/database-dev/skills/create-schema.md +48 -0
  224. package/template/workers/dev-team/database-dev/src/index.ts +50 -0
  225. package/template/workers/dev-team/database-dev/src/mcp-server.ts +76 -0
  226. package/template/workers/dev-team/database-dev/tsconfig.json +18 -0
  227. package/template/workers/dev-team/database-dev/worker.yaml +90 -0
  228. package/template/workers/dev-team/frontend-dev/package.json +22 -0
  229. package/template/workers/dev-team/frontend-dev/skills/create-component.md +26 -0
  230. package/template/workers/dev-team/frontend-dev/src/index.ts +50 -0
  231. package/template/workers/dev-team/frontend-dev/src/mcp-server.ts +77 -0
  232. package/template/workers/dev-team/frontend-dev/tsconfig.json +18 -0
  233. package/template/workers/dev-team/frontend-dev/worker.yaml +132 -0
  234. package/template/workers/dev-team/infra-dev/package.json +24 -0
  235. package/template/workers/dev-team/infra-dev/skills/add-monitoring.md +73 -0
  236. package/template/workers/dev-team/infra-dev/skills/configure-deployment.md +80 -0
  237. package/template/workers/dev-team/infra-dev/skills/create-dockerfile.md +62 -0
  238. package/template/workers/dev-team/infra-dev/skills/setup-cicd.md +63 -0
  239. package/template/workers/dev-team/infra-dev/src/index.ts +55 -0
  240. package/template/workers/dev-team/infra-dev/src/mcp-server.ts +82 -0
  241. package/template/workers/dev-team/infra-dev/tsconfig.json +19 -0
  242. package/template/workers/dev-team/infra-dev/worker.yaml +92 -0
  243. package/template/workers/dev-team/knowledge-curator/package.json +24 -0
  244. package/template/workers/dev-team/knowledge-curator/skills/curate-troubleshooting.md +63 -0
  245. package/template/workers/dev-team/knowledge-curator/skills/process-learnings.md +61 -0
  246. package/template/workers/dev-team/knowledge-curator/skills/sync-documentation.md +76 -0
  247. package/template/workers/dev-team/knowledge-curator/skills/update-patterns.md +63 -0
  248. package/template/workers/dev-team/knowledge-curator/src/index.ts +53 -0
  249. package/template/workers/dev-team/knowledge-curator/src/mcp-server.ts +92 -0
  250. package/template/workers/dev-team/knowledge-curator/tsconfig.json +19 -0
  251. package/template/workers/dev-team/knowledge-curator/worker.yaml +80 -0
  252. package/template/workers/dev-team/motion-designer/package.json +22 -0
  253. package/template/workers/dev-team/motion-designer/skills/add-animation.md +25 -0
  254. package/template/workers/dev-team/motion-designer/skills/generate-image.md +36 -0
  255. package/template/workers/dev-team/motion-designer/src/index.ts +63 -0
  256. package/template/workers/dev-team/motion-designer/src/mcp-server.ts +79 -0
  257. package/template/workers/dev-team/motion-designer/tsconfig.json +18 -0
  258. package/template/workers/dev-team/motion-designer/worker.yaml +84 -0
  259. package/template/workers/dev-team/product-planner/queue.json +4 -0
  260. package/template/workers/dev-team/product-planner/worker.yaml +220 -0
  261. package/template/workers/dev-team/project-manager/package-lock.json +1252 -0
  262. package/template/workers/dev-team/project-manager/package.json +27 -0
  263. package/template/workers/dev-team/project-manager/skills/create-prd.md +66 -0
  264. package/template/workers/dev-team/project-manager/skills/next-issue.md +51 -0
  265. package/template/workers/dev-team/project-manager/skills/project-status.md +59 -0
  266. package/template/workers/dev-team/project-manager/skills/update-learnings.md +65 -0
  267. package/template/workers/dev-team/project-manager/src/index.ts +54 -0
  268. package/template/workers/dev-team/project-manager/src/mcp-server.ts +207 -0
  269. package/template/workers/dev-team/project-manager/src/skills/create-prd.ts +86 -0
  270. package/template/workers/dev-team/project-manager/src/skills/next-issue.ts +137 -0
  271. package/template/workers/dev-team/project-manager/src/skills/project-status.ts +131 -0
  272. package/template/workers/dev-team/project-manager/src/skills/update-learnings.ts +94 -0
  273. package/template/workers/dev-team/project-manager/tsconfig.json +19 -0
  274. package/template/workers/dev-team/project-manager/worker.yaml +96 -0
  275. package/template/workers/dev-team/qa-tester/package.json +24 -0
  276. package/template/workers/dev-team/qa-tester/skills/create-demo-account.md +36 -0
  277. package/template/workers/dev-team/qa-tester/skills/run-tests.md +36 -0
  278. package/template/workers/dev-team/qa-tester/skills/write-test.md +27 -0
  279. package/template/workers/dev-team/qa-tester/src/index.ts +61 -0
  280. package/template/workers/dev-team/qa-tester/src/mcp-server.ts +88 -0
  281. package/template/workers/dev-team/qa-tester/tsconfig.json +18 -0
  282. package/template/workers/dev-team/qa-tester/worker.yaml +116 -0
  283. package/template/workers/dev-team/task-executor/package-lock.json +1252 -0
  284. package/template/workers/dev-team/task-executor/package.json +27 -0
  285. package/template/workers/dev-team/task-executor/skills/analyze-issue.md +101 -0
  286. package/template/workers/dev-team/task-executor/skills/execute.md +133 -0
  287. package/template/workers/dev-team/task-executor/skills/report-learnings.md +106 -0
  288. package/template/workers/dev-team/task-executor/skills/validate-completion.md +121 -0
  289. package/template/workers/dev-team/task-executor/src/index.ts +54 -0
  290. package/template/workers/dev-team/task-executor/src/mcp-server.ts +139 -0
  291. package/template/workers/dev-team/task-executor/src/skills/analyze-issue.ts +219 -0
  292. package/template/workers/dev-team/task-executor/src/skills/execute.ts +132 -0
  293. package/template/workers/dev-team/task-executor/src/skills/report-learnings.ts +119 -0
  294. package/template/workers/dev-team/task-executor/src/skills/validate-completion.ts +142 -0
  295. package/template/workers/dev-team/task-executor/tsconfig.json +19 -0
  296. package/template/workers/dev-team/task-executor/worker.yaml +110 -0
  297. package/template/workers/registry.yaml +171 -0
  298. package/template/workers/security-scanner/README.md +73 -0
  299. package/template/workers/security-scanner/skills/pre-deploy-check.md +205 -0
  300. package/template/workers/security-scanner/worker.yaml +26 -0
  301. package/template/workspace/checkpoints/.gitkeep +0 -0
  302. package/template/workspace/content-ideas/inbox.jsonl +0 -0
  303. package/template/workspace/drafts/.gitkeep +0 -0
  304. package/template/workspace/learnings/.gitkeep +3 -0
  305. package/template/workspace/orchestrator/.gitkeep +0 -0
  306. package/template/workspace/ralph-test/COMPLETE.md +18 -0
  307. package/template/workspace/ralph-test/hello.txt +2 -0
  308. package/template/workspace/reports/.gitkeep +0 -0
  309. package/template/workspace/scratch/.gitkeep +0 -0
  310. package/template/workspace/threads/.gitkeep +3 -0
@@ -0,0 +1,218 @@
1
+ ---
2
+ description: Auto-capture and classify learnings from task execution
3
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
4
+ argument-hint: [json-event or "rule description"]
5
+ visibility: public
6
+ ---
7
+
8
+ # /learn - Automated Learning Pipeline
9
+
10
+ Capture a learning, classify it, and inject the rule directly into the file it governs.
11
+
12
+ Called programmatically by `/execute-task` and `/run-project` after task completion or failure. Also callable manually. `/remember` delegates here.
13
+
14
+ **Input:** $ARGUMENTS
15
+
16
+ ## Core Principle
17
+
18
+ No separate learnings files. Rules go into the files they pertain to:
19
+
20
+ | Scope | Target file | Section |
21
+ |-------|------------|---------|
22
+ | `worker:{id}` | `workers/*/{id}/worker.yaml` | `instructions:` → `## Learnings` subsection |
23
+ | `command:{name}` | `.claude/commands/{name}.md` | `## Rules` section |
24
+ | `knowledge:{path}` | The relevant knowledge file | Append as rule/note |
25
+ | `project:{slug}` | Related knowledge or prd.json metadata | Context-dependent |
26
+ | `global` | `.claude/CLAUDE.md` | `## Learned Rules` section |
27
+
28
+ ## Step 1: Parse Input
29
+
30
+ **If structured JSON** (from /execute-task):
31
+ ```json
32
+ {
33
+ "task_id": "TASK-001",
34
+ "project": "my-project",
35
+ "source": "back-pressure-failure|user-correction|success-pattern|task-completion|build-activity",
36
+ "severity": "critical|high|medium|low",
37
+ "scope": "global|worker:{id}|command:{name}|knowledge:{path}|project:{slug}",
38
+ "workers_used": ["backend-dev"],
39
+ "back_pressure_failures": [{"worker": "frontend-dev", "check": "lint", "error": "..."}],
40
+ "retries": 0,
41
+ "key_decisions": ["..."],
42
+ "issues_encountered": ["..."],
43
+ "patterns_discovered": ["..."]
44
+ }
45
+ ```
46
+
47
+ **If free text** (manual invocation or /remember delegation):
48
+ - Parse for keywords to determine scope
49
+ - Generate rule statement from description
50
+
51
+ ## Step 2: Extract Rules
52
+
53
+ From structured input, generate rules:
54
+
55
+ - `back_pressure_failures` → `NEVER: {anti-pattern that caused failure}` (scope: worker:{id})
56
+ - `retries > 0` → Rule about what caused retry and how to avoid it
57
+ - `key_decisions` → `ALWAYS: {pattern}` if broadly applicable
58
+ - `issues_encountered` → Scoped rule to prevent recurrence
59
+ - `patterns_discovered` → `ALWAYS: {pattern}` for success patterns
60
+
61
+ From free text:
62
+ - Extract the core rule in NEVER/ALWAYS/condition→action format
63
+
64
+ If no meaningful rules can be extracted (task completed cleanly, no failures, no notable patterns), skip injection — log to event log only.
65
+
66
+ ## Step 3: Classify Scope & Resolve Target File
67
+
68
+ For each extracted rule, determine scope (most specific wins):
69
+
70
+ | Signal | Scope | Target |
71
+ |--------|-------|--------|
72
+ | Failure in specific worker | `worker:{id}` | `workers/*/{id}/worker.yaml` |
73
+ | Error in specific command | `command:{name}` | `.claude/commands/{name}.md` |
74
+ | Relevant to specific knowledge | `knowledge:{path}` | The knowledge file |
75
+ | Universal pattern | `global` | `.claude/CLAUDE.md` |
76
+ | User correction via /remember | From context, default global | Detected target or CLAUDE.md |
77
+
78
+ **Resolve the target file path:**
79
+ - For workers: Glob `workers/*/{id}/worker.yaml` or `workers/public/dev-team/{id}/worker.yaml`
80
+ - For commands: `.claude/commands/{name}.md`
81
+ - For knowledge: the specific knowledge file mentioned in context
82
+ - For global: `.claude/CLAUDE.md`
83
+
84
+ If the target file doesn't exist, fall back to `.claude/CLAUDE.md`.
85
+
86
+ ## Step 4: Dedup Check
87
+
88
+ ```bash
89
+ qmd vsearch "{rule text}" --json -n 5
90
+ ```
91
+
92
+ Check results for similarity to the new rule:
93
+ - Similarity > 0.85 → **Skip** (already captured somewhere)
94
+ - Similarity 0.6–0.85 → **Merge** (update existing rule to be more precise)
95
+ - Similarity < 0.6 → **Add new**
96
+
97
+ Report dedup action taken.
98
+
99
+ ## Step 5: Inject Rule into Target File
100
+
101
+ ### For worker.yaml (`instructions:` block)
102
+
103
+ Read the file, find `instructions: |` block. Look for `## Learnings` subsection:
104
+ - If exists: append rule under it
105
+ - If not: create `## Learnings` subsection at end of instructions block
106
+
107
+ ```yaml
108
+ instructions: |
109
+ ...existing instructions...
110
+
111
+ ## Learnings
112
+ - NEVER: {new rule}
113
+ ```
114
+
115
+ ### For command .md (`## Rules` section)
116
+
117
+ Find `## Rules` section, append rule:
118
+ ```markdown
119
+ ## Rules
120
+
121
+ ...existing rules...
122
+ - **{NEVER|ALWAYS}**: {rule}
123
+ ```
124
+
125
+ If no `## Rules` section exists, create it at end of file.
126
+
127
+ ### For knowledge files
128
+
129
+ Append rule as a note at end of file, or under most relevant section.
130
+
131
+ **Knowledge files live in separate git repos** (symlinked into HQ). After injecting a rule into a knowledge file, commit the change to the knowledge repo:
132
+
133
+ ```bash
134
+ # Resolve the real repo path through the symlink
135
+ repo_dir=$(cd "$(dirname "$(readlink -f "{target_file}")")" && git rev-parse --show-toplevel)
136
+ cd "$repo_dir"
137
+ git add -A
138
+ git commit -m "learn: {short rule summary}"
139
+ ```
140
+
141
+ ### For CLAUDE.md (`## Learned Rules`)
142
+
143
+ Append rule:
144
+ ```markdown
145
+ - **{NEVER|ALWAYS}**: {rule} <!-- {source} | {date} -->
146
+ ```
147
+
148
+ ## Step 6: Evaluate Global Promotion
149
+
150
+ If the rule was injected into a scoped file (worker/command/knowledge), also add to `.claude/CLAUDE.md` `## Learned Rules` if ANY:
151
+ - `severity == critical`
152
+ - `source == user-correction` (explicit /remember invocation)
153
+ - Rule triggered 3+ times (check event log)
154
+
155
+ ### Cap Enforcement
156
+
157
+ `## Learned Rules` is capped at 20 rules.
158
+
159
+ 1. Count existing rules in section
160
+ 2. If >= 20: find the oldest rule (by date in comment), remove it from CLAUDE.md
161
+ - The rule still lives in its source file — only the CLAUDE.md copy is removed
162
+ 3. Append new rule
163
+
164
+ ## Step 7: Log Event
165
+
166
+ ```bash
167
+ mkdir -p workspace/learnings
168
+ ```
169
+
170
+ Write `workspace/learnings/learn-{YYYYMMDD-HHMMSS}.json`:
171
+ ```json
172
+ {
173
+ "event_id": "learn-{timestamp}",
174
+ "rules": [
175
+ {
176
+ "rule": "NEVER: ...",
177
+ "scope": "worker:frontend-dev",
178
+ "target_file": "workers/public/dev-team/frontend-dev/worker.yaml",
179
+ "severity": "high"
180
+ }
181
+ ],
182
+ "source": "back-pressure-failure",
183
+ "task_id": "TASK-001",
184
+ "project": "my-project",
185
+ "dedup_action": "new|merged|skipped",
186
+ "promoted_to_global": true,
187
+ "created_at": "{ISO8601}"
188
+ }
189
+ ```
190
+
191
+ ## Step 8: Reindex
192
+
193
+ ```bash
194
+ qmd update 2>/dev/null || true
195
+ ```
196
+
197
+ ## Step 9: Report
198
+
199
+ ```
200
+ Learning captured:
201
+ Rule: {rule}
202
+ Injected: {target file path} → {section}
203
+ Global: {promoted|not promoted}
204
+ Dedup: {new|merged|skipped}
205
+ Event: workspace/learnings/learn-{timestamp}.json
206
+ ```
207
+
208
+ If multiple rules extracted, report each.
209
+
210
+ ## Rules
211
+
212
+ - **Never inject empty/trivial rules** — "task completed successfully" is not a learning
213
+ - **Dedup is mandatory** — always check before injecting
214
+ - **Global cap is hard** — never exceed 20 rules in CLAUDE.md `## Learned Rules`
215
+ - **Reindex after every injection** — keeps qmd search current
216
+ - **Preserve existing rules** — append only, never overwrite existing rules
217
+ - **User corrections always promote** — /remember delegations go to both target file AND CLAUDE.md
218
+ - **Match existing style** — use the same rule format as existing rules in the target file
@@ -0,0 +1,118 @@
1
+ ---
2
+ description: View worker execution metrics
3
+ allowed-tools: Bash, Read
4
+ argument-hint: [worker-id] [--days N]
5
+ visibility: public
6
+ ---
7
+
8
+ # /metrics - Worker Observability
9
+
10
+ View worker execution metrics and statistics.
11
+
12
+ **Arguments:** $ARGUMENTS
13
+
14
+ ## Usage
15
+
16
+ ```bash
17
+ /metrics # Summary of all workers
18
+ /metrics cfo-{company} # Metrics for specific worker
19
+ /metrics --days 7 # Last 7 days only
20
+ /metrics cfo-{company} mrr # Specific worker + skill
21
+ ```
22
+
23
+ ## Metrics File
24
+
25
+ Location: `workspace/metrics/metrics.jsonl`
26
+
27
+ Each line is a JSON object:
28
+
29
+ ```json
30
+ {"ts":"2026-01-23T14:30:52.000Z","worker":"cfo-{company}","skill":"mrr","duration_ms":5000,"status":"completed","files":1}
31
+ ```
32
+
33
+ ## Fields
34
+
35
+ | Field | Description |
36
+ |-------|-------------|
37
+ | `ts` | ISO8601 timestamp |
38
+ | `worker` | Worker ID |
39
+ | `skill` | Skill executed |
40
+ | `duration_ms` | Execution time in milliseconds |
41
+ | `status` | `completed` or `error` |
42
+ | `files` | Number of files created/modified |
43
+ | `error` | Error message (if status=error) |
44
+
45
+ ## Process
46
+
47
+ 1. **Read metrics file**
48
+ ```bash
49
+ cat workspace/metrics/metrics.jsonl
50
+ ```
51
+
52
+ 2. **Filter by arguments**
53
+ - If worker-id provided: filter to that worker
54
+ - If --days N: filter to last N days
55
+ - If skill provided: filter to that skill
56
+
57
+ 3. **Calculate statistics**
58
+ - Total runs
59
+ - Success rate
60
+ - Average duration
61
+ - Most used skills
62
+
63
+ 4. **Display summary**
64
+
65
+ ```
66
+ Worker Metrics (last 30 days)
67
+ ═══════════════════════════════════════════════════
68
+
69
+ cfo-{company}
70
+ Runs: 45 (98% success)
71
+ Avg duration: 3.2s
72
+ Top skills: mrr (20), pnl (12), cash-position (8)
73
+
74
+ x-{your-name}
75
+ Runs: 23 (100% success)
76
+ Avg duration: 8.5s
77
+ Top skills: suggestposts (15), scheduleposts (8)
78
+
79
+ {company}-analyst
80
+ Runs: 12 (92% success)
81
+ Avg duration: 15.3s
82
+ Top skills: anomaly-check (10), forecast (2)
83
+
84
+ ───────────────────────────────────────────────────
85
+ Total: 80 runs | 97% success | 6.2s avg
86
+ ```
87
+
88
+ ## Detailed View
89
+
90
+ For specific worker:
91
+
92
+ ```
93
+ /metrics cfo-{company}
94
+
95
+ cfo-{company} Metrics (last 30 days)
96
+ ═══════════════════════════════════════════════════
97
+
98
+ Skills:
99
+ mrr 20 runs 2.1s avg 100% success
100
+ pnl 12 runs 4.5s avg 100% success
101
+ cash-position 8 runs 3.8s avg 88% success
102
+ burn-rate 5 runs 2.9s avg 100% success
103
+
104
+ Recent runs:
105
+ 2026-01-23 14:30 mrr completed 2.1s
106
+ 2026-01-23 09:15 pnl completed 4.2s
107
+ 2026-01-22 16:00 cash-position error 0.5s
108
+ 2026-01-22 11:30 mrr completed 2.3s
109
+
110
+ Errors (1):
111
+ 2026-01-22 16:00 cash-position: "QuickBooks token expired"
112
+ ```
113
+
114
+ ## Notes
115
+
116
+ - Metrics auto-appended by PostToolsHook after each skill run
117
+ - File is append-only JSONL for efficiency
118
+ - Rotate/archive manually if file grows large
@@ -0,0 +1,162 @@
1
+ ---
2
+ description: Scaffold a new worker with skills, tools, and knowledge
3
+ allowed-tools: Read, Write, Edit, AskUserQuestion
4
+ visibility: public
5
+ ---
6
+
7
+ # New Worker Builder
8
+
9
+ Create a new worker with proper structure, skills, and verification.
10
+
11
+ **Technology:** All HQ workers use TypeScript + Node.js (ESM). No Python for new workers.
12
+
13
+ **PRDs live in `projects/`** - Workers reference them, don't create their own. If the worker needs a PRD:
14
+ 1. Run `/prd {worker-name}` first to create the PRD
15
+ 2. Then return to `/newworker` to create the worker that references it
16
+
17
+ ## Context to Load First
18
+
19
+ 1. `knowledge/public/workers/README.md` - Worker framework
20
+ 2. `knowledge/public/workers/templates/` - Worker templates
21
+ 3. `workers/registry.yaml` - Existing workers
22
+
23
+ ## Interactive Setup
24
+
25
+ Ask these questions (can batch related ones):
26
+
27
+ ### 1. Identity
28
+ - **What type of worker?** (CodeWorker, SocialWorker, ResearchWorker, OpsWorker)
29
+ - **What's its name/id?** (e.g., "competitive-researcher", "x-{your-name}")
30
+ - **What does it do?** (1-sentence purpose)
31
+
32
+ ### 2. Skills
33
+ - **What skills does it have?** (list specific capabilities)
34
+ - **What inputs does it need?** (context, triggers, data)
35
+ - **What outputs does it produce?** (reports, code, posts, etc.)
36
+
37
+ ### 3. Execution
38
+ - **When does it run?** (on-demand, scheduled, event-triggered)
39
+ - **Schedule if applicable** (cron format: "0 9,14,19 * * *" = 9am, 2pm, 7pm)
40
+
41
+ ### 4. Context
42
+ - **What files should always be loaded?** (base context)
43
+ - **What files should be loaded per-task?** (dynamic context)
44
+ - **What should be excluded?** (noise reduction)
45
+
46
+ ### 5. Verification
47
+ - **What checks ensure quality?** (type checks, character limits, voice consistency)
48
+ - **Does it need human approval?** (before external actions)
49
+
50
+ ## Generate Worker
51
+
52
+ Create folder: `workers/{worker-id}/` (flat structure, no categories)
53
+
54
+ ### worker.yaml
55
+
56
+ ```yaml
57
+ worker:
58
+ id: {worker-id}
59
+ name: "{Human Name}"
60
+ type: {WorkerType}
61
+ version: "1.0"
62
+
63
+ identity:
64
+ persona: {your-username} # or company_context, voice_guide
65
+
66
+ execution:
67
+ mode: {on-demand|scheduled|event-triggered}
68
+ schedule: "{cron if scheduled}"
69
+ max_runtime: 10m
70
+ retry_attempts: 2
71
+
72
+ context:
73
+ base:
74
+ - {always-loaded-files}
75
+ dynamic:
76
+ - {per-task-files}
77
+ exclude:
78
+ - "*.log"
79
+ - "node_modules/"
80
+
81
+ verification:
82
+ post_execute:
83
+ - {checks}
84
+ approval_required: {true|false}
85
+
86
+ tasks:
87
+ source: projects/{associated-project}/prd.json # Or queue.json for simple task queues
88
+ one_at_a_time: true
89
+
90
+ output:
91
+ destination: workspace/{output-folder}/
92
+ format: {markdown|json}
93
+
94
+ instructions: |
95
+ {Worker-specific instructions and constraints}
96
+ ```
97
+
98
+ ### Update Registry
99
+
100
+ Add to `workers/registry.yaml`:
101
+
102
+ ```yaml
103
+ - id: {worker-id}
104
+ path: workers/{worker-id}/
105
+ type: {WorkerType}
106
+ status: active
107
+ description: "{1-sentence description}"
108
+ ```
109
+
110
+ ### Task Source Options
111
+
112
+ Workers can get tasks from:
113
+
114
+ 1. **Project PRD** (recommended): `projects/{project-name}/prd.json`
115
+ - For workers that implement features
116
+ - Reference existing project or create one with `/prd`
117
+
118
+ 2. **Queue file**: `workers/{worker-id}/queue.json`
119
+ - For workers with simple, repeating tasks (posting, monitoring)
120
+ - Create with:
121
+ ```json
122
+ {
123
+ "worker": "{worker-id}",
124
+ "tasks": []
125
+ }
126
+ ```
127
+
128
+ **Do NOT create prd.json inside worker directories.** PRDs belong in `projects/`.
129
+
130
+ ## Rules
131
+
132
+ - Follow existing worker patterns
133
+ - One task at a time (Ralph principle)
134
+ - Always include verification
135
+ - Default to `approval_required: true` for external actions
136
+
137
+ ## After Creation
138
+
139
+ ### Capture Learning (Auto-Learn)
140
+
141
+ Run `/learn` to register the new worker in the learning system:
142
+ ```json
143
+ {
144
+ "source": "build-activity",
145
+ "severity": "medium",
146
+ "scope": "global",
147
+ "rule": "Worker {worker-id} exists at workers/{path}/ for {1-sentence purpose}",
148
+ "context": "Created via /newworker"
149
+ }
150
+ ```
151
+
152
+ Also reindex: `qmd update 2>/dev/null || true`
153
+
154
+ **Update INDEX.md:** Regenerate `workers/public/INDEX.md` or `workers/private/INDEX.md` (whichever the worker was created in) per `knowledge/public/hq-core/index-md-spec.md`.
155
+
156
+ ### Report to User
157
+
158
+ Provide next steps:
159
+ 1. "Worker created at `workers/{worker-id}/`"
160
+ 2. "Test with on-demand execution first"
161
+ 3. If using queue: "Add tasks to queue.json to get started"
162
+ 4. If using PRD: "Run `/prd {project-name}` to create the PRD, then link it in worker.yaml"
@@ -0,0 +1,67 @@
1
+ ---
2
+ description: Scan HQ and suggest next tasks or projects to work on
3
+ allowed-tools: Read, Glob, Bash, AskUserQuestion
4
+ visibility: public
5
+ ---
6
+
7
+ # /nexttask - Find Work
8
+
9
+ Scan HQ to surface actionable work. Prioritize by: beads tasks, checkpoints, projects.
10
+
11
+ ## Process
12
+
13
+ ### 1. Check Beads (Primary Source)
14
+ ```bash
15
+ bd list --status open --limit 10
16
+ ```
17
+ Beads is the canonical task tracker. Open issues are the primary work queue.
18
+
19
+ ### 2. Check Checkpoints (In-Progress Work)
20
+ ```
21
+ workspace/checkpoints/*.json
22
+ ```
23
+ Look for recent checkpoints with `next_steps`. These are work that was started.
24
+
25
+ Also check `workspace/checkpoints/handoff.json` for explicit handoffs.
26
+
27
+ ### 3. Check Projects (Secondary)
28
+ ```
29
+ projects/*/prd.json
30
+ ```
31
+ Scan for projects with incomplete features (beads syncs from PRDs, so this is backup).
32
+
33
+ ## Output Format
34
+
35
+ ```
36
+ Next Tasks:
37
+
38
+ BEADS (open issues):
39
+ 1. [PROJECT-123] Task title
40
+ 2. [PROJECT-456] Another task
41
+
42
+ IN PROGRESS (checkpoints):
43
+ 3. skills-redesign - "Rewriting HQ skills per plan"
44
+ Next: Move content skills to worker
45
+
46
+ PROJECTS (with work):
47
+ 4. customer-cube - 3 features remaining
48
+
49
+ Pick a number, or:
50
+ /run {worker} Run a worker skill
51
+ /prd Create a new project
52
+ ```
53
+
54
+ ## Priority Rules
55
+
56
+ 1. **Handoff work** - explicit continuations from last session
57
+ 2. **Beads open issues** - canonical task queue
58
+ 3. **In-progress checkpoints** - finish what was started
59
+ 4. **Projects with defined features** - clear work to do
60
+
61
+ ## After Presenting
62
+
63
+ Use AskUserQuestion:
64
+ - "Which task to work on?"
65
+ - Options: numbered list + "Something else"
66
+
67
+ Then execute the chosen work in the current session.