openclaw-node-harness 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 (779) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +184 -0
  3. package/bin/discord-read.js +228 -0
  4. package/bin/fleet-deploy.js +365 -0
  5. package/bin/lane-watchdog.js +232 -0
  6. package/bin/mesh-agent.js +714 -0
  7. package/bin/mesh-bridge.js +535 -0
  8. package/bin/mesh-deploy-listener.js +322 -0
  9. package/bin/mesh-deploy.js +1048 -0
  10. package/bin/mesh-health-publisher.js +247 -0
  11. package/bin/mesh-task-daemon.js +451 -0
  12. package/bin/mesh-tool-discord.js +293 -0
  13. package/bin/mesh.js +649 -0
  14. package/boot/manifest.yaml +187 -0
  15. package/cli.js +35 -0
  16. package/config/daemon.json.template +16 -0
  17. package/config/obsidian-sync.json.template +39 -0
  18. package/config/openclaw.json.template +124 -0
  19. package/config/transcript-sources.json.template +22 -0
  20. package/identity/AGENTS.md +201 -0
  21. package/identity/CLAUDE.md +64 -0
  22. package/identity/DELEGATION.md +304 -0
  23. package/identity/HEARTBEAT.md +163 -0
  24. package/identity/MEMORY_SPEC.md +368 -0
  25. package/identity/PRINCIPLES.md +81 -0
  26. package/identity/SOUL.md +48 -0
  27. package/identity/TOOLS.md +47 -0
  28. package/install.sh +895 -0
  29. package/lib/agent-activity.js +390 -0
  30. package/lib/kanban-io.js +352 -0
  31. package/lib/mesh-registry.js +194 -0
  32. package/lib/mesh-roles.js +13 -0
  33. package/lib/mesh-tasks.js +306 -0
  34. package/lib/nats-resolve.js +108 -0
  35. package/mission-control/README.md +36 -0
  36. package/mission-control/drizzle/0000_simple_silhouette.sql +62 -0
  37. package/mission-control/drizzle/meta/0000_snapshot.json +413 -0
  38. package/mission-control/drizzle/meta/_journal.json +13 -0
  39. package/mission-control/drizzle.config.ts +13 -0
  40. package/mission-control/eslint.config.mjs +18 -0
  41. package/mission-control/next.config.ts +7 -0
  42. package/mission-control/package-lock.json +10518 -0
  43. package/mission-control/package.json +49 -0
  44. package/mission-control/postcss.config.mjs +7 -0
  45. package/mission-control/public/file.svg +1 -0
  46. package/mission-control/public/globe.svg +1 -0
  47. package/mission-control/public/next.svg +1 -0
  48. package/mission-control/public/vercel.svg +1 -0
  49. package/mission-control/public/window.svg +1 -0
  50. package/mission-control/scripts/enrich-descriptions.js +193 -0
  51. package/mission-control/scripts/gen-chronology.js +102 -0
  52. package/mission-control/scripts/import-pipeline-v2.js +523 -0
  53. package/mission-control/scripts/import-pipeline.js +295 -0
  54. package/mission-control/src/app/api/activity/live/route.ts +27 -0
  55. package/mission-control/src/app/api/activity/route.ts +47 -0
  56. package/mission-control/src/app/api/burndown/route.ts +112 -0
  57. package/mission-control/src/app/api/critical-path/route.ts +159 -0
  58. package/mission-control/src/app/api/dependencies/route.ts +176 -0
  59. package/mission-control/src/app/api/memory/categories/route.ts +93 -0
  60. package/mission-control/src/app/api/memory/consolidate/route.ts +107 -0
  61. package/mission-control/src/app/api/memory/doc/route.ts +89 -0
  62. package/mission-control/src/app/api/memory/flush/route.ts +129 -0
  63. package/mission-control/src/app/api/memory/graph/route.ts +105 -0
  64. package/mission-control/src/app/api/memory/items/route.ts +86 -0
  65. package/mission-control/src/app/api/memory/list/route.ts +48 -0
  66. package/mission-control/src/app/api/memory/retrieve/route.ts +51 -0
  67. package/mission-control/src/app/api/memory/search/route.ts +143 -0
  68. package/mission-control/src/app/api/memory/sync/route.ts +23 -0
  69. package/mission-control/src/app/api/memory/wikilinks/route.ts +75 -0
  70. package/mission-control/src/app/api/mesh/events/route.ts +67 -0
  71. package/mission-control/src/app/api/mesh/nodes/route.ts +221 -0
  72. package/mission-control/src/app/api/mesh/tokens/route.ts +133 -0
  73. package/mission-control/src/app/api/projects/route.ts +102 -0
  74. package/mission-control/src/app/api/resolve-path/route.ts +92 -0
  75. package/mission-control/src/app/api/scheduler/tick/route.ts +38 -0
  76. package/mission-control/src/app/api/scheduler/waves/route.ts +54 -0
  77. package/mission-control/src/app/api/screenshot/route.ts +127 -0
  78. package/mission-control/src/app/api/settings/gateway/route.ts +92 -0
  79. package/mission-control/src/app/api/skills/[id]/health/route.ts +57 -0
  80. package/mission-control/src/app/api/skills/list/route.ts +41 -0
  81. package/mission-control/src/app/api/souls/[id]/evolution/route.ts +253 -0
  82. package/mission-control/src/app/api/souls/[id]/prompt/route.ts +205 -0
  83. package/mission-control/src/app/api/souls/[id]/propagate/route.ts +146 -0
  84. package/mission-control/src/app/api/souls/route.ts +174 -0
  85. package/mission-control/src/app/api/tasks/[id]/handoff/route.ts +115 -0
  86. package/mission-control/src/app/api/tasks/[id]/route.ts +266 -0
  87. package/mission-control/src/app/api/tasks/[id]/tree/route.ts +94 -0
  88. package/mission-control/src/app/api/tasks/route.ts +253 -0
  89. package/mission-control/src/app/api/tts/route.ts +47 -0
  90. package/mission-control/src/app/api/workspace/files/route.ts +88 -0
  91. package/mission-control/src/app/api/workspace/read/route.ts +73 -0
  92. package/mission-control/src/app/burndown/page.tsx +309 -0
  93. package/mission-control/src/app/calendar/page.tsx +839 -0
  94. package/mission-control/src/app/favicon.ico +0 -0
  95. package/mission-control/src/app/globals.css +67 -0
  96. package/mission-control/src/app/graph/page.tsx +352 -0
  97. package/mission-control/src/app/layout.tsx +35 -0
  98. package/mission-control/src/app/live/page.tsx +232 -0
  99. package/mission-control/src/app/memory/page.tsx +154 -0
  100. package/mission-control/src/app/mesh/page.tsx +457 -0
  101. package/mission-control/src/app/obsidian/page.tsx +252 -0
  102. package/mission-control/src/app/page.tsx +70 -0
  103. package/mission-control/src/app/roadmap/page.tsx +1757 -0
  104. package/mission-control/src/app/settings/page.tsx +260 -0
  105. package/mission-control/src/app/souls/page.tsx +573 -0
  106. package/mission-control/src/components/board/activity-timeline.tsx +96 -0
  107. package/mission-control/src/components/board/daily-board.tsx +373 -0
  108. package/mission-control/src/components/board/kanban-board.tsx +364 -0
  109. package/mission-control/src/components/board/kanban-column.tsx +105 -0
  110. package/mission-control/src/components/board/live-stream.tsx +116 -0
  111. package/mission-control/src/components/board/skill-health-card.tsx +128 -0
  112. package/mission-control/src/components/board/status-banner.tsx +124 -0
  113. package/mission-control/src/components/board/task-card.tsx +454 -0
  114. package/mission-control/src/components/board/unified-task-dialog.tsx +1043 -0
  115. package/mission-control/src/components/layout/resizable-layout.tsx +68 -0
  116. package/mission-control/src/components/layout/sidebar.tsx +90 -0
  117. package/mission-control/src/components/live/audio-spectrum.tsx +106 -0
  118. package/mission-control/src/components/live/chat-bubble.tsx +52 -0
  119. package/mission-control/src/components/live/chat-input.tsx +92 -0
  120. package/mission-control/src/components/memory/doc-reader.tsx +172 -0
  121. package/mission-control/src/components/memory/memory-list.tsx +169 -0
  122. package/mission-control/src/components/memory/search-bar.tsx +67 -0
  123. package/mission-control/src/components/memory/search-results.tsx +149 -0
  124. package/mission-control/src/components/obsidian/backlinks-panel.tsx +52 -0
  125. package/mission-control/src/components/obsidian/file-tree.tsx +186 -0
  126. package/mission-control/src/components/obsidian/local-graph.tsx +107 -0
  127. package/mission-control/src/components/obsidian/obsidian-graph.tsx +192 -0
  128. package/mission-control/src/components/obsidian/obsidian-reader.tsx +246 -0
  129. package/mission-control/src/lib/activity.ts +29 -0
  130. package/mission-control/src/lib/config.ts +21 -0
  131. package/mission-control/src/lib/db/index.ts +429 -0
  132. package/mission-control/src/lib/db/schema.ts +218 -0
  133. package/mission-control/src/lib/gateway-notify.ts +113 -0
  134. package/mission-control/src/lib/hooks.ts +536 -0
  135. package/mission-control/src/lib/memory/categories.ts +125 -0
  136. package/mission-control/src/lib/memory/entities.ts +482 -0
  137. package/mission-control/src/lib/memory/extract.ts +369 -0
  138. package/mission-control/src/lib/memory/retrieval.ts +281 -0
  139. package/mission-control/src/lib/memory/wikilinks.ts +147 -0
  140. package/mission-control/src/lib/nats.ts +126 -0
  141. package/mission-control/src/lib/parsers/clawvault-doc.ts +98 -0
  142. package/mission-control/src/lib/parsers/daily-log.ts +73 -0
  143. package/mission-control/src/lib/parsers/memory-md.ts +81 -0
  144. package/mission-control/src/lib/parsers/task-markdown.ts +459 -0
  145. package/mission-control/src/lib/parsers/transcript.ts +209 -0
  146. package/mission-control/src/lib/scheduler.ts +394 -0
  147. package/mission-control/src/lib/speech/use-speech-pipeline.ts +176 -0
  148. package/mission-control/src/lib/sync/memory.ts +224 -0
  149. package/mission-control/src/lib/sync/tasks.ts +271 -0
  150. package/mission-control/src/lib/tts/edge.ts +31 -0
  151. package/mission-control/src/lib/tts/google.ts +78 -0
  152. package/mission-control/src/lib/tts/index.ts +39 -0
  153. package/mission-control/src/lib/tts/types.ts +18 -0
  154. package/mission-control/tsconfig.json +42 -0
  155. package/obsidian-vault/.obsidian/app.json +10 -0
  156. package/obsidian-vault/.obsidian/community-plugins.json +8 -0
  157. package/obsidian-vault/.obsidian/graph.json +40 -0
  158. package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/main.js +58769 -0
  159. package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/manifest.json +10 -0
  160. package/obsidian-vault/.obsidian/plugins/obsidian-local-rest-api/styles.css +47 -0
  161. package/obsidian-vault/00-meta/.gitkeep +0 -0
  162. package/obsidian-vault/01-architecture/.gitkeep +0 -0
  163. package/obsidian-vault/02-smart-contracts/.gitkeep +0 -0
  164. package/obsidian-vault/03-backend/.gitkeep +0 -0
  165. package/obsidian-vault/04-mobile/.gitkeep +0 -0
  166. package/obsidian-vault/05-ar-mapping/.gitkeep +0 -0
  167. package/obsidian-vault/06-3d-assets/.gitkeep +0 -0
  168. package/obsidian-vault/07-sound-music/.gitkeep +0 -0
  169. package/obsidian-vault/08-lore/.gitkeep +0 -0
  170. package/obsidian-vault/09-quests-playthrough/.gitkeep +0 -0
  171. package/obsidian-vault/10-economy/.gitkeep +0 -0
  172. package/obsidian-vault/11-nft-assets/.gitkeep +0 -0
  173. package/obsidian-vault/12-nft-mechanics/.gitkeep +0 -0
  174. package/obsidian-vault/13-dao-guild-social/.gitkeep +0 -0
  175. package/obsidian-vault/14-game-progression/.gitkeep +0 -0
  176. package/obsidian-vault/15-analytics/.gitkeep +0 -0
  177. package/obsidian-vault/16-security/.gitkeep +0 -0
  178. package/obsidian-vault/17-devops/.gitkeep +0 -0
  179. package/obsidian-vault/18-marketplace/.gitkeep +0 -0
  180. package/obsidian-vault/19-decisions/.gitkeep +0 -0
  181. package/obsidian-vault/20-business-strategy/.gitkeep +0 -0
  182. package/obsidian-vault/21-legal-regulatory/.gitkeep +0 -0
  183. package/obsidian-vault/nodes/.gitkeep +0 -0
  184. package/openclaw.env.example +17 -0
  185. package/package.json +45 -0
  186. package/services/launchd/ai.openclaw.gateway.plist +59 -0
  187. package/services/launchd/ai.openclaw.lane-watchdog.plist +32 -0
  188. package/services/launchd/ai.openclaw.log-rotate.plist +28 -0
  189. package/services/launchd/ai.openclaw.memory-daemon.plist +36 -0
  190. package/services/launchd/ai.openclaw.mesh-agent.plist +38 -0
  191. package/services/launchd/ai.openclaw.mesh-bridge.plist +36 -0
  192. package/services/launchd/ai.openclaw.mesh-deploy-listener.plist +33 -0
  193. package/services/launchd/ai.openclaw.mesh-health-publisher.plist +29 -0
  194. package/services/launchd/ai.openclaw.mesh-task-daemon.plist +36 -0
  195. package/services/launchd/ai.openclaw.mesh-tool-discord.plist +36 -0
  196. package/services/launchd/ai.openclaw.mission-control.plist +41 -0
  197. package/services/service-manifest.json +13 -0
  198. package/services/systemd/openclaw-gateway.service +21 -0
  199. package/services/systemd/openclaw-lane-watchdog.service +21 -0
  200. package/services/systemd/openclaw-log-rotate.service +13 -0
  201. package/services/systemd/openclaw-log-rotate.timer +9 -0
  202. package/services/systemd/openclaw-memory-daemon.service +21 -0
  203. package/services/systemd/openclaw-mesh-agent.service +19 -0
  204. package/services/systemd/openclaw-mesh-bridge.service +21 -0
  205. package/services/systemd/openclaw-mesh-deploy-listener.service +23 -0
  206. package/services/systemd/openclaw-mesh-health-publisher.service +21 -0
  207. package/services/systemd/openclaw-mesh-task-daemon.service +21 -0
  208. package/services/systemd/openclaw-mesh-tool-discord.service +21 -0
  209. package/services/systemd/openclaw-mission-control.service +22 -0
  210. package/skills/1password/.clawhub/origin.json +7 -0
  211. package/skills/1password/SKILL.md +63 -0
  212. package/skills/1password/references/cli-examples.md +29 -0
  213. package/skills/1password/references/get-started.md +17 -0
  214. package/skills/acquisition-channel-advisor/SKILL.md +643 -0
  215. package/skills/acquisition-channel-advisor/examples/conversation-flow.md +531 -0
  216. package/skills/agent-browser/.clawhub/origin.json +7 -0
  217. package/skills/agent-browser/CONTRIBUTING.md +63 -0
  218. package/skills/agent-browser/SKILL.md +338 -0
  219. package/skills/agentic-compass/.clawhub/origin.json +7 -0
  220. package/skills/agentic-compass/README.md +96 -0
  221. package/skills/agentic-compass/SKILL.md +112 -0
  222. package/skills/agentic-compass/references/README.md +5 -0
  223. package/skills/agentic-compass/scripts/agentic-compass.py +196 -0
  224. package/skills/arcane-dev-ops/SKILL.md +61 -0
  225. package/skills/arcane-dev-ops/references/checklist.md +22 -0
  226. package/skills/arcane-dev-ops/references/validation-cases.md +11 -0
  227. package/skills/arcane-dev-ops/scripts/prepush_check.sh +41 -0
  228. package/skills/auto-updater/.clawhub/origin.json +7 -0
  229. package/skills/auto-updater/SKILL.md +158 -0
  230. package/skills/auto-updater/references/agent-guide.md +152 -0
  231. package/skills/auto-updater/references/summary-examples.md +109 -0
  232. package/skills/business-health-diagnostic/SKILL.md +782 -0
  233. package/skills/byterover/.clawhub/origin.json +7 -0
  234. package/skills/byterover/SKILL.md +105 -0
  235. package/skills/byterover/TROUBLESHOOTING.md +50 -0
  236. package/skills/byterover/WORKFLOWS.md +229 -0
  237. package/skills/capability-evolver/.clawhub/origin.json +7 -0
  238. package/skills/capability-evolver/CONTRIBUTING.md +11 -0
  239. package/skills/capability-evolver/README.md +157 -0
  240. package/skills/capability-evolver/README.zh-CN.md +112 -0
  241. package/skills/capability-evolver/SKILL.md +93 -0
  242. package/skills/capability-evolver/assets/gep/capsules.json +5 -0
  243. package/skills/capability-evolver/assets/gep/genes.json +104 -0
  244. package/skills/capability-evolver/index.js +59 -0
  245. package/skills/capability-evolver/package.json +22 -0
  246. package/skills/capability-evolver/scripts/analyze_by_skill.js +121 -0
  247. package/skills/capability-evolver/scripts/build_public.js +350 -0
  248. package/skills/capability-evolver/scripts/export_history.js +98 -0
  249. package/skills/capability-evolver/scripts/extract_log.js +85 -0
  250. package/skills/capability-evolver/scripts/generate_history.js +75 -0
  251. package/skills/capability-evolver/scripts/human_report.js +147 -0
  252. package/skills/capability-evolver/scripts/publish_public.js +516 -0
  253. package/skills/capability-evolver/scripts/suggest_version.js +89 -0
  254. package/skills/capability-evolver/src/evolve.js +594 -0
  255. package/skills/capability-evolver/src/gep/assetStore.js +204 -0
  256. package/skills/capability-evolver/src/gep/candidates.js +134 -0
  257. package/skills/capability-evolver/src/gep/paths.js +23 -0
  258. package/skills/capability-evolver/src/gep/prompt.js +254 -0
  259. package/skills/capability-evolver/src/gep/selector.js +89 -0
  260. package/skills/capability-evolver/src/gep/signals.js +27 -0
  261. package/skills/cc-godmode/.clawhub/origin.json +7 -0
  262. package/skills/cc-godmode/CHANGELOG.md +66 -0
  263. package/skills/cc-godmode/README.md +293 -0
  264. package/skills/cc-godmode/SKILL.md +242 -0
  265. package/skills/cc-godmode/docs/AGENTS.md +332 -0
  266. package/skills/cc-godmode/docs/MIGRATION.md +206 -0
  267. package/skills/cc-godmode/docs/TROUBLESHOOTING.md +357 -0
  268. package/skills/cc-godmode/docs/WORKFLOWS.md +329 -0
  269. package/skills/cc-godmode/references/agents.md +433 -0
  270. package/skills/cc-godmode/scripts/build-skill.js +232 -0
  271. package/skills/clawdbot-filesystem/.clawhub/origin.json +7 -0
  272. package/skills/clawdbot-filesystem/LICENSE.md +21 -0
  273. package/skills/clawdbot-filesystem/README.md +322 -0
  274. package/skills/clawdbot-filesystem/SKILL.md +219 -0
  275. package/skills/clawdbot-filesystem/config.json +41 -0
  276. package/skills/clawdbot-filesystem/package.json +69 -0
  277. package/skills/clawdbot-security-check/.clawhub/origin.json +7 -0
  278. package/skills/clawdbot-security-check/README.md +168 -0
  279. package/skills/clawdbot-security-check/SKILL.md +145 -0
  280. package/skills/clawdbot-security-check/references/audit-checks.md +521 -0
  281. package/skills/clawdbot-security-check/skill.json +42 -0
  282. package/skills/clawddocs/.clawhub/origin.json +7 -0
  283. package/skills/clawddocs/SKILL.md +176 -0
  284. package/skills/clawddocs/package.json +9 -0
  285. package/skills/clawddocs/scripts/build-index.sh +17 -0
  286. package/skills/clawddocs/scripts/cache.sh +13 -0
  287. package/skills/clawddocs/scripts/fetch-doc.sh +7 -0
  288. package/skills/clawddocs/scripts/recent.sh +5 -0
  289. package/skills/clawddocs/scripts/search.sh +8 -0
  290. package/skills/clawddocs/scripts/sitemap.sh +23 -0
  291. package/skills/clawddocs/scripts/track-changes.sh +16 -0
  292. package/skills/clawddocs/snippets/common-configs.md +69 -0
  293. package/skills/clawguard/.clawhub/origin.json +7 -0
  294. package/skills/clawguard/SKILL.md +137 -0
  295. package/skills/company-research/SKILL.md +393 -0
  296. package/skills/company-research/examples/sample.md +164 -0
  297. package/skills/company-research/template.md +60 -0
  298. package/skills/crypto-price/.clawhub/origin.json +7 -0
  299. package/skills/crypto-price/ARCHITECTURE.md +437 -0
  300. package/skills/crypto-price/README.md +194 -0
  301. package/skills/crypto-price/SKILL.md +61 -0
  302. package/skills/crypto-price/requirements.txt +1 -0
  303. package/skills/crypto-price/scripts/get_price_chart.py +988 -0
  304. package/skills/customer-journey-map/SKILL.md +343 -0
  305. package/skills/customer-journey-map/examples/sample.md +33 -0
  306. package/skills/customer-journey-map/template.md +28 -0
  307. package/skills/customer-journey-mapping-workshop/SKILL.md +522 -0
  308. package/skills/deep-research/.clawhub/origin.json +7 -0
  309. package/skills/deep-research/SKILL.md +93 -0
  310. package/skills/deep-research/rules/logic.md +32 -0
  311. package/skills/discord-telegram-triage/SKILL.md +59 -0
  312. package/skills/discord-telegram-triage/references/discord-runbook.md +28 -0
  313. package/skills/discord-telegram-triage/references/validation-cases.md +11 -0
  314. package/skills/discord-telegram-triage/scripts/triage_snapshot.sh +23 -0
  315. package/skills/discovery-interview-prep/SKILL.md +408 -0
  316. package/skills/discovery-process/SKILL.md +503 -0
  317. package/skills/discovery-process/examples/sample.md +60 -0
  318. package/skills/discovery-process/template.md +39 -0
  319. package/skills/dist/arcane-dev-ops.skill +0 -0
  320. package/skills/dist/discord-telegram-triage.skill +0 -0
  321. package/skills/dist/founder-brief-summarizer.skill +0 -0
  322. package/skills/epic-breakdown-advisor/SKILL.md +664 -0
  323. package/skills/epic-hypothesis/SKILL.md +285 -0
  324. package/skills/epic-hypothesis/examples/sample.md +104 -0
  325. package/skills/epic-hypothesis/template.md +30 -0
  326. package/skills/excel/.clawhub/origin.json +7 -0
  327. package/skills/excel/SKILL.md +332 -0
  328. package/skills/excel/scripts/excel.py +1120 -0
  329. package/skills/fast-browser-use/.clawhub/origin.json +7 -0
  330. package/skills/fast-browser-use/CODEBUDDY.md +142 -0
  331. package/skills/fast-browser-use/Cargo.toml +77 -0
  332. package/skills/fast-browser-use/README.md +62 -0
  333. package/skills/fast-browser-use/SKILL.md +217 -0
  334. package/skills/fast-browser-use/package-lock.json +28 -0
  335. package/skills/fast-browser-use/package.json +8 -0
  336. package/skills/fast-browser-use/rustfmt.toml +10 -0
  337. package/skills/fast-browser-use/src/bin/cli.rs +373 -0
  338. package/skills/fast-browser-use/src/bin/mcp_server.rs +203 -0
  339. package/skills/fast-browser-use/src/browser/config.rs +136 -0
  340. package/skills/fast-browser-use/src/browser/debug.rs +16 -0
  341. package/skills/fast-browser-use/src/browser/mod.rs +61 -0
  342. package/skills/fast-browser-use/src/browser/session.rs +478 -0
  343. package/skills/fast-browser-use/src/dom/element.rs +442 -0
  344. package/skills/fast-browser-use/src/dom/extract_dom.js +849 -0
  345. package/skills/fast-browser-use/src/dom/mod.rs +14 -0
  346. package/skills/fast-browser-use/src/dom/tree.rs +296 -0
  347. package/skills/fast-browser-use/src/dom/yaml.rs +149 -0
  348. package/skills/fast-browser-use/src/error.rs +115 -0
  349. package/skills/fast-browser-use/src/lib.rs +17 -0
  350. package/skills/fast-browser-use/src/mcp/handler.rs +63 -0
  351. package/skills/fast-browser-use/src/mcp/mod.rs +81 -0
  352. package/skills/fast-browser-use/src/tools/Readability.min.js +1480 -0
  353. package/skills/fast-browser-use/src/tools/annotate.rs +165 -0
  354. package/skills/fast-browser-use/src/tools/click.rs +84 -0
  355. package/skills/fast-browser-use/src/tools/close.rs +35 -0
  356. package/skills/fast-browser-use/src/tools/close_tab.rs +45 -0
  357. package/skills/fast-browser-use/src/tools/convert_to_markdown.js +117 -0
  358. package/skills/fast-browser-use/src/tools/cookies.rs +58 -0
  359. package/skills/fast-browser-use/src/tools/debug.rs +44 -0
  360. package/skills/fast-browser-use/src/tools/evaluate.rs +40 -0
  361. package/skills/fast-browser-use/src/tools/extract.rs +66 -0
  362. package/skills/fast-browser-use/src/tools/go_back.rs +35 -0
  363. package/skills/fast-browser-use/src/tools/go_forward.rs +35 -0
  364. package/skills/fast-browser-use/src/tools/hover.js +33 -0
  365. package/skills/fast-browser-use/src/tools/hover.rs +97 -0
  366. package/skills/fast-browser-use/src/tools/html_to_markdown.rs +99 -0
  367. package/skills/fast-browser-use/src/tools/input.rs +93 -0
  368. package/skills/fast-browser-use/src/tools/local_storage.rs +159 -0
  369. package/skills/fast-browser-use/src/tools/markdown.rs +181 -0
  370. package/skills/fast-browser-use/src/tools/mod.rs +326 -0
  371. package/skills/fast-browser-use/src/tools/navigate.rs +55 -0
  372. package/skills/fast-browser-use/src/tools/new_tab.rs +60 -0
  373. package/skills/fast-browser-use/src/tools/press_key.rs +78 -0
  374. package/skills/fast-browser-use/src/tools/read_links.rs +59 -0
  375. package/skills/fast-browser-use/src/tools/readability_script.rs +8 -0
  376. package/skills/fast-browser-use/src/tools/screenshot.rs +47 -0
  377. package/skills/fast-browser-use/src/tools/scroll.js +22 -0
  378. package/skills/fast-browser-use/src/tools/scroll.rs +95 -0
  379. package/skills/fast-browser-use/src/tools/select.js +23 -0
  380. package/skills/fast-browser-use/src/tools/select.rs +129 -0
  381. package/skills/fast-browser-use/src/tools/sitemap.rs +426 -0
  382. package/skills/fast-browser-use/src/tools/snapshot.rs +324 -0
  383. package/skills/fast-browser-use/src/tools/switch_tab.rs +69 -0
  384. package/skills/fast-browser-use/src/tools/tab_list.rs +76 -0
  385. package/skills/fast-browser-use/src/tools/utils.rs +92 -0
  386. package/skills/fast-browser-use/src/tools/wait.rs +53 -0
  387. package/skills/fast-browser-use/test_auth.json +3 -0
  388. package/skills/fast-browser-use/test_state.json +6 -0
  389. package/skills/fast-browser-use/tests/browser_tools_integration.rs +233 -0
  390. package/skills/fast-browser-use/tests/cli_recipes_integration.rs +112 -0
  391. package/skills/fast-browser-use/tests/cookies_integration.rs +56 -0
  392. package/skills/fast-browser-use/tests/debug_integration.rs +83 -0
  393. package/skills/fast-browser-use/tests/dom_integration.rs +170 -0
  394. package/skills/fast-browser-use/tests/local_storage_integration.rs +75 -0
  395. package/skills/fast-browser-use/tests/markdown_integration.rs +448 -0
  396. package/skills/fast-browser-use/tests/navigation_integration.rs +241 -0
  397. package/skills/fast-browser-use/tests/sitemap_integration.rs +326 -0
  398. package/skills/fast-browser-use/tests/tab_management_integration.rs +300 -0
  399. package/skills/feature-investment-advisor/SKILL.md +639 -0
  400. package/skills/feature-investment-advisor/examples/conversation-flow.md +538 -0
  401. package/skills/finance-based-pricing-advisor/SKILL.md +763 -0
  402. package/skills/finance-metrics-quickref/SKILL.md +309 -0
  403. package/skills/find-skills/.clawhub/origin.json +7 -0
  404. package/skills/find-skills/SKILL.md +143 -0
  405. package/skills/flavor-text-writer/SKILL.md +27 -0
  406. package/skills/founder-brief-summarizer/SKILL.md +52 -0
  407. package/skills/founder-brief-summarizer/references/response-templates.md +15 -0
  408. package/skills/founder-brief-summarizer/references/validation-cases.md +11 -0
  409. package/skills/founder-brief-summarizer/scripts/brief_template.sh +28 -0
  410. package/skills/frontend-design/.clawhub/origin.json +7 -0
  411. package/skills/frontend-design/LICENSE.txt +190 -0
  412. package/skills/frontend-design/SKILL.md +53 -0
  413. package/skills/gemini/.clawhub/origin.json +7 -0
  414. package/skills/gemini/SKILL.md +33 -0
  415. package/skills/gemini-deep-research/.clawhub/origin.json +7 -0
  416. package/skills/gemini-deep-research/SKILL.md +78 -0
  417. package/skills/gemini-deep-research/scripts/deep_research.py +176 -0
  418. package/skills/git-essentials/.clawhub/origin.json +7 -0
  419. package/skills/git-essentials/SKILL.md +239 -0
  420. package/skills/git-essentials/references/advanced.md +211 -0
  421. package/skills/github/.clawhub/origin.json +7 -0
  422. package/skills/github/SKILL.md +57 -0
  423. package/skills/google-drive/.clawhub/origin.json +7 -0
  424. package/skills/google-drive/LICENSE.txt +21 -0
  425. package/skills/google-drive/SKILL.md +320 -0
  426. package/skills/growth-loop/SKILL.md +270 -0
  427. package/skills/growth-loop/_meta.json +9 -0
  428. package/skills/growth-loop/references/diagnosis-framework.md +84 -0
  429. package/skills/growth-loop/references/platform-benchmarks.md +79 -0
  430. package/skills/growth-loop/scripts/init-campaign.sh +274 -0
  431. package/skills/humanize-ai-text/.clawhub/origin.json +7 -0
  432. package/skills/humanize-ai-text/SKILL.md +192 -0
  433. package/skills/humanize-ai-text/scripts/compare.py +58 -0
  434. package/skills/humanize-ai-text/scripts/detect.py +160 -0
  435. package/skills/humanize-ai-text/scripts/patterns.json +191 -0
  436. package/skills/humanize-ai-text/scripts/transform.py +127 -0
  437. package/skills/humanizer/.clawhub/origin.json +7 -0
  438. package/skills/humanizer/README.md +82 -0
  439. package/skills/humanizer/SKILL.md +443 -0
  440. package/skills/jobs-to-be-done/SKILL.md +378 -0
  441. package/skills/jobs-to-be-done/examples/sample.md +80 -0
  442. package/skills/jobs-to-be-done/template.md +65 -0
  443. package/skills/lean-ux-canvas/SKILL.md +561 -0
  444. package/skills/lean-ux-canvas/examples/sample.md +88 -0
  445. package/skills/lean-ux-canvas/template.md +32 -0
  446. package/skills/markdown-formatter/.clawhub/origin.json +7 -0
  447. package/skills/markdown-formatter/README.md +137 -0
  448. package/skills/markdown-formatter/SKILL.md +369 -0
  449. package/skills/markdown-formatter/config.json +20 -0
  450. package/skills/markdown-formatter/index.js +439 -0
  451. package/skills/markdown-formatter/package.json +23 -0
  452. package/skills/markdown-formatter/test.js +23 -0
  453. package/skills/marketing-mode/.clawhub/origin.json +7 -0
  454. package/skills/marketing-mode/README.md +49 -0
  455. package/skills/marketing-mode/SKILL.md +703 -0
  456. package/skills/marketing-mode/mode-prompt.md +39 -0
  457. package/skills/marketing-mode/skill.json +51 -0
  458. package/skills/memory-hygiene/.clawhub/origin.json +7 -0
  459. package/skills/memory-hygiene/SKILL.md +91 -0
  460. package/skills/memory-setup/.clawhub/origin.json +7 -0
  461. package/skills/memory-setup/SKILL.md +180 -0
  462. package/skills/memorylayer/.clawhub/origin.json +7 -0
  463. package/skills/memorylayer/README.md +197 -0
  464. package/skills/memorylayer/SKILL.md +227 -0
  465. package/skills/memorylayer/examples/agent-integration.js +145 -0
  466. package/skills/memorylayer/examples/basic-usage.js +87 -0
  467. package/skills/memorylayer/examples/token-savings-demo.js +183 -0
  468. package/skills/memorylayer/index.js +115 -0
  469. package/skills/memorylayer/package-lock.json +295 -0
  470. package/skills/memorylayer/package.json +27 -0
  471. package/skills/memorylayer/python/memorylayer_skill.py +230 -0
  472. package/skills/memorylayer/python/requirements.txt +7 -0
  473. package/skills/mesh/SKILL.md +184 -0
  474. package/skills/model-usage/.clawhub/origin.json +7 -0
  475. package/skills/model-usage/SKILL.md +54 -0
  476. package/skills/model-usage/references/codexbar-cli.md +28 -0
  477. package/skills/model-usage/scripts/model_usage.py +310 -0
  478. package/skills/moltbook-interact/.clawhub/origin.json +7 -0
  479. package/skills/moltbook-interact/INSTALL.md +139 -0
  480. package/skills/moltbook-interact/README.md +198 -0
  481. package/skills/moltbook-interact/SKILL.md +72 -0
  482. package/skills/moltbook-interact/references/api.md +106 -0
  483. package/skills/moltbook-interact/scripts/moltbook.sh +142 -0
  484. package/skills/moltbook-registry/.clawhub/origin.json +7 -0
  485. package/skills/moltbook-registry/README.md +26 -0
  486. package/skills/moltbook-registry/SKILL.md +82 -0
  487. package/skills/moltbook-registry/index.js +180 -0
  488. package/skills/moltbook-registry/package.json +11 -0
  489. package/skills/mythril-scanner/SKILL.md +27 -0
  490. package/skills/n8n/.clawhub/origin.json +7 -0
  491. package/skills/n8n/SKILL.md +141 -0
  492. package/skills/n8n/references/api.md +156 -0
  493. package/skills/n8n/scripts/n8n_api.py +158 -0
  494. package/skills/n8n-workflow-automation/.clawhub/origin.json +7 -0
  495. package/skills/n8n-workflow-automation/SKILL.md +103 -0
  496. package/skills/n8n-workflow-automation/assets/runbook-template.md +32 -0
  497. package/skills/narrative-designer/SKILL.md +27 -0
  498. package/skills/ontology/.clawhub/origin.json +7 -0
  499. package/skills/ontology/SKILL.md +236 -0
  500. package/skills/ontology/references/queries.md +211 -0
  501. package/skills/ontology/references/schema.md +322 -0
  502. package/skills/ontology/scripts/ontology.py +374 -0
  503. package/skills/openai-image-gen/.clawhub/origin.json +7 -0
  504. package/skills/openai-image-gen/SKILL.md +45 -0
  505. package/skills/openai-image-gen/scripts/gen.py +227 -0
  506. package/skills/openclaw-agent-optimize/.clawhub/origin.json +7 -0
  507. package/skills/openclaw-agent-optimize/SKILL.md +33 -0
  508. package/skills/openclaw-agent-optimize/references/agent-orchestration.md +20 -0
  509. package/skills/openclaw-agent-optimize/references/context-management.md +15 -0
  510. package/skills/openclaw-agent-optimize/references/continuous-learning.md +14 -0
  511. package/skills/openclaw-agent-optimize/references/cron-optimization.md +16 -0
  512. package/skills/openclaw-agent-optimize/references/memory-patterns.md +14 -0
  513. package/skills/openclaw-agent-optimize/references/model-selection.md +18 -0
  514. package/skills/openclaw-skill-scanner/.clawhub/origin.json +7 -0
  515. package/skills/openclaw-skill-scanner/SKILL.md +88 -0
  516. package/skills/openclaw-skill-scanner/install-hook.sh +294 -0
  517. package/skills/openclaw-skill-scanner/report-template.md +53 -0
  518. package/skills/openclaw-skill-scanner/scanner.py +929 -0
  519. package/skills/openclaw-skill-scanner/whitelist.json +18 -0
  520. package/skills/opportunity-solution-tree/SKILL.md +428 -0
  521. package/skills/opportunity-solution-tree/examples/sample.md +104 -0
  522. package/skills/opportunity-solution-tree/template.md +33 -0
  523. package/skills/pdf/.clawhub/origin.json +7 -0
  524. package/skills/pdf/SKILL.md +304 -0
  525. package/skills/pestel-analysis/SKILL.md +384 -0
  526. package/skills/pestel-analysis/examples/sample.md +143 -0
  527. package/skills/pestel-analysis/template.md +53 -0
  528. package/skills/pol-probe/SKILL.md +217 -0
  529. package/skills/pol-probe/examples/sample.md +136 -0
  530. package/skills/pol-probe/template.md +59 -0
  531. package/skills/pol-probe-advisor/SKILL.md +492 -0
  532. package/skills/positioning-statement/SKILL.md +229 -0
  533. package/skills/positioning-statement/examples/sample.md +51 -0
  534. package/skills/positioning-statement/template.md +25 -0
  535. package/skills/positioning-workshop/SKILL.md +424 -0
  536. package/skills/prd-development/SKILL.md +654 -0
  537. package/skills/prd-development/examples/sample.md +43 -0
  538. package/skills/prd-development/template.md +55 -0
  539. package/skills/press-release/SKILL.md +277 -0
  540. package/skills/press-release/examples/sample.md +73 -0
  541. package/skills/press-release/template.md +39 -0
  542. package/skills/prioritization-advisor/SKILL.md +451 -0
  543. package/skills/proactive-messages/.clawhub/origin.json +7 -0
  544. package/skills/proactive-messages/SKILL.md +91 -0
  545. package/skills/problem-framing-canvas/SKILL.md +466 -0
  546. package/skills/problem-framing-canvas/examples/sample.md +58 -0
  547. package/skills/problem-framing-canvas/template.md +22 -0
  548. package/skills/problem-statement/SKILL.md +255 -0
  549. package/skills/problem-statement/examples/sample.md +82 -0
  550. package/skills/problem-statement/template.md +37 -0
  551. package/skills/product-strategy-session/SKILL.md +434 -0
  552. package/skills/product-strategy-session/examples/sample.md +67 -0
  553. package/skills/product-strategy-session/template.md +38 -0
  554. package/skills/prompt-guard/.clawhub/origin.json +7 -0
  555. package/skills/prompt-guard/ARCHITECTURE.md +364 -0
  556. package/skills/prompt-guard/CHANGELOG.md +200 -0
  557. package/skills/prompt-guard/README.md +215 -0
  558. package/skills/prompt-guard/SECURITY.md +66 -0
  559. package/skills/prompt-guard/SKILL.md +174 -0
  560. package/skills/prompt-guard/blog/how-i-secured-my-ai-agent.md +185 -0
  561. package/skills/prompt-guard/config.example.yaml +56 -0
  562. package/skills/prompt-guard/references/detection-patterns.md +298 -0
  563. package/skills/prompt-guard/requirements.txt +1 -0
  564. package/skills/prompt-guard/scripts/analyze_log.py +224 -0
  565. package/skills/prompt-guard/scripts/audit.py +344 -0
  566. package/skills/prompt-guard/scripts/detect.py +1587 -0
  567. package/skills/prompt-guard/scripts/hivefence.py +345 -0
  568. package/skills/proto-persona/SKILL.md +336 -0
  569. package/skills/proto-persona/examples/sample.md +97 -0
  570. package/skills/proto-persona/template.md +45 -0
  571. package/skills/recommendation-canvas/SKILL.md +382 -0
  572. package/skills/recommendation-canvas/examples/sample.md +94 -0
  573. package/skills/recommendation-canvas/template.md +86 -0
  574. package/skills/refactor-suggest/.clawhub/origin.json +7 -0
  575. package/skills/refactor-suggest/SKILL.md +94 -0
  576. package/skills/roadmap-planning/SKILL.md +506 -0
  577. package/skills/roadmap-planning/examples/sample.md +62 -0
  578. package/skills/roadmap-planning/template.md +30 -0
  579. package/skills/saas-economics-efficiency-metrics/SKILL.md +694 -0
  580. package/skills/saas-economics-efficiency-metrics/examples/cash-trap.md +365 -0
  581. package/skills/saas-economics-efficiency-metrics/examples/healthy-unit-economics.md +279 -0
  582. package/skills/saas-economics-efficiency-metrics/template.md +263 -0
  583. package/skills/saas-revenue-growth-metrics/SKILL.md +629 -0
  584. package/skills/saas-revenue-growth-metrics/examples/healthy-saas.md +131 -0
  585. package/skills/saas-revenue-growth-metrics/examples/warning-signs.md +229 -0
  586. package/skills/saas-revenue-growth-metrics/template.md +192 -0
  587. package/skills/save-money/.clawhub/origin.json +7 -0
  588. package/skills/save-money/SKILL.md +173 -0
  589. package/skills/scripts/golden_skills_v3.sh +32 -0
  590. package/skills/search/.clawhub/origin.json +7 -0
  591. package/skills/search/SKILL.md +18 -0
  592. package/skills/search/skill.json +1 -0
  593. package/skills/second-brain/.clawhub/origin.json +7 -0
  594. package/skills/second-brain/SKILL.md +278 -0
  595. package/skills/second-brain/scripts/ensue-api.sh +37 -0
  596. package/skills/self-improving-agent/.clawhub/origin.json +7 -0
  597. package/skills/self-improving-agent/.learnings/ERRORS.md +5 -0
  598. package/skills/self-improving-agent/.learnings/FEATURE_REQUESTS.md +5 -0
  599. package/skills/self-improving-agent/.learnings/LEARNINGS.md +5 -0
  600. package/skills/self-improving-agent/SKILL.md +130 -0
  601. package/skills/self-improving-agent/assets/LEARNINGS.md +45 -0
  602. package/skills/self-improving-agent/assets/SKILL-TEMPLATE.md +177 -0
  603. package/skills/self-improving-agent/hooks/openclaw/HOOK.md +23 -0
  604. package/skills/self-improving-agent/hooks/openclaw/handler.js +56 -0
  605. package/skills/self-improving-agent/hooks/openclaw/handler.ts +62 -0
  606. package/skills/self-improving-agent/references/examples.md +374 -0
  607. package/skills/self-improving-agent/references/hooks-setup.md +223 -0
  608. package/skills/self-improving-agent/references/openclaw-integration.md +248 -0
  609. package/skills/self-improving-agent/references/templates.md +480 -0
  610. package/skills/self-improving-agent/scripts/activator.sh +20 -0
  611. package/skills/self-improving-agent/scripts/error-detector.sh +55 -0
  612. package/skills/self-improving-agent/scripts/extract-skill.sh +203 -0
  613. package/skills/self-improving-agent-1-0-2/.clawhub/origin.json +7 -0
  614. package/skills/self-improving-agent-1-0-2/SKILL.md +562 -0
  615. package/skills/self-improving-agent-1-0-2/assets/LEARNINGS.md +45 -0
  616. package/skills/self-improving-agent-1-0-2/assets/SKILL-TEMPLATE.md +182 -0
  617. package/skills/self-improving-agent-1-0-2/references/clawdbot-integration.md +311 -0
  618. package/skills/self-improving-agent-1-0-2/references/examples.md +374 -0
  619. package/skills/self-improving-agent-1-0-2/references/hooks-setup.md +223 -0
  620. package/skills/self-improving-agent-1-0-2/scripts/activator.sh +20 -0
  621. package/skills/self-improving-agent-1-0-2/scripts/error-detector.sh +55 -0
  622. package/skills/self-improving-agent-1-0-2/scripts/extract-skill.sh +203 -0
  623. package/skills/self-love-confidence/.clawhub/origin.json +7 -0
  624. package/skills/self-love-confidence/SKILL.md +79 -0
  625. package/skills/self-reflection/.clawhub/origin.json +7 -0
  626. package/skills/self-reflection/README.md +292 -0
  627. package/skills/self-reflection/SKILL.md +110 -0
  628. package/skills/self-reflection/self-reflection.example.json +6 -0
  629. package/skills/slither-analyzer/SKILL.md +27 -0
  630. package/skills/solidity-audit/SKILL.md +27 -0
  631. package/skills/soulcraft/.clawhub/origin.json +7 -0
  632. package/skills/soulcraft/README.md +123 -0
  633. package/skills/soulcraft/SKILL.md +340 -0
  634. package/skills/soulcraft/references/question-bank.md +154 -0
  635. package/skills/soulcraft/references/soul-examples.md +207 -0
  636. package/skills/soulcraft/research/RESEARCH_REPORT.md +317 -0
  637. package/skills/spotify-player/.clawhub/origin.json +7 -0
  638. package/skills/spotify-player/SKILL.md +44 -0
  639. package/skills/storyboard/SKILL.md +259 -0
  640. package/skills/storyboard/examples/sample.md +71 -0
  641. package/skills/storyboard/template.md +41 -0
  642. package/skills/summarize/.clawhub/origin.json +7 -0
  643. package/skills/summarize/SKILL.md +59 -0
  644. package/skills/superdesign/.clawhub/origin.json +7 -0
  645. package/skills/superdesign/SKILL.md +224 -0
  646. package/skills/tam-sam-som-calculator/SKILL.md +399 -0
  647. package/skills/tam-sam-som-calculator/examples/sample.md +142 -0
  648. package/skills/tam-sam-som-calculator/scripts/market-sizing.py +95 -0
  649. package/skills/tam-sam-som-calculator/template.md +35 -0
  650. package/skills/tavily-search/.clawhub/origin.json +7 -0
  651. package/skills/tavily-search/SKILL.md +49 -0
  652. package/skills/tavily-search/scripts/extract.mjs +59 -0
  653. package/skills/tavily-search/scripts/search.mjs +101 -0
  654. package/skills/twitter/SKILL.md +74 -0
  655. package/skills/twitter/_meta.json +9 -0
  656. package/skills/twitter/references/validation-cases.md +53 -0
  657. package/skills/twitter/scripts/twitter.sh +421 -0
  658. package/skills/ui-ux-pro-max/.clawhub/origin.json +7 -0
  659. package/skills/ui-ux-pro-max/SKILL.md +54 -0
  660. package/skills/ui-ux-pro-max/assets/data/charts.csv +26 -0
  661. package/skills/ui-ux-pro-max/assets/data/colors.csv +97 -0
  662. package/skills/ui-ux-pro-max/assets/data/icons.csv +101 -0
  663. package/skills/ui-ux-pro-max/assets/data/landing.csv +31 -0
  664. package/skills/ui-ux-pro-max/assets/data/products.csv +97 -0
  665. package/skills/ui-ux-pro-max/assets/data/react-performance.csv +45 -0
  666. package/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +54 -0
  667. package/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +53 -0
  668. package/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +56 -0
  669. package/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +53 -0
  670. package/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +53 -0
  671. package/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +51 -0
  672. package/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +59 -0
  673. package/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +52 -0
  674. package/skills/ui-ux-pro-max/assets/data/stacks/react.csv +54 -0
  675. package/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +61 -0
  676. package/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +54 -0
  677. package/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +51 -0
  678. package/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +50 -0
  679. package/skills/ui-ux-pro-max/assets/data/styles.csv +68 -0
  680. package/skills/ui-ux-pro-max/assets/data/typography.csv +58 -0
  681. package/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +101 -0
  682. package/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +100 -0
  683. package/skills/ui-ux-pro-max/assets/data/web-interface.csv +31 -0
  684. package/skills/ui-ux-pro-max/references/upstream-README.md +488 -0
  685. package/skills/ui-ux-pro-max/references/upstream-skill-content.md +288 -0
  686. package/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
  687. package/skills/ui-ux-pro-max/scripts/core.py +253 -0
  688. package/skills/ui-ux-pro-max/scripts/design_system.py +1071 -0
  689. package/skills/ui-ux-pro-max/scripts/search.py +111 -0
  690. package/skills/user-story/SKILL.md +272 -0
  691. package/skills/user-story/examples/sample.md +110 -0
  692. package/skills/user-story/scripts/user-story-template.py +65 -0
  693. package/skills/user-story/template.md +32 -0
  694. package/skills/user-story-mapping/SKILL.md +296 -0
  695. package/skills/user-story-mapping/examples/sample.md +77 -0
  696. package/skills/user-story-mapping/template.md +41 -0
  697. package/skills/user-story-mapping-workshop/SKILL.md +485 -0
  698. package/skills/user-story-mapping-workshop/template.md +28 -0
  699. package/skills/user-story-splitting/SKILL.md +313 -0
  700. package/skills/user-story-splitting/examples/sample.md +147 -0
  701. package/skills/user-story-splitting/template.md +37 -0
  702. package/skills/wacli/.clawhub/origin.json +7 -0
  703. package/skills/wacli/SKILL.md +53 -0
  704. package/skills/web-search/.clawhub/origin.json +7 -0
  705. package/skills/web-search/SKILL.md +151 -0
  706. package/skills/web-search/references/api-details.md +207 -0
  707. package/skills/web-search/scripts/search.py +576 -0
  708. package/skills/workshop-facilitation/SKILL.md +88 -0
  709. package/skills/world-builder/SKILL.md +27 -0
  710. package/souls/blockchain-auditor/PRINCIPLES.md +75 -0
  711. package/souls/blockchain-auditor/SOUL.md +56 -0
  712. package/souls/blockchain-auditor/capabilities.json +33 -0
  713. package/souls/blockchain-auditor/evolution/capsules.json +4 -0
  714. package/souls/blockchain-auditor/evolution/events.jsonl +1 -0
  715. package/souls/blockchain-auditor/evolution/genes.json +62 -0
  716. package/souls/daedalus/PRINCIPLES.md +78 -0
  717. package/souls/daedalus/SOUL.md +48 -0
  718. package/souls/daedalus/capabilities.json +46 -0
  719. package/souls/identity-architect/PRINCIPLES.md +83 -0
  720. package/souls/identity-architect/SOUL.md +66 -0
  721. package/souls/identity-architect/capabilities.json +38 -0
  722. package/souls/identity-architect/evolution/capsules.json +4 -0
  723. package/souls/identity-architect/evolution/events.jsonl +0 -0
  724. package/souls/identity-architect/evolution/genes.json +4 -0
  725. package/souls/infra-ops/PRINCIPLES.md +77 -0
  726. package/souls/infra-ops/SOUL.md +56 -0
  727. package/souls/infra-ops/capabilities.json +33 -0
  728. package/souls/infra-ops/evolution/capsules.json +4 -0
  729. package/souls/infra-ops/evolution/events.jsonl +0 -0
  730. package/souls/infra-ops/evolution/genes.json +4 -0
  731. package/souls/lore-writer/PRINCIPLES.md +74 -0
  732. package/souls/lore-writer/SOUL.md +54 -0
  733. package/souls/lore-writer/capabilities.json +37 -0
  734. package/souls/lore-writer/evolution/capsules.json +4 -0
  735. package/souls/lore-writer/evolution/events.jsonl +0 -0
  736. package/souls/lore-writer/evolution/genes.json +4 -0
  737. package/souls/qa-evidence/PRINCIPLES.md +97 -0
  738. package/souls/qa-evidence/SOUL.md +66 -0
  739. package/souls/qa-evidence/capabilities.json +32 -0
  740. package/souls/qa-evidence/evolution/capsules.json +4 -0
  741. package/souls/qa-evidence/evolution/events.jsonl +0 -0
  742. package/souls/qa-evidence/evolution/genes.json +4 -0
  743. package/souls/registry.json +211 -0
  744. package/souls/sync-registry.js +65 -0
  745. package/uninstall.sh +102 -0
  746. package/workspace-bin/auto-checkpoint +60 -0
  747. package/workspace-bin/clawvault-access-control +65 -0
  748. package/workspace-bin/clawvault-local +28 -0
  749. package/workspace-bin/compile-boot +494 -0
  750. package/workspace-bin/daily-log-writer.mjs +251 -0
  751. package/workspace-bin/evolve +540 -0
  752. package/workspace-bin/fitness_score.py +395 -0
  753. package/workspace-bin/hooks/pre-commit +80 -0
  754. package/workspace-bin/install-daemon +299 -0
  755. package/workspace-bin/lane-watchdog.js +232 -0
  756. package/workspace-bin/lib/__init__.py +0 -0
  757. package/workspace-bin/lib/frontmatter.py +114 -0
  758. package/workspace-bin/memory-daemon.mjs +879 -0
  759. package/workspace-bin/memory-maintenance.mjs +531 -0
  760. package/workspace-bin/mesh-bridge.mjs +154 -0
  761. package/workspace-bin/multi-review +130 -0
  762. package/workspace-bin/obsidian +125 -0
  763. package/workspace-bin/obsidian-sync.mjs +888 -0
  764. package/workspace-bin/openclaw-register-source +102 -0
  765. package/workspace-bin/proactive-scan +147 -0
  766. package/workspace-bin/quality-gate +175 -0
  767. package/workspace-bin/screenshot +96 -0
  768. package/workspace-bin/session-recap +453 -0
  769. package/workspace-bin/skill-audit +494 -0
  770. package/workspace-bin/skill-quality-check +134 -0
  771. package/workspace-bin/skill-routing-eval +599 -0
  772. package/workspace-bin/soul-prompt +251 -0
  773. package/workspace-bin/subagent-audit.mjs +267 -0
  774. package/workspace-bin/test-multi-soul-workflow +130 -0
  775. package/workspace-bin/trust-registry +465 -0
  776. package/workspace-docs/AGENTS.md +201 -0
  777. package/workspace-docs/CLAUDE.md +64 -0
  778. package/workspace-docs/PRINCIPLES.md +81 -0
  779. package/workspace-docs/SOUL.md +48 -0
