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,97 @@
1
+ # Proto-Persona Examples
2
+
3
+ ## Example 1: "Manager Mike" (Good Proto-Persona)
4
+
5
+ ```markdown
6
+ ### Name
7
+ - Manager Mike
8
+
9
+ ### Bio & Demographics
10
+ - 35-42 years old, lives in urban/suburban areas (Chicago, Seattle, Austin)
11
+ - Director of Product at mid-sized B2B SaaS companies (100-500 employees)
12
+ - Married with 2 kids, commutes 30 min by car, values work-life balance
13
+ - Active on LinkedIn and ProductHunt, attends 1-2 PM conferences per year
14
+ - Reads PM blogs/newsletters (Lenny's, Stratechery), listens to podcasts
15
+ - Plays rec basketball on weekends
16
+
17
+ ### Quotes
18
+ - "I spend more time in status meetings than actually building product."
19
+ - "My CEO asks me for data I don't have, and it takes 3 days to get it from engineering."
20
+ - "Every tool promises to save time, but they all require a week of onboarding."
21
+
22
+ ### Pains
23
+ - Spends 10+ hours/week in status meetings and writing updates
24
+ - No single source of truth for product metrics—data is scattered across tools
25
+ - Pressure to ship faster, but team is stretched thin
26
+
27
+ ### What is This Person Trying to Accomplish?
28
+ - Deliver roadmap milestones on time without burning out the team
29
+ - Make data-driven prioritization decisions in real-time
30
+ - Communicate progress to execs without manual reporting overhead
31
+
32
+ ### Goals
33
+ - Be seen as a strategic thinker, not just a feature factory manager
34
+ - Get promoted to VP of Product within 2 years
35
+ - Spend more time with family (leave work by 6pm)
36
+
37
+ ### Attitudes & Influences
38
+ - **Decision-Making Authority:** Can approve tools up to $15k/year; needs VP/CFO approval above that
39
+ - **Decision Influencers:** Peer PMs in Slack communities, former colleagues, analyst reports (Gartner)
40
+ - **Beliefs & Attitudes:**
41
+ - Skeptical of tools that require developer setup
42
+ - Values ease of use over feature depth
43
+ - Prefers tools that integrate with existing stack (Jira, Slack, Figma)
44
+ - Willing to pay more for great UX and support
45
+ ```
46
+
47
+ **Why this works:**
48
+ - Specific demographics tied to behavior (not just "35-42")
49
+ - Quotes reveal real frustrations (not generic platitudes)
50
+ - Pains are measurable and specific
51
+ - Goals include professional and personal motivations
52
+ - Decision-making context is clear
53
+
54
+ ---
55
+
56
+ ## Example 2: Bad Proto-Persona (Too Generic)
57
+
58
+ ```markdown
59
+ ### Name
60
+ - John
61
+
62
+ ### Bio & Demographics
63
+ - 30-50 years old
64
+ - Lives somewhere
65
+ - Works in tech
66
+
67
+ ### Quotes
68
+ - "I want better tools."
69
+
70
+ ### Pains
71
+ - Tools are bad
72
+
73
+ ### What is This Person Trying to Accomplish?
74
+ - Use good software
75
+
76
+ ### Goals
77
+ - Be productive
78
+
79
+ ### Attitudes & Influences
80
+ - **Decision-Making Authority:** Maybe
81
+ - **Decision Influencers:** People
82
+ - **Beliefs & Attitudes:** Likes good things
83
+ ```
84
+
85
+ **Why this fails:**
86
+ - Age range is too broad (20-year span)
87
+ - No behavioral context ("works in tech" = meaningless)
88
+ - Quotes are generic ("better tools" = every persona ever)
89
+ - Pains are vague ("tools are bad" = not actionable)
90
+ - No specific goals or influences
91
+
92
+ **How to fix it:**
93
+ - Narrow demographics: "35-45, Director-level, B2B SaaS"
94
+ - Add behavioral details: "Remote-first, active in PM communities"
95
+ - Use real quotes: "I spend 5 hours/week chasing down status updates"
96
+ - Specify pains: "No visibility into what engineering is building"
97
+ - Define goals: "Get promoted to VP within 2 years"
@@ -0,0 +1,45 @@
1
+ # Proto-Persona Template
2
+
3
+ Use this template to capture a hypothesis-driven persona profile.
4
+
5
+ ## Provenance
6
+ Adapted from `prompts/proto-persona-profile.md` in the `https://github.com/deanpeters/product-manager-prompts` repo.
7
+
8
+ ## Template
9
+ ```markdown
10
+ ### Name
11
+ - [Alliterative name]
12
+
13
+ ### Bio & Demographics
14
+ - [Age range]
15
+ - [Geographic location]
16
+ - [Social status]
17
+ - [Online presence]
18
+ - [Leisure activities]
19
+ - [Career status]
20
+
21
+ ### Quotes
22
+ - "[Quote 1]"
23
+ - "[Quote 2]"
24
+ - "[Quote 3]"
25
+
26
+ ### Pains
27
+ - [Pain point 1]
28
+ - [Pain point 2]
29
+ - [Pain point 3]
30
+
31
+ ### What is This Person Trying to Accomplish?
32
+ - [Behavior or outcome 1]
33
+ - [Behavior or outcome 2]
34
+ - [Behavior or outcome 3]
35
+
36
+ ### Goals
37
+ - [Goal 1]
38
+ - [Goal 2]
39
+ - [Goal 3]
40
+
41
+ ### Attitudes & Influences
42
+ - **Decision-Making Authority:** [Yes/No + context]
43
+ - **Decision Influencers:** [Who influences this person]
44
+ - **Beliefs & Attitudes:** [Beliefs/attitudes that impact decisions]
45
+ ```
@@ -0,0 +1,382 @@
1
+ ---
2
+ name: recommendation-canvas
3
+ description: "Use this to build a structured recommendation canvas for AI product proposals, covering business outcomes, customer outcomes, problem framing, solution hypotheses, positioning, risks, and value justification."
4
+ type: component
5
+ triggers:
6
+ - "create a recommendation canvas"
7
+ - "build a product recommendation for stakeholders"
8
+ - "help me propose an AI solution with a canvas"
9
+ - "I need to pitch an AI feature to execs"
10
+ negative_triggers:
11
+ - "write a PRD"
12
+ - "create a business case spreadsheet"
13
+ - "build a feature spec"
14
+ ---
15
+
16
+
17
+ ## Purpose
18
+ Evaluate and propose AI product solutions using a structured canvas that assesses business outcomes, customer outcomes, problem framing, solution hypotheses, positioning, risks, and value justification. Use this to build a comprehensive, defensible recommendation for stakeholders and decision-makers—especially when proposing AI-powered features or products that carry higher uncertainty and risk.
19
+
20
+ This is not a feature spec—it's a strategic proposal that articulates *why* this AI solution is worth building, *what* assumptions need validating, and *how* you'll measure success.
21
+
22
+ ## Key Concepts
23
+
24
+ ### The Recommendation Canvas Framework
25
+ Created for Dean Peters' Productside "AI Innovation for Product Managers" class, the canvas synthesizes multiple PM frameworks into one strategic view:
26
+
27
+ **Core Components:**
28
+ 1. **Business Outcome:** What's in it for the business?
29
+ 2. **Product Outcome:** What's in it for the customer?
30
+ 3. **Problem Statement:** Persona-centric problem framing
31
+ 4. **Solution Hypothesis:** If/then hypothesis with experiments
32
+ 5. **Positioning Statement:** Value prop and differentiation
33
+ 6. **Assumptions & Unknowns:** What could invalidate this?
34
+ 7. **PESTEL Risks:** Political, Economic, Social, Technological, Environmental, Legal
35
+ 8. **Value Justification:** Why this is worth doing
36
+ 9. **Success Metrics:** SMART metrics to measure impact
37
+ 10. **What's Next:** Strategic next steps
38
+
39
+ ### Why This Works
40
+ - **Outcome-driven:** Forces clarity on business AND customer value
41
+ - **Hypothesis-centric:** Treats solution as a bet to validate, not a commitment
42
+ - **Risk-explicit:** Makes assumptions and risks visible upfront
43
+ - **Executive-friendly:** Comprehensive but structured for C-level review
44
+ - **AI-appropriate:** Especially useful for AI features with high uncertainty
45
+
46
+ ### Anti-Patterns (What This Is NOT)
47
+ - **Not a PRD:** This is strategic framing, not detailed requirements
48
+ - **Not a business case (yet):** It informs the business case but needs validation first
49
+ - **Not a feature list:** Focus on outcomes, not capabilities
50
+
51
+ ### When to Use This
52
+ - Proposing a new AI-powered product or feature
53
+ - Pitching to execs or securing budget/sponsorship
54
+ - Evaluating whether an AI solution is worth pursuing
55
+ - Aligning cross-functional stakeholders (product, engineering, data science, business)
56
+ - After completing initial discovery (you need context to fill this out)
57
+
58
+ ### When NOT to Use This
59
+ - For trivial features (don't over-engineer small tweaks)
60
+ - Before any discovery work (you need user research and problem validation first)
61
+ - As a replacement for experimentation (canvas informs experiments, not vice versa)
62
+
63
+ ---
64
+
65
+ ## Application
66
+
67
+ Use `template.md` for the full fill-in structure.
68
+
69
+ ### Step 1: Gather Context
70
+ Before filling out the canvas, ensure you have:
71
+ - **Problem understanding:** User research, pain points (reference `skills/problem-statement/SKILL.md`)
72
+ - **Persona clarity:** Who experiences the problem? (reference `skills/proto-persona/SKILL.md`)
73
+ - **Market context:** Competitive landscape, category positioning
74
+ - **Business constraints:** Budget, timelines, strategic priorities
75
+
76
+ **If missing context:** Run discovery work first. This canvas synthesizes insights—it doesn't create them.
77
+
78
+ ---
79
+
80
+ ### Step 2: Define Outcomes
81
+
82
+ #### Business Outcome
83
+ What's in it for the business? Use this format:
84
+ - [Direction] [Metric] [Outcome] [Context] [Acceptance Criteria]
85
+
86
+ ```markdown
87
+ ## Business Outcome
88
+ - [e.g., "Reduce by 25% the churn of existing customers using our existing product"]
89
+ ```
90
+
91
+ **Example:**
92
+ - "Increase by 15% the monthly recurring revenue from enterprise customers within 12 months"
93
+
94
+ **Quality checks:**
95
+ - **Measurable:** Can you track this metric?
96
+ - **Time-bound:** Within what timeframe?
97
+ - **Ambitious but realistic:** Not "10x revenue in 1 month"
98
+
99
+ ---
100
+
101
+ #### Product Outcome
102
+ What's in it for the customer? Use this format:
103
+ - [Direction] [Metric] [Outcome] [Context from persona's POV] [Acceptance Criteria]
104
+
105
+ ```markdown
106
+ ## Product Outcome
107
+ - [e.g., "Increase the speed of finding patients when I know the inclusion and exclusion criteria"]
108
+ ```
109
+
110
+ **Example:**
111
+ - "Reduce by 60% the time spent manually processing invoices for small business owners"
112
+
113
+ **Quality checks:**
114
+ - **Customer-centric:** Written from user perspective ("I," not "we")
115
+ - **Outcome, not feature:** "Reduce time spent" not "Use AI automation"
116
+
117
+ ---
118
+
119
+ ### Step 3: Frame the Problem
120
+ Use the problem framing narrative from `skills/problem-statement/SKILL.md`:
121
+
122
+ ```markdown
123
+ ## The Problem Statement
124
+
125
+ ### Problem Statement Narrative
126
+ - [Persona description: 2-3 sentences telling the persona's story from their POV]
127
+ - [Example: "Sarah is a freelance designer managing 10 clients. She spends 8 hours/month manually tracking invoices and chasing late payments. By the time she follows up, some clients have already moved to other designers, costing her revenue and damaging relationships."]
128
+ ```
129
+
130
+ **Quality checks:**
131
+ - **Empathetic:** Does this sound like the user's voice?
132
+ - **Specific:** Not "users want better tools" but "Sarah spends 8 hours/month..."
133
+ - **Validated:** Based on real user research, not assumptions
134
+
135
+ ---
136
+
137
+ ### Step 4: Define the Solution Hypothesis
138
+
139
+ #### Hypothesis Statement
140
+ Use the epic hypothesis format from `skills/epic-hypothesis/SKILL.md`:
141
+
142
+ ```markdown
143
+ ## Solution Hypothesis
144
+
145
+ ### Hypothesis Statement
146
+ **If we** [action or solution on behalf of target persona]
147
+ **for** [target persona]
148
+ **Then we will** [attain or achieve desirable outcome]
149
+ ```
150
+
151
+ **Example:**
152
+ - "If we provide AI-powered invoice reminders that auto-send at optimal times for freelance designers, then we will reduce time spent on payment follow-ups by 70%"
153
+
154
+ ---
155
+
156
+ #### Tiny Acts of Discovery
157
+ Define lightweight experiments to validate the hypothesis:
158
+
159
+ ```markdown
160
+ ### Tiny Acts of Discovery
161
+ **We will test our assumption by:**
162
+ - [Experiment 1: Prototype AI reminder system and test with 5 freelancers]
163
+ - [Experiment 2: A/B test manual vs. AI-timed reminders for 20 users]
164
+ - [Experiment 3: Survey users on perceived value after 2 weeks]
165
+ ```
166
+
167
+ **Quality checks:**
168
+ - **Fast:** Days/weeks, not months
169
+ - **Cheap:** Prototypes, concierge tests, not full builds
170
+ - **Falsifiable:** Could prove you wrong
171
+
172
+ ---
173
+
174
+ #### Proof-of-Life
175
+ Define validation measures:
176
+
177
+ ```markdown
178
+ ### Proof-of-Life
179
+ **We know our hypothesis is valid if within** [timeframe]
180
+ **we observe:**
181
+ - [Quantitative outcome: e.g., "80% of users send reminders via the AI system"]
182
+ - [Qualitative outcome: e.g., "8 out of 10 users report saving 5+ hours/month"]
183
+ ```
184
+
185
+ ---
186
+
187
+ ### Step 5: Define Positioning
188
+ Use the positioning statement format from `skills/positioning-statement/SKILL.md`:
189
+
190
+ ```markdown
191
+ ## Positioning Statement
192
+
193
+ ### Value Proposition
194
+ **For** [target customer/user persona]
195
+ **that need** [statement of underserved need]
196
+ [product name]
197
+ **is a** [product category]
198
+ **that** [statement of benefit, focusing on outcomes]
199
+
200
+ ### Differentiation Statement
201
+ **Unlike** [primary competitor or competitive arena]
202
+ [product name]
203
+ **provides** [unique differentiation, focusing on outcomes]
204
+ ```
205
+
206
+ ---
207
+
208
+ ### Step 6: Document Assumptions & Unknowns
209
+
210
+ ```markdown
211
+ ## Assumptions & Unknowns
212
+ - **[Assumption 1]** - [Description, e.g., "We assume users will trust AI-generated reminders"]
213
+ - **[Assumption 2]** - [Description, e.g., "We assume payment timing optimization increases response rates"]
214
+ - **[Unknown 1]** - [Description, e.g., "We don't know if users prefer email or SMS reminders"]
215
+ ```
216
+
217
+ **Quality checks:**
218
+ - **Explicit:** Make hidden assumptions visible
219
+ - **Testable:** Each assumption can be validated via experiments
220
+
221
+ ---
222
+
223
+ ### Step 7: Identify PESTEL Risks
224
+
225
+ #### Risks to Investigate (High Priority)
226
+ ```markdown
227
+ ## Issues/Risks to Investigate
228
+ - **Political:** [e.g., "Regulatory changes to AI-generated communications"]
229
+ - **Economic:** [e.g., "Economic downturn reduces willingness to pay for premium features"]
230
+ - **Social:** [e.g., "Users may perceive AI reminders as impersonal or pushy"]
231
+ - **Technological:** [e.g., "AI model accuracy may degrade over time without retraining"]
232
+ - **Environmental:** [e.g., "Energy costs of AI processing"]
233
+ - **Legal:** [e.g., "GDPR compliance for storing customer email patterns"]
234
+ ```
235
+
236
+ ---
237
+
238
+ #### Risks to Monitor (Lower Priority)
239
+ ```markdown
240
+ ## Issues/Risks to Monitor
241
+ - **Political:** [e.g., "Potential AI regulation in EU markets"]
242
+ - **Economic:** [e.g., "Exchange rate fluctuations affecting international customers"]
243
+ - **Social:** [e.g., "Changing norms around automated communication"]
244
+ - **Technological:** [e.g., "Emerging AI competitors with better models"]
245
+ - **Environmental:** [e.g., "Carbon footprint concerns from stakeholders"]
246
+ - **Legal:** [e.g., "Future data privacy laws"]
247
+ ```
248
+
249
+ ---
250
+
251
+ ### Step 8: Justify the Value
252
+
253
+ ```markdown
254
+ ## Value Justification
255
+
256
+ ### Is this Valuable?
257
+ - [Absolutely yes / Yes with caveats / No with suggested alternatives / Absolutely NO!]
258
+
259
+ ### Solution Justification
260
+ <!-- Write these to convince C-level executives -->
261
+ We think this is a valuable idea. Here's why:
262
+ 1. **[Justification 1]** - [Description, e.g., "Addresses the #1 pain point for our target segment"]
263
+ 2. **[Justification 2]** - [Description, e.g., "Differentiates us from competitors who only offer manual reminders"]
264
+ 3. **[Justification 3]** - [Description, e.g., "Low technical risk—leverages existing AI infrastructure"]
265
+ ```
266
+
267
+ ---
268
+
269
+ ### Step 9: Define Success Metrics
270
+ Use SMART metrics (Specific, Measurable, Attainable, Relevant, Time-Bound):
271
+
272
+ ```markdown
273
+ ## Success Metrics
274
+ 1. **[Metric 1]** - [e.g., "80% of active users adopt AI reminders within 3 months"]
275
+ 2. **[Metric 2]** - [e.g., "Average time spent on payment follow-ups decreases by 50% within 6 months"]
276
+ 3. **[Metric 3]** - [e.g., "Net Promoter Score for invoicing feature increases from 6 to 8 within 6 months"]
277
+ ```
278
+
279
+ ---
280
+
281
+ ### Step 10: Define Next Steps
282
+
283
+ ```markdown
284
+ ## What's Next
285
+ 1. **[Next step 1]** - [e.g., "Run 2-week prototype test with 10 beta users"]
286
+ 2. **[Next step 2]** - [e.g., "Build lightweight AI model for reminder timing optimization"]
287
+ 3. **[Next step 3]** - [e.g., "Conduct legal review of GDPR implications"]
288
+ 4. **[Next step 4]** - [e.g., "Present findings to exec team for go/no-go decision"]
289
+ 5. **[Next step 5]** - [e.g., "If validated, add to Q2 roadmap"]
290
+ ```
291
+
292
+ ---
293
+
294
+ ## Examples
295
+
296
+ See `examples/sample.md` for a full recommendation canvas example.
297
+
298
+ Mini example excerpt:
299
+
300
+ ```markdown
301
+ ### Business Outcome
302
+ - Increase by 20% MRR from freelance users within 12 months
303
+
304
+ ### Solution Hypothesis
305
+ **If we** provide AI-powered invoice reminders
306
+ **for** freelance designers
307
+ **Then we will** reduce time spent on follow-ups by 70%
308
+ ```
309
+
310
+ ## Common Pitfalls
311
+
312
+ ### Pitfall 1: Vague Outcomes
313
+ **Symptom:** "Business outcome: increase revenue. Product outcome: improve UX."
314
+
315
+ **Consequence:** No measurability or accountability.
316
+
317
+ **Fix:** Use the outcome formula: [Direction] [Metric] [Outcome] [Context] [Acceptance Criteria]. Be specific.
318
+
319
+ ---
320
+
321
+ ### Pitfall 2: Solution-First Thinking
322
+ **Symptom:** Problem statement is "We need AI-powered X"
323
+
324
+ **Consequence:** You've jumped to solution without validating the problem.
325
+
326
+ **Fix:** Frame problem from user perspective. Let the solution hypothesis emerge from validated pain points.
327
+
328
+ ---
329
+
330
+ ### Pitfall 3: Skipping Tiny Acts of Discovery
331
+ **Symptom:** Hypothesis → straight to roadmap, no experiments
332
+
333
+ **Consequence:** High risk of building the wrong thing.
334
+
335
+ **Fix:** Define 2-3 lightweight experiments. Test before committing engineering resources.
336
+
337
+ ---
338
+
339
+ ### Pitfall 4: Generic PESTEL Risks
340
+ **Symptom:** "Political: regulations might change"
341
+
342
+ **Consequence:** Risk analysis is theater, not actionable.
343
+
344
+ **Fix:** Be specific: "GDPR compliance for storing client email timing data requires legal review."
345
+
346
+ ---
347
+
348
+ ### Pitfall 5: Weak Value Justification
349
+ **Symptom:** "This is valuable because customers will like it"
350
+
351
+ **Consequence:** Not convincing to execs.
352
+
353
+ **Fix:** Use data: "Addresses #1 pain point per user research. 20% churn reduction = $500k ARR. Low tech risk."
354
+
355
+ ---
356
+
357
+ ## References
358
+
359
+ ### Related Skills
360
+ - `skills/problem-statement/SKILL.md` — Informs the problem narrative
361
+ - `skills/epic-hypothesis/SKILL.md` — Informs the solution hypothesis structure
362
+ - `skills/positioning-statement/SKILL.md` — Informs positioning section
363
+ - `skills/proto-persona/SKILL.md` — Defines target persona
364
+ - `skills/jobs-to-be-done/SKILL.md` — Informs customer outcomes
365
+
366
+ ### External Frameworks
367
+ - Osterwalder's Value Proposition Canvas — Influences problem/solution framing
368
+ - PESTEL Analysis — Risk assessment framework
369
+ - SMART Goals — Success metrics structure
370
+
371
+ ### Dean's Work
372
+ - AI Recommendation Canvas Template (created for Productside "AI Innovation for Product Managers" class)
373
+
374
+ ### Provenance
375
+ - Adapted from `prompts/recommendation-canvas-template.md` in the `https://github.com/deanpeters/product-manager-prompts` repo.
376
+
377
+ ---
378
+
379
+ **Skill type:** Component
380
+ **Suggested filename:** `recommendation-canvas.md`
381
+ **Suggested placement:** `/skills/components/`
382
+ **Dependencies:** References `skills/problem-statement/SKILL.md`, `skills/epic-hypothesis/SKILL.md`, `skills/positioning-statement/SKILL.md`, `skills/proto-persona/SKILL.md`, `skills/jobs-to-be-done/SKILL.md`
@@ -0,0 +1,94 @@
1
+ # Recommendation Canvas Example
2
+
3
+ ## Example: AI-Powered Invoice Reminder System (Good Canvas)
4
+
5
+ ```markdown
6
+ ## AI Invoice Reminder Canvas
7
+
8
+ ### Product Name
9
+ - SmartReminders
10
+
11
+ ### Business Outcome
12
+ - Increase by 20% the monthly recurring revenue from freelance users within 12 months by reducing churn caused by payment frustration
13
+
14
+ ### Product Outcome
15
+ - Reduce by 70% the time freelancers spend chasing late payments when using our invoicing platform
16
+
17
+ ### The Problem Statement
18
+ Sarah is a freelance designer managing 10 clients at once. She spends 5+ hours per month manually tracking overdue invoices and sending follow-up emails. By the time she follows up, some clients have already forgotten or moved on, costing her revenue and damaging relationships. She feels anxious and frustrated, wishing she could focus on design instead of admin.
19
+
20
+ ### Solution Hypothesis
21
+
22
+ **If we** provide AI-powered invoice reminders that auto-send at optimal times
23
+ **for** freelance designers using our invoicing platform
24
+ **Then we will** reduce time spent on payment follow-ups by 70% and increase on-time payment rates by 30%
25
+
26
+ **Tiny Acts of Discovery:**
27
+ - Prototype AI reminder system and test with 5 freelancers for 2 weeks
28
+ - A/B test manual vs. AI-timed reminders with 20 users
29
+ - Survey users on perceived value and trust in AI-generated messages
30
+
31
+ **Proof-of-Life:**
32
+ Within 4 weeks, we observe:
33
+ - 80% of test users adopt AI reminders (quantitative)
34
+ - 8 out of 10 users report saving 3+ hours/month (qualitative)
35
+ - On-time payment rate increases by 20% (quantitative)
36
+
37
+ ### Positioning Statement
38
+
39
+ **For** freelance creative professionals
40
+ **that need** to reduce time spent chasing late payments without damaging client relationships
41
+ SmartReminders
42
+ **is an** AI-powered invoicing automation feature
43
+ **that** automatically sends payment reminders at optimal times, increasing on-time payments by 30%
44
+
45
+ **Unlike** manual reminder systems or generic email schedulers
46
+ SmartReminders
47
+ **provides** AI-optimized timing based on client behavior patterns, maximizing response rates without appearing pushy
48
+
49
+ ### Assumptions & Unknowns
50
+ - **Assumption 1:** Users will trust AI to send messages on their behalf
51
+ - **Assumption 2:** Optimal reminder timing improves payment rates
52
+ - **Unknown 1:** Whether users prefer email, SMS, or in-app reminders
53
+ - **Unknown 2:** How to handle clients who never respond to reminders
54
+
55
+ ### Issues/Risks to Investigate
56
+ - **Political:** N/A (low risk)
57
+ - **Economic:** Recession may reduce willingness to pay for premium features
58
+ - **Social:** Users may perceive AI reminders as impersonal or spammy
59
+ - **Technological:** AI model accuracy may degrade without retraining
60
+ - **Environmental:** Minimal (low energy costs)
61
+ - **Legal:** GDPR compliance for storing client email patterns and timing data
62
+
63
+ ### Issues/Risks to Monitor
64
+ - **Political:** Future AI regulation
65
+ - **Economic:** Currency fluctuations for international users
66
+ - **Social:** Changing norms around automated business communication
67
+ - **Technological:** Competitor AI models
68
+ - **Environmental:** Carbon footprint concerns
69
+ - **Legal:** Evolving data privacy laws
70
+
71
+ ### Value Justification
72
+
73
+ **Is this Valuable?**
74
+ - Absolutely yes
75
+
76
+ **Solution Justification:**
77
+ 1. **Addresses top pain point:** Payment follow-ups are the #1 complaint from freelance users (per user research)
78
+ 2. **Differentiates from competitors:** Competitors offer manual reminders; we offer AI-optimized timing
79
+ 3. **Low technical risk:** Leverages existing AI infrastructure and user behavior data
80
+ 4. **High business impact:** Reducing churn by 20% = $500k ARR
81
+
82
+ ### Success Metrics
83
+ 1. **Adoption:** 75% of active invoicing users enable AI reminders within 3 months
84
+ 2. **Time savings:** Average time spent on payment follow-ups decreases by 60% within 6 months
85
+ 3. **Payment rates:** On-time payment rate increases from 50% to 65% within 6 months
86
+ 4. **NPS:** Net Promoter Score for invoicing feature increases from 6 to 8
87
+
88
+ ### What's Next
89
+ 1. **Run prototype test:** 2-week test with 10 beta users
90
+ 2. **Build lightweight AI model:** Optimize reminder timing based on client response patterns
91
+ 3. **Legal review:** GDPR compliance check
92
+ 4. **Present to execs:** Go/no-go decision by end of Q1
93
+ 5. **If validated:** Add to Q2 roadmap as high-priority feature
94
+ ```
@@ -0,0 +1,86 @@
1
+ # Recommendation Canvas Template
2
+
3
+ Use this template to produce a complete AI recommendation canvas.
4
+
5
+ ## Provenance
6
+ Adapted from `prompts/recommendation-canvas-template.md` in the `https://github.com/deanpeters/product-manager-prompts` repo.
7
+
8
+ ## Template
9
+ ```markdown
10
+ ## AI Recommendation Canvas
11
+
12
+ ### Product Name
13
+ - [Name of the AI product or service]
14
+
15
+ ### Business Outcome
16
+ - [Direction][Metric][Outcome][Context][Acceptance criteria]
17
+
18
+ ### Product Outcome
19
+ - [Direction][Metric][Outcome][Context][Acceptance criteria]
20
+
21
+ ### The Problem Statement
22
+ - [2-3 sentence narrative from the persona's POV]
23
+
24
+ ### Solution Hypothesis
25
+ **If we** [action or solution]
26
+ **for** [target persona]
27
+ **Then we will** [desirable outcome]
28
+
29
+ **Tiny Acts of Discovery:**
30
+ - [Experiment 1]
31
+ - [Experiment 2]
32
+ - [Add more as needed]
33
+
34
+ **Proof-of-Life:**
35
+ Within [timeframe], we observe:
36
+ - [Quantitative outcome]
37
+ - [Qualitative outcome]
38
+
39
+ ### Positioning Statement
40
+ **For** [target customer/persona]
41
+ **that need** [underserved need]
42
+ [product name]
43
+ **is a** [product category]
44
+ **that** [benefit statement]
45
+
46
+ **Unlike** [primary competitor or alternative]
47
+ [product name]
48
+ **provides** [unique differentiation]
49
+
50
+ ### Assumptions & Unknowns
51
+ - **[Assumption/Unknown 1]** - [Description]
52
+ - **[Assumption/Unknown 2]** - [Description]
53
+
54
+ ### Issues/Risks to Investigate (PESTEL)
55
+ - **Political:** [Risk]
56
+ - **Economic:** [Risk]
57
+ - **Social:** [Risk]
58
+ - **Technological:** [Risk]
59
+ - **Environmental:** [Risk]
60
+ - **Legal:** [Risk]
61
+
62
+ ### Issues/Risks to Monitor (PESTEL)
63
+ - **Political:** [Risk]
64
+ - **Economic:** [Risk]
65
+ - **Social:** [Risk]
66
+ - **Technological:** [Risk]
67
+ - **Environmental:** [Risk]
68
+ - **Legal:** [Risk]
69
+
70
+ ### Value Justification
71
+ **Is this Valuable?** [Absolutely yes / Yes with caveats / No]
72
+
73
+ **Solution Justification:**
74
+ 1. **[Justification 1]** - [Description]
75
+ 2. **[Justification 2]** - [Description]
76
+
77
+ ### Success Metrics
78
+ 1. **[Metric 1]** - [Description]
79
+ 2. **[Metric 2]** - [Description]
80
+ 3. **[Metric 3]** - [Description]
81
+
82
+ ### What's Next
83
+ 1. **[Next step 1]** - [Description]
84
+ 2. **[Next step 2]** - [Description]
85
+ 3. **[Next step 3]** - [Description]
86
+ ```