@@ -0,0 +1,320 @@
1
+ ---
2
+ name: google-drive
3
+ description: "Google Drive API integration with managed OAuth via Maton gateway. List, search, create, download, share, and manage files and folders. Use when users want to interact with Google Drive."
4
+ compatibility: Requires network access and valid Maton API key
5
+ triggers:
6
+ - "google drive"
7
+ - "upload to drive"
8
+ - "list drive files"
9
+ - "download from google drive"
10
+ - "share a google doc"
11
+ negative_triggers:
12
+ - "local filesystem"
13
+ - "dropbox"
14
+ - "icloud"
15
+ - "google sheets formulas"
16
+ metadata:
17
+ author: maton
18
+ version: "1.0"
19
+ ---
20
+
21
+ # Google Drive
22
+
23
+ Access the Google Drive API with managed OAuth authentication. List, search, create, and manage files and folders.
24
+
25
+ ## Quick Start
26
+
27
+ ```bash
28
+ # List files
29
+ curl -s -X GET 'https://gateway.maton.ai/google-drive/drive/v3/files?pageSize=10' \
30
+ -H 'Authorization: Bearer YOUR_API_KEY'
31
+ ```
32
+
33
+ ## Base URL
34
+
35
+ ```
36
+ https://gateway.maton.ai/google-drive/{native-api-path}
37
+ ```
38
+
39
+ Replace `{native-api-path}` with the actual Google Drive API endpoint path. The gateway proxies requests to `www.googleapis.com` and automatically injects your OAuth token.
40
+
41
+ ## Authentication
42
+
43
+ All requests require the Maton API key in the Authorization header:
44
+
45
+ ```
46
+ Authorization: Bearer YOUR_API_KEY
47
+ ```
48
+
49
+ **Environment Variable:** Set your API key as `MATON_API_KEY`:
50
+
51
+ ```bash
52
+ export MATON_API_KEY="YOUR_API_KEY"
53
+ ```
54
+
55
+ ### Getting Your API Key
56
+
57
+ 1. Sign in or create an account at [maton.ai](https://maton.ai)
58
+ 2. Go to [maton.ai/settings](https://maton.ai/settings)
59
+ 3. Copy your API key
60
+
61
+ ## Connection Management
62
+
63
+ Manage your Google OAuth connections at `https://ctrl.maton.ai`.
64
+
65
+ ### List Connections
66
+
67
+ ```bash
68
+ curl -s -X GET 'https://ctrl.maton.ai/connections?app=google-drive&status=ACTIVE' \
69
+ -H 'Authorization: Bearer YOUR_API_KEY'
70
+ ```
71
+
72
+ ### Create Connection
73
+
74
+ ```bash
75
+ curl -s -X POST 'https://ctrl.maton.ai/connections' \
76
+ -H 'Content-Type: application/json' \
77
+ -H 'Authorization: Bearer YOUR_API_KEY' \
78
+ -d '{"app": "google-drive"}'
79
+ ```
80
+
81
+ ### Get Connection
82
+
83
+ ```bash
84
+ curl -s -X GET 'https://ctrl.maton.ai/connections/{connection_id}' \
85
+ -H 'Authorization: Bearer YOUR_API_KEY'
86
+ ```
87
+
88
+ **Response:**
89
+ ```json
90
+ {
91
+ "connection": {
92
+ "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
93
+ "status": "ACTIVE",
94
+ "creation_time": "2025-12-08T07:20:53.488460Z",
95
+ "last_updated_time": "2026-01-31T20:03:32.593153Z",
96
+ "url": "https://connect.maton.ai/?session_token=...",
97
+ "app": "google-drive",
98
+ "metadata": {}
99
+ }
100
+ }
101
+ ```
102
+
103
+ Open the returned `url` in a browser to complete OAuth authorization.
104
+
105
+ ### Delete Connection
106
+
107
+ ```bash
108
+ curl -s -X DELETE 'https://ctrl.maton.ai/connections/{connection_id}' \
109
+ -H 'Authorization: Bearer YOUR_API_KEY'
110
+ ```
111
+
112
+ ### Specifying Connection
113
+
114
+ If you have multiple Google Drive connections, specify which one to use with the `Maton-Connection` header:
115
+
116
+ ```bash
117
+ curl -s -X GET 'https://gateway.maton.ai/google-drive/drive/v3/files?pageSize=10' \
118
+ -H 'Authorization: Bearer YOUR_API_KEY' \
119
+ -H 'Maton-Connection: 21fd90f9-5935-43cd-b6c8-bde9d915ca80'
120
+ ```
121
+
122
+ If omitted, the gateway uses the default (oldest) active connection.
123
+
124
+ ## API Reference
125
+
126
+ ### List Files
127
+
128
+ ```bash
129
+ GET /google-drive/drive/v3/files?pageSize=10
130
+ ```
131
+
132
+ With query:
133
+
134
+ ```bash
135
+ GET /google-drive/drive/v3/files?q=name%20contains%20'report'&pageSize=10
136
+ ```
137
+
138
+ Only folders:
139
+
140
+ ```bash
141
+ GET /google-drive/drive/v3/files?q=mimeType='application/vnd.google-apps.folder'
142
+ ```
143
+
144
+ Files in specific folder:
145
+
146
+ ```bash
147
+ GET /google-drive/drive/v3/files?q='FOLDER_ID'+in+parents
148
+ ```
149
+
150
+ With fields:
151
+
152
+ ```bash
153
+ GET /google-drive/drive/v3/files?fields=files(id,name,mimeType,createdTime,modifiedTime,size)
154
+ ```
155
+
156
+ ### Get File Metadata
157
+
158
+ ```bash
159
+ GET /google-drive/drive/v3/files/{fileId}?fields=id,name,mimeType,size,createdTime
160
+ ```
161
+
162
+ ### Download File Content
163
+
164
+ ```bash
165
+ GET /google-drive/drive/v3/files/{fileId}?alt=media
166
+ ```
167
+
168
+ ### Export Google Docs
169
+
170
+ ```bash
171
+ GET /google-drive/drive/v3/files/{fileId}/export?mimeType=application/pdf
172
+ ```
173
+
174
+ ### Create File (metadata only)
175
+
176
+ ```bash
177
+ POST /google-drive/drive/v3/files
178
+ Content-Type: application/json
179
+
180
+ {
181
+ "name": "New Document",
182
+ "mimeType": "application/vnd.google-apps.document"
183
+ }
184
+ ```
185
+
186
+ ### Create Folder
187
+
188
+ ```bash
189
+ POST /google-drive/drive/v3/files
190
+ Content-Type: application/json
191
+
192
+ {
193
+ "name": "New Folder",
194
+ "mimeType": "application/vnd.google-apps.folder"
195
+ }
196
+ ```
197
+
198
+ ### Update File Metadata
199
+
200
+ ```bash
201
+ PATCH /google-drive/drive/v3/files/{fileId}
202
+ Content-Type: application/json
203
+
204
+ {
205
+ "name": "Renamed File"
206
+ }
207
+ ```
208
+
209
+ ### Move File to Folder
210
+
211
+ ```bash
212
+ PATCH /google-drive/drive/v3/files/{fileId}?addParents=NEW_FOLDER_ID&removeParents=OLD_FOLDER_ID
213
+ ```
214
+
215
+ ### Delete File
216
+
217
+ ```bash
218
+ DELETE /google-drive/drive/v3/files/{fileId}
219
+ ```
220
+
221
+ ### Copy File
222
+
223
+ ```bash
224
+ POST /google-drive/drive/v3/files/{fileId}/copy
225
+ Content-Type: application/json
226
+
227
+ {
228
+ "name": "Copy of File"
229
+ }
230
+ ```
231
+
232
+ ### Share File
233
+
234
+ ```bash
235
+ POST /google-drive/drive/v3/files/{fileId}/permissions
236
+ Content-Type: application/json
237
+
238
+ {
239
+ "role": "reader",
240
+ "type": "user",
241
+ "emailAddress": "user@example.com"
242
+ }
243
+ ```
244
+
245
+ ## Query Operators
246
+
247
+ Use in the `q` parameter:
248
+ - `name = 'exact name'`
249
+ - `name contains 'partial'`
250
+ - `mimeType = 'application/pdf'`
251
+ - `'folderId' in parents`
252
+ - `trashed = false`
253
+ - `modifiedTime > '2024-01-01T00:00:00'`
254
+
255
+ Combine with `and`:
256
+ ```
257
+ name contains 'report' and mimeType = 'application/pdf'
258
+ ```
259
+
260
+ ## Common MIME Types
261
+
262
+ - `application/vnd.google-apps.document` - Google Docs
263
+ - `application/vnd.google-apps.spreadsheet` - Google Sheets
264
+ - `application/vnd.google-apps.presentation` - Google Slides
265
+ - `application/vnd.google-apps.folder` - Folder
266
+ - `application/pdf` - PDF
267
+
268
+ ## Code Examples
269
+
270
+ ### JavaScript
271
+
272
+ ```javascript
273
+ const response = await fetch(
274
+ 'https://gateway.maton.ai/google-drive/drive/v3/files?pageSize=10',
275
+ {
276
+ headers: {
277
+ 'Authorization': `Bearer ${process.env.MATON_API_KEY}`
278
+ }
279
+ }
280
+ );
281
+ ```
282
+
283
+ ### Python
284
+
285
+ ```python
286
+ import os
287
+ import requests
288
+
289
+ response = requests.get(
290
+ 'https://gateway.maton.ai/google-drive/drive/v3/files',
291
+ headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
292
+ params={'pageSize': 10}
293
+ )
294
+ ```
295
+
296
+ ## Notes
297
+
298
+ - Use `fields` parameter to limit response data
299
+ - Pagination uses `pageToken` from previous response's `nextPageToken`
300
+ - Export is for Google Workspace files only
301
+
302
+ ## Error Handling
303
+
304
+ | Status | Meaning |
305
+ |--------|---------|
306
+ | 400 | Missing Google Drive connection |
307
+ | 401 | Invalid or missing Maton API key |
308
+ | 429 | Rate limited (10 req/sec per account) |
309
+ | 4xx/5xx | Passthrough error from Google Drive API |
310
+
311
+ ## Resources
312
+
313
+ - [Drive API Overview](https://developers.google.com/drive/api/reference/rest/v3)
314
+ - [List Files](https://developers.google.com/drive/api/reference/rest/v3/files/list)
315
+ - [Get File](https://developers.google.com/drive/api/reference/rest/v3/files/get)
316
+ - [Create File](https://developers.google.com/drive/api/reference/rest/v3/files/create)
317
+ - [Update File](https://developers.google.com/drive/api/reference/rest/v3/files/update)
318
+ - [Delete File](https://developers.google.com/drive/api/reference/rest/v3/files/delete)
319
+ - [Export File](https://developers.google.com/drive/api/reference/rest/v3/files/export)
320
+ - [Search Query Syntax](https://developers.google.com/drive/api/guides/search-files)
@@ -0,0 +1,270 @@
1
+ ---
2
+ name: growth-loop
3
+ description: "Closed-loop content/growth operations engine. Platform-agnostic, objective-agnostic. Runs the cycle: Research → Generate → Distribute → Measure → Diagnose → Iterate. Use when user wants to set up a content pipeline, growth experiment, marketing loop, outreach system, or any systematic produce-distribute-measure-learn workflow."
4
+ triggers:
5
+ - "set up a content pipeline"
6
+ - "build a growth loop"
7
+ - "create a marketing loop"
8
+ - "run a growth experiment"
9
+ - "set up an outreach system"
10
+ negative_triggers:
11
+ - "write a single blog post"
12
+ - "just do some research"
13
+ - "marketing strategy advice"
14
+ metadata:
15
+ openclaw:
16
+ version: "1.0.0"
17
+ author: "Daedalus"
18
+ license: "MIT"
19
+ tags: ["growth", "content", "marketing", "automation", "analytics", "loop"]
20
+ category: "operations"
21
+ clawdbot:
22
+ emoji: "🔄"
23
+ requires:
24
+ bins: ["jq"]
25
+ ---
26
+
27
+ # Growth Loop
28
+
29
+ Closed-loop engine for systematic content/growth operations. Platform-agnostic, objective-agnostic.
30
+
31
+ ## The Loop
32
+
33
+ ```
34
+ ┌─────────────────────────────────────────┐
35
+ │ │
36
+ │ 1. RESEARCH ──► 2. GENERATE │
37
+ │ ▲ │ │
38
+ │ │ ▼ │
39
+ │ 6. ITERATE 3. DISTRIBUTE │
40
+ │ ▲ │ │
41
+ │ │ ▼ │
42
+ │ 5. DIAGNOSE ◄── 4. MEASURE │
43
+ │ │
44
+ └─────────────────────────────────────────┘
45
+ ```
46
+
47
+ Every growth activity — TikTok slideshows, blog SEO, email sequences, product listings, outreach, dev marketing — is an instance of this loop with different config.
48
+
49
+ ## When to Use
50
+
51
+ - Setting up a new content/growth channel
52
+ - Running a produce → distribute → measure experiment
53
+ - Building an outreach or lead-gen pipeline
54
+ - Optimizing any conversion funnel
55
+ - Any task where you generate something, put it in front of people, and want to learn from the results
56
+
57
+ ## When NOT to Use
58
+
59
+ - One-off content creation (just write it directly)
60
+ - Pure research with no distribution intent
61
+ - Tasks where measurement isn't possible or relevant
62
+
63
+ ## Phases
64
+
65
+ ### Phase 1: RESEARCH
66
+
67
+ **Goal:** Understand what works in the target space before producing anything.
68
+
69
+ **Actions:**
70
+ - Identify 5-10 top performers in the space (competitors, influencers, reference points)
71
+ - Catalog what they do: format, frequency, tone, hooks, distribution channels
72
+ - Note engagement patterns: what gets signal (likes, shares, saves, conversions) vs noise
73
+ - Identify gaps: what's underserved, what's stale, where's the opening
74
+
75
+ **Output:** `campaign/research.md` — competitive landscape, engagement patterns, identified gaps, initial hypotheses.
76
+
77
+ **Tools to consider:** `tavily-search`, `web-search`, `deep-research`, `twitter` (timeline reads), platform-specific APIs.
78
+
79
+ ### Phase 2: GENERATE
80
+
81
+ **Goal:** Produce content/assets based on research insights and current generation rules.
82
+
83
+ **Actions:**
84
+ - Define the content spec: format, length, tone, hook structure, CTA
85
+ - Generate a batch (not one piece — enough to test variations)
86
+ - Quality-check against research findings (does this match what works?)
87
+ - Stage for review — human approves before anything goes live
88
+
89
+ **Output:** `campaign/drafts/` — generated assets ready for human review.
90
+
91
+ **Rules file:** `campaign/gen-rules.md` — the living document that defines *how* to generate. Updated in Phase 6.
92
+
93
+ **Tools to consider:** `openai-image-gen`, `humanizer` (for text), platform-specific content tools.
94
+
95
+ ### Phase 3: DISTRIBUTE
96
+
97
+ **Goal:** Push approved content to the target platform. Drafts first, never auto-publish.
98
+
99
+ **Actions:**
100
+ - Push to platform via API or manual staging (depends on channel)
101
+ - Tag/label for tracking (campaign ID, variant ID, timestamp)
102
+ - Log what was published, where, when, with what parameters
103
+
104
+ **Output:** `campaign/distribution-log.jsonl` — append-only log of every piece distributed.
105
+
106
+ ```jsonl
107
+ {"id":"001","platform":"twitter","published_at":"2026-02-17T20:00:00-05:00","variant":"hook-a","content_ref":"drafts/tweet-001.md","status":"live"}
108
+ ```
109
+
110
+ **Tools to consider:** `twitter` (post), platform APIs, scheduling tools.
111
+
112
+ ### Phase 4: MEASURE
113
+
114
+ **Goal:** Pull performance data back. Raw numbers, no interpretation yet.
115
+
116
+ **Actions:**
117
+ - Collect platform metrics per piece (impressions, clicks, engagement, conversions)
118
+ - Collect business metrics if available (revenue, signups, leads generated)
119
+ - Merge with distribution log to create unified dataset
120
+
121
+ **Output:** `campaign/metrics.jsonl` — raw performance data keyed to distribution log entries.
122
+
123
+ ```jsonl
124
+ {"id":"001","measured_at":"2026-02-18T20:00:00-05:00","impressions":1200,"clicks":45,"conversions":3,"revenue":0}
125
+ ```
126
+
127
+ **Cadence:** Define measurement windows per channel (e.g., 24h for social, 7d for SEO, 30d for email sequences).
128
+
129
+ ### Phase 5: DIAGNOSE
130
+
131
+ **Goal:** Figure out *why* things worked or didn't. Cross-reference engagement with actual outcomes.
132
+
133
+ **Actions:**
134
+ - Rank content by objective metric (not vanity — conversions, revenue, qualified leads)
135
+ - Identify patterns in winners vs losers: hook type, format, topic, timing, audience
136
+ - Find funnel breaks: high impressions but no clicks? High clicks but no conversions?
137
+ - Compare against research hypotheses — were we right about what works?
138
+
139
+ **Output:** `campaign/diagnosis.md` — what worked, what didn't, why, and where the funnel breaks.
140
+
141
+ **Diagnosis framework:**
142
+ ```
143
+ For each piece/variant:
144
+ - Reach: did people see it? (impressions)
145
+ - Hook: did they stop? (click-through rate)
146
+ - Hold: did they stay? (engagement rate, time on page)
147
+ - Convert: did they act? (conversion rate)
148
+ - Value: was the action worth it? (revenue per conversion)
149
+
150
+ The bottleneck is the first stage that drops below threshold.
151
+ ```
152
+
153
+ ### Phase 6: ITERATE
154
+
155
+ **Goal:** Update the generation rules based on diagnosis, then loop back to Phase 2.
156
+
157
+ **Actions:**
158
+ - Update `campaign/gen-rules.md` with specific, testable changes
159
+ - Document what was changed and why (for future diagnosis)
160
+ - Retire underperforming approaches explicitly (don't just hope)
161
+ - Identify new hypotheses to test in the next batch
162
+
163
+ **Output:** Updated `campaign/gen-rules.md` + `campaign/iteration-log.md` entry.
164
+
165
+ **Iteration log entry format:**
166
+ ```markdown
167
+ ## Iteration N — YYYY-MM-DD HH:MM
168
+
169
+ ### What diagnosis showed
170
+ - [key findings]
171
+
172
+ ### Changes to gen-rules
173
+ - [specific rule changes with rationale]
174
+
175
+ ### Hypotheses for next batch
176
+ - [what we're testing and expected outcome]
177
+
178
+ ### Retired approaches
179
+ - [what we're stopping and why]
180
+ ```
181
+
182
+ ## Campaign Setup
183
+
184
+ To instantiate a new loop, create a campaign directory:
185
+
186
+ ```
187
+ campaign-name/
188
+ ├── config.json # Platform, objective, audience, constraints
189
+ ├── research.md # Phase 1 output
190
+ ├── gen-rules.md # Living generation rules (updated each iteration)
191
+ ├── drafts/ # Phase 2 output (human reviews before distribution)
192
+ ├── distribution-log.jsonl # Phase 3 log
193
+ ├── metrics.jsonl # Phase 4 data
194
+ ├── diagnosis.md # Phase 5 analysis (rewritten each cycle)
195
+ ├── iteration-log.md # Phase 6 changelog (append-only)
196
+ └── archive/ # Old drafts, superseded rules, etc.
197
+ ```
198
+
199
+ ### config.json
200
+
201
+ ```json
202
+ {
203
+ "name": "campaign-name",
204
+ "platform": "twitter|blog|email|marketplace|github|outreach|custom",
205
+ "objective": "what success looks like in one sentence",
206
+ "audience": "who we're reaching",
207
+ "kpi": "primary metric we optimize for",
208
+ "secondary_kpis": ["other metrics worth tracking"],
209
+ "constraints": {
210
+ "budget": "0|amount",
211
+ "frequency": "pieces per period",
212
+ "tone": "brand voice notes",
213
+ "human_approval": true
214
+ },
215
+ "measurement_window": "24h|7d|30d",
216
+ "created_at": "ISO timestamp",
217
+ "status": "research|generating|distributing|measuring|diagnosing|iterating|paused"
218
+ }
219
+ ```
220
+
221
+ ## Platform Playbooks
222
+
223
+ These are starting-point `gen-rules.md` templates. Each gets refined by the loop.
224
+
225
+ ### Social (Twitter, TikTok, Instagram)
226
+ - Hook in first line/3 seconds
227
+ - One idea per post
228
+ - Native format (no external links in feed posts — thread or carousel instead)
229
+ - Post frequency: test 1-3x/day, measure, adjust
230
+ - KPI: engagement rate → profile visits → link clicks → conversions
231
+
232
+ ### Blog / SEO
233
+ - Target specific long-tail keyword per piece
234
+ - Structure: hook → problem → solution → proof → CTA
235
+ - Internal linking to conversion pages
236
+ - KPI: organic traffic → time on page → conversion rate
237
+
238
+ ### Email
239
+ - Subject line = everything (test 3 variants minimum)
240
+ - One CTA per email
241
+ - Sequence logic: trigger → value → value → soft ask → hard ask → break
242
+ - KPI: open rate → click rate → conversion rate → unsubscribe rate (ceiling)
243
+
244
+ ### Outreach (Sales, Partnerships, PR)
245
+ - Personalization in first sentence (prove you know them)
246
+ - Value prop in second sentence (what's in it for them)
247
+ - CTA = low friction (reply, not signup)
248
+ - Follow-up cadence: day 3, day 7, day 14, stop
249
+ - KPI: response rate → meeting rate → close rate
250
+
251
+ ### Product Listings (Marketplace, App Store)
252
+ - Title optimization: primary keyword + differentiator
253
+ - Images: hero shot, feature callouts, social proof, size/scale reference
254
+ - Description: benefit-led, scannable, keyword-rich
255
+ - KPI: impressions → click-through → conversion rate → reviews
256
+
257
+ ### Dev Marketing (GitHub, DevRel)
258
+ - README = landing page (problem → solution → quickstart → proof)
259
+ - Example projects > documentation walls
260
+ - Community engagement: answer issues fast, ship what people ask for
261
+ - KPI: stars → clones → issues opened → contributors → downstream usage
262
+
263
+ ## Scripts
264
+
265
+ - `scripts/init-campaign.sh <name> <platform>` — scaffold a new campaign directory with config template and platform-specific gen-rules starter.
266
+
267
+ ## References
268
+
269
+ - `references/diagnosis-framework.md` — expanded funnel diagnosis methodology.
270
+ - `references/platform-benchmarks.md` — baseline metrics by platform (what "good" looks like).
@@ -0,0 +1,9 @@
1
+ {
2
+ "owner": "daedalus",
3
+ "slug": "growth-loop",
4
+ "displayName": "Growth Loop",
5
+ "latest": {
6
+ "version": "1.0.0",
7
+ "publishedAt": 1739836800000
8
+ }
9
+ }
@@ -0,0 +1,84 @@
1
+ # Diagnosis Framework
2
+
3
+ ## The Funnel
4
+
5
+ Every piece of content passes through a funnel. Diagnosis means finding where it breaks.
6
+
7
+ ```
8
+ REACH → HOOK → HOLD → CONVERT → VALUE
9
+ │ │ │ │ │
10
+ │ │ │ │ └─ Revenue per conversion
11
+ │ │ │ └─ Conversion rate (action taken)
12
+ │ │ └─ Engagement / time on page / watch time
13
+ │ └─ Click-through rate / stop rate
14
+ └─ Impressions / deliverability
15
+ ```
16
+
17
+ **The bottleneck is the first stage that drops below threshold.**
18
+
19
+ Don't optimize Hook if Reach is the problem. Don't optimize Convert if nobody's staying past the first 3 seconds.
20
+
21
+ ## Stage Thresholds (starting points — calibrate with platform benchmarks)
22
+
23
+ | Stage | Metric | Poor | OK | Good |
24
+ |-------|--------|------|----|------|
25
+ | Reach | Impressions relative to audience size | <1% | 1-5% | >5% |
26
+ | Hook | CTR / stop rate | <1% | 1-3% | >3% |
27
+ | Hold | Engagement rate / avg time | <10s / <5% | 10-30s / 5-15% | >30s / >15% |
28
+ | Convert | Conversion rate | <0.5% | 0.5-2% | >2% |
29
+ | Value | Revenue per conversion | Below CAC | At CAC | Above CAC |
30
+
31
+ These vary wildly by platform and audience. Replace with your own baselines after 2-3 measurement cycles.
32
+
33
+ ## Diagnosis Protocol
34
+
35
+ ### Step 1: Sort by Objective
36
+
37
+ Rank all pieces by the KPI that matters (usually conversions or revenue, not impressions).
38
+
39
+ ### Step 2: Compare Winners vs Losers
40
+
41
+ For top 20% vs bottom 20%, compare:
42
+ - Content attributes: topic, format, length, hook type, CTA type
43
+ - Distribution attributes: time of day, day of week, channel variant
44
+ - Audience attributes: segment, source, device (if available)
45
+
46
+ ### Step 3: Identify the Break Point
47
+
48
+ For underperformers, walk the funnel:
49
+ 1. Did people see it? (Reach) — if no: distribution problem
50
+ 2. Did they stop/click? (Hook) — if no: hook/headline problem
51
+ 3. Did they stay? (Hold) — if no: content quality or format problem
52
+ 4. Did they act? (Convert) — if no: CTA, offer, or trust problem
53
+ 5. Was the action valuable? (Value) — if no: targeting or offer-market fit problem
54
+
55
+ ### Step 4: Formulate Testable Hypotheses
56
+
57
+ Bad: "We need better content"
58
+ Good: "Hook-style A (question) outperformed hook-style B (statement) by 2.3x CTR. Next batch: 70% question hooks, test a third style (bold claim)."
59
+
60
+ ### Step 5: Update Gen-Rules
61
+
62
+ Every diagnosis should produce at least one specific, testable change to `gen-rules.md`. If diagnosis doesn't change anything, the measurement wasn't granular enough.
63
+
64
+ ## Common Patterns
65
+
66
+ ### High Reach, Low Hook
67
+ - Headlines/hooks aren't stopping people
68
+ - Fix: test different hook archetypes (question, bold claim, number, story, controversy)
69
+
70
+ ### High Hook, Low Hold
71
+ - Content doesn't deliver on the hook's promise
72
+ - Fix: front-load value, reduce fluff, match hook specificity
73
+
74
+ ### High Hold, Low Convert
75
+ - People like the content but don't take action
76
+ - Fix: CTA clarity, reduce friction, add urgency or social proof near CTA
77
+
78
+ ### High Convert, Low Value
79
+ - Getting conversions but they're not worth much
80
+ - Fix: targeting (wrong audience), offer mismatch, or qualification step needed
81
+
82
+ ### Everything Low
83
+ - Wrong channel, wrong audience, or wrong offer entirely
84
+ - Fix: go back to Phase 1 (Research). This isn't an optimization problem, it's a strategy problem.