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,664 @@
1
+ ---
2
+ name: epic-breakdown-advisor
3
+ description: "Use when you need to split an epic into vertical user stories. Applies Richard Lawrence's 9 Humanizing Work splitting patterns sequentially, validates INVEST criteria, and evaluates splits for waste elimination."
4
+ type: interactive
5
+ triggers:
6
+ - "break down this epic into stories"
7
+ - "help me split this user story"
8
+ - "this epic is too big, how do I slice it"
9
+ - "apply story splitting patterns to my epic"
10
+ negative_triggers:
11
+ - "write user stories for me"
12
+ - "estimate story points for these tickets"
13
+ - "help me prioritize my backlog"
14
+ ---
15
+
16
+
17
+ ## Purpose
18
+ Guide product managers through breaking down epics into user stories using Richard Lawrence's complete Humanizing Work methodology—a systematic, flowchart-driven approach that applies 9 splitting patterns sequentially. Use this to identify which pattern applies, split while preserving user value, and evaluate splits based on what they reveal about low-value work you can eliminate. This ensures vertical slicing (end-to-end value) rather than horizontal slicing (technical layers).
19
+
20
+ This is not arbitrary slicing—it's a proven, methodical process that starts with validation, walks through patterns in order, and evaluates results strategically.
21
+
22
+ ## Key Concepts
23
+
24
+ ### Core Principles: Vertical Slices Preserve Value
25
+ A user story is "a description of a change in system behavior from the perspective of a user." Splitting must maintain **vertical slices**—work that touches multiple architectural layers and delivers observable user value—not horizontal slices addressing single components (e.g., "front-end story" + "back-end story").
26
+
27
+ ### The Three-Step Process
28
+ 1. **Pre-Split Validation:** Check if story satisfies INVEST criteria (except "Small")
29
+ 2. **Apply Splitting Patterns:** Work through 9 patterns sequentially until one fits
30
+ 3. **Evaluate Splits:** Choose the split that reveals low-value work or produces equal-sized stories
31
+
32
+ ### The 9 Splitting Patterns (In Order)
33
+ 1. **Workflow Steps** — Thin end-to-end slices, not step-by-step
34
+ 2. **Operations (CRUD)** — Create, Read, Update, Delete as separate stories
35
+ 3. **Business Rule Variations** — Different rules = different stories
36
+ 4. **Data Variations** — Different data types/structures
37
+ 5. **Data Entry Methods** — Simple UI first, fancy UI later
38
+ 6. **Major Effort** — "Implement one + add remaining"
39
+ 7. **Simple/Complex** — Core simplest version first, variations later
40
+ 8. **Defer Performance** — "Make it work" before "make it fast"
41
+ 9. **Break Out a Spike** — Time-box investigation when uncertainty blocks splitting
42
+
43
+ ### Meta-Pattern (Applies Across All Patterns)
44
+ 1. Identify the core complexity
45
+ 2. List all variations
46
+ 3. Reduce variations to **one complete slice**
47
+ 4. Make other variations separate stories
48
+
49
+ ### Why This Works
50
+ - **Prevents arbitrary splitting:** Methodical checklist prevents guessing
51
+ - **Preserves user value:** Every story delivers observable value
52
+ - **Reveals waste:** Good splits expose low-value work you can deprioritize
53
+ - **Repeatable:** Apply to any epic consistently
54
+
55
+ ---
56
+
57
+ ### Facilitation Source of Truth
58
+
59
+ Use [`workshop-facilitation`](../workshop-facilitation/SKILL.md) as the default interaction protocol for this skill.
60
+
61
+ It defines:
62
+ - session heads-up + entry mode (Guided, Context dump, Best guess)
63
+ - one-question turns with plain-language prompts
64
+ - progress labels (for example, Context Qx/8 and Scoring Qx/5)
65
+ - interruption handling and pause/resume behavior
66
+ - numbered recommendations at decision points
67
+ - quick-select numbered response options for regular questions (include `Other (specify)` when useful)
68
+
69
+ This file defines the domain-specific assessment content. If there is a conflict, follow this file's domain logic.
70
+
71
+ ## Application
72
+
73
+ ### Step 0: Provide Epic Context
74
+
75
+ **Agent asks:**
76
+
77
+ Please share your epic:
78
+
79
+ - Epic title/ID
80
+ - Description or hypothesis
81
+ - Acceptance criteria (especially multiple "When/Then" pairs)
82
+ - Target persona
83
+ - Rough estimate
84
+
85
+ **You can paste from Jira, Linear, or describe briefly.**
86
+
87
+ ---
88
+
89
+ ### Step 1: Pre-Split Validation (INVEST Check)
90
+
91
+ **Before splitting, verify your story satisfies INVEST criteria (except "Small"):**
92
+
93
+ **Agent asks questions sequentially:**
94
+
95
+ **1. Independent?**
96
+ "Can this story be prioritized and developed without hard technical dependencies on other stories?"
97
+
98
+ **Options:**
99
+ - Yes — No blocking dependencies
100
+ - No — Requires other work first (flag this)
101
+
102
+ ---
103
+
104
+ **2. Negotiable?**
105
+ "Does this story leave room for the team to discover implementation details collaboratively, rather than prescribing exact solutions?"
106
+
107
+ **Options:**
108
+ - Yes — It's a conversation starter, not a spec
109
+ - No — It's too prescriptive (may need reframing)
110
+
111
+ ---
112
+
113
+ **3. Valuable?**
114
+ "Does this story deliver observable value to a user? (If not, combine it with related work rather than splitting.)"
115
+
116
+ **Options:**
117
+ - Yes — Users see/experience something different
118
+ - No — It's a technical task (not a user story—don't split, reframe)
119
+
120
+ **⚠️ Critical Check:** If story fails "Valuable," STOP. Don't split. Instead, combine with other work to create a meaningful increment.
121
+
122
+ ---
123
+
124
+ **4. Estimable?**
125
+ "Can your team size this story relatively (even if roughly)?"
126
+
127
+ **Options:**
128
+ - Yes — Team can estimate days/points
129
+ - No — Too much uncertainty (may need spike first)
130
+
131
+ ---
132
+
133
+ **5. Testable?**
134
+ "Does this story have concrete acceptance criteria that QA can verify?"
135
+
136
+ **Options:**
137
+ - Yes — Clear pass/fail conditions
138
+ - No — Needs clearer acceptance criteria (refine before splitting)
139
+
140
+ ---
141
+
142
+ **If story passes all checks → Proceed to Step 2 (Splitting Patterns)**
143
+ **If story fails any check → Fix the issue before splitting**
144
+
145
+ ---
146
+
147
+ ### Step 2: Apply Splitting Patterns Sequentially
148
+
149
+ Work through patterns in order. For each pattern, ask "Does this apply?"
150
+
151
+ ---
152
+
153
+ ### Pattern 1: Workflow Steps
154
+
155
+ **Key insight:** Split into **thin end-to-end slices**, not step-by-step. Start with a simple case covering the **full workflow**, then add intermediate steps as separate stories.
156
+
157
+ **Agent asks:**
158
+ "Does your epic involve a multi-step workflow where you could deliver a simple case first, then add intermediate steps later?"
159
+
160
+ **Example:**
161
+ - **Original:** "Publish content (requires editorial review, legal approval, staging)"
162
+ - **❌ Wrong split (step-by-step):** Story 1 = Editorial review, Story 2 = Legal approval, Story 3 = Publish
163
+ - **✅ Right split (thin end-to-end):**
164
+ - Story 1: Publish content (simple path: author uploads, content goes live immediately—no reviews)
165
+ - Story 2: Add editorial review step (now content waits for editor approval before going live)
166
+ - Story 3: Add legal approval step (content waits for legal + editorial before going live)
167
+
168
+ **Each story delivers full workflow**, just with increasing sophistication.
169
+
170
+ **Options:**
171
+ 1. **Yes, multi-step workflow** → "Describe the workflow steps"
172
+ 2. **No, single step** → Continue to Pattern 2
173
+
174
+ **If YES:** Agent generates thin end-to-end slice splits.
175
+
176
+ ---
177
+
178
+ ### Pattern 2: Operations (CRUD)
179
+
180
+ **Key insight:** The word "manage" signals multiple operations. Split into Create, Read, Update, Delete.
181
+
182
+ **Agent asks:**
183
+ "Does your epic use words like 'manage,' 'handle,' or 'maintain'? If so, it likely bundles multiple operations (CRUD)."
184
+
185
+ **Example:**
186
+ - **Original:** "Manage user accounts"
187
+ - **Split:**
188
+ - Story 1: Create user account
189
+ - Story 2: View user account details
190
+ - Story 3: Edit user account info
191
+ - Story 4: Delete user account
192
+
193
+ **Options:**
194
+ 1. **Yes, contains multiple operations** → "List the operations (Create/Read/Update/Delete/etc.)"
195
+ 2. **No, single operation** → Continue to Pattern 3
196
+
197
+ **If YES:** Agent generates one story per operation.
198
+
199
+ ---
200
+
201
+ ### Pattern 3: Business Rule Variations
202
+
203
+ **Key insight:** When identical functionality operates under different rules, each rule becomes its own story.
204
+
205
+ **Agent asks:**
206
+ "Does your epic have different business rules for different scenarios (user types, regions, tiers, conditions)?"
207
+
208
+ **Example:**
209
+ - **Original:** "Flight search with flexible dates (date range, specific weekends, date offsets)"
210
+ - **Split:**
211
+ - Story 1: Search by date range (+/- N days)
212
+ - Story 2: Search by specific weekends only
213
+ - Story 3: Search by date offsets (N days before/after)
214
+
215
+ **Options:**
216
+ 1. **Yes, different rules** → "Describe the rule variations"
217
+ 2. **No, same rules for all** → Continue to Pattern 4
218
+
219
+ **If YES:** Agent generates one story per rule variation.
220
+
221
+ ---
222
+
223
+ ### Pattern 4: Data Variations
224
+
225
+ **Key insight:** Complexity from handling different data types or structures. Add variations **just-in-time** as needed.
226
+
227
+ **Agent asks:**
228
+ "Does your epic handle different data types, formats, or structures (e.g., file types, geographic levels, user attributes)?"
229
+
230
+ **Example:**
231
+ - **Original:** "Geographic search (counties, cities/towns/neighborhoods, custom provider areas)"
232
+ - **Split:**
233
+ - Story 1: Search by county
234
+ - Story 2: Add city/town/neighborhood search
235
+ - Story 3: Add custom provider area search
236
+
237
+ **Options:**
238
+ 1. **Yes, different data types** → "List the data variations"
239
+ 2. **No, single data type** → Continue to Pattern 5
240
+
241
+ **If YES:** Agent generates one story per data variation (deliver simplest first).
242
+
243
+ ---
244
+
245
+ ### Pattern 5: Data Entry Methods
246
+
247
+ **Key insight:** UI complexity independent of core functionality. Build simplest interface first, then add sophisticated UI as follow-ups.
248
+
249
+ **Agent asks:**
250
+ "Does your epic include fancy UI elements (date pickers, autocomplete, drag-and-drop) that aren't essential to core functionality?"
251
+
252
+ **Example:**
253
+ - **Original:** "Search with calendar date picker"
254
+ - **Split:**
255
+ - Story 1: Search by date (basic text input: "YYYY-MM-DD")
256
+ - Story 2: Add visual calendar picker UI
257
+
258
+ **Options:**
259
+ 1. **Yes, fancy UI elements** → "Describe the UI enhancements"
260
+ 2. **No, basic UI only** → Continue to Pattern 6
261
+
262
+ **If YES:** Agent generates Story 1 = basic input, Story 2+ = UI enhancements.
263
+
264
+ ---
265
+
266
+ ### Pattern 6: Major Effort
267
+
268
+ **Key insight:** When **initial implementation** carries most complexity, with additions being trivial. Frame as "implement one + add remaining."
269
+
270
+ **Agent asks:**
271
+ "Does your epic involve building infrastructure where the **first implementation** is hard, but adding more is easy?"
272
+
273
+ **Example:**
274
+ - **Original:** "Accept credit card payments (Visa, Mastercard, Amex, Discover)"
275
+ - **Split:**
276
+ - Story 1: Accept Visa payments (build full payment infrastructure)
277
+ - Story 2: Add Mastercard, Amex, Discover support (trivial additions)
278
+
279
+ **⚠️ Note:** First story does the heavy lift (payment gateway, security, compliance). Subsequent stories are small additions.
280
+
281
+ **Options:**
282
+ 1. **Yes, major effort pattern** → "What's the first implementation + what are the additions?"
283
+ 2. **No, no infrastructure work** → Continue to Pattern 7
284
+
285
+ **If YES:** Agent generates Story 1 = build infrastructure, Story 2 = add remaining variants.
286
+
287
+ ---
288
+
289
+ ### Pattern 7: Simple/Complex
290
+
291
+ **Key insight:** Identify story's core by asking "What's the simplest version?" Extract variations into separate stories.
292
+
293
+ **Agent asks:**
294
+ "What's the **simplest version** of this epic that still delivers value? Can you strip away complexity and add it back later?"
295
+
296
+ **Example:**
297
+ - **Original:** "Flight search (with max stops, nearby airports, flexible dates)"
298
+ - **Split:**
299
+ - Story 1: Basic flight search (origin, destination, date)
300
+ - Story 2: Add max stops filter
301
+ - Story 3: Add nearby airports option
302
+ - Story 4: Add flexible dates option
303
+
304
+ **Options:**
305
+ 1. **Yes, can identify simplest core** → "Describe the simplest version + what variations to defer"
306
+ 2. **No, it's already simple** → Continue to Pattern 8
307
+
308
+ **If YES:** Agent generates Story 1 = simplest core, Story 2+ = variations.
309
+
310
+ ---
311
+
312
+ ### Pattern 8: Defer Performance
313
+
314
+ **Key insight:** Split "make it work" from "make it fast." Non-functional requirements (performance, security, scalability) can follow functional delivery.
315
+
316
+ **Agent asks:**
317
+ "Can you deliver functional value first, then optimize performance/security/scalability later?"
318
+
319
+ **Example:**
320
+ - **Original:** "Real-time search with <100ms response time"
321
+ - **Split:**
322
+ - Story 1: Search works (functional, no performance guarantee)
323
+ - Story 2: Optimize search to <100ms (add caching, indexing)
324
+
325
+ **Options:**
326
+ 1. **Yes, can defer optimization** → "What's the functional version + what's the optimization?"
327
+ 2. **No, performance is essential** → Continue to Pattern 9
328
+
329
+ **If YES:** Agent generates Story 1 = functional, Story 2 = optimize.
330
+
331
+ ---
332
+
333
+ ### Pattern 9: Break Out a Spike
334
+
335
+ **Key insight:** Last resort when **uncertainty prevents splitting**. Time-box investigation to answer specific questions, then split implementation story with better understanding.
336
+
337
+ **Agent says:**
338
+ "None of patterns 1-8 apply, which suggests **high uncertainty**. Before splitting, run a **spike** to reduce uncertainty."
339
+
340
+ **A spike is a time-boxed investigation (not a story), answering questions like:**
341
+ - Is this technically feasible?
342
+ - Which approach performs best?
343
+ - What does the API actually return?
344
+
345
+ **Agent asks:**
346
+ "What's the biggest unknown preventing you from splitting this epic?"
347
+
348
+ **Options:**
349
+ 1. **Technical feasibility** — "Can we build this with our stack?"
350
+ 2. **Approach uncertainty** — "Multiple ways to solve it, unclear which is best"
351
+ 3. **External dependency** — "Don't know what third-party API provides"
352
+
353
+ **Agent recommends:**
354
+ → "Run a 1-2 day spike to answer [question]. After the spike, come back and we'll split the epic with better understanding."
355
+
356
+ **⚠️ Spikes produce learning, not shippable code. After the spike, restart at Pattern 1.**
357
+
358
+ ---
359
+
360
+ ### Step 3: Evaluate Split Quality
361
+
362
+ **After splitting, evaluate using these criteria:**
363
+
364
+ **Agent asks:**
365
+
366
+ **1. Does this split reveal low-value work you can deprioritize or eliminate?**
367
+ - Good splits expose the 80/20 principle: most value concentrates in a small portion of functionality
368
+ - Example: After splitting "Flight search" into 4 stories, you realize "flexible dates" is rarely used → deprioritize or kill it
369
+
370
+ **2. Does this split produce more equally-sized stories?**
371
+ - Equal-sized stories give Product Owners greater prioritization flexibility
372
+ - Example: Instead of one 10-day epic, five 2-day stories allow reordering mid-sprint
373
+
374
+ **If split doesn't satisfy either criterion, try a different pattern.**
375
+
376
+ ---
377
+
378
+ ### Meta-Pattern Application
379
+
380
+ **Across all patterns, follow this sequence:**
381
+ 1. **Identify core complexity** — What makes this epic hard?
382
+ 2. **List variations** — What are all the different ways/cases/rules?
383
+ 3. **Reduce to one complete slice** — Pick the simplest variation that still delivers end-to-end value
384
+ 4. **Make other variations separate stories**
385
+
386
+ ---
387
+
388
+ ### Cynefin Domain Considerations
389
+
390
+ **Strategy shifts based on complexity domain:**
391
+
392
+ **Agent asks:**
393
+ "How much uncertainty surrounds this epic?"
394
+
395
+ **Options:**
396
+
397
+ 1. **Low uncertainty (Obvious/Complicated domain)** — "We know what to build; it's just engineering work"
398
+ → Find all stories, prioritize by value/risk
399
+
400
+ 2. **High uncertainty (Complex domain)** — "We're not sure what customers want or what will work"
401
+ → Identify 1-2 **learning stories**; avoid exhaustive enumeration (work itself teaches what matters)
402
+
403
+ 3. **Chaos** — "Everything is on fire; priorities shift daily"
404
+ → **Defer splitting** until stability emerges; focus on stabilization first
405
+
406
+ ---
407
+
408
+ ### Output: Generate Story Breakdown
409
+
410
+ ```markdown
411
+ # Epic Breakdown Plan
412
+
413
+ **Epic:** [Original epic]
414
+ **Pre-Split Validation:** ✅ Passes INVEST (except Small)
415
+ **Splitting Pattern Applied:** [Pattern name]
416
+ **Rationale:** [Why this pattern fits]
417
+
418
+ ---
419
+
420
+ ## Story Breakdown
421
+
422
+ ### Story 1: [Title] (Simplest Complete Slice)
423
+
424
+ **Summary:** [User-value-focused title]
425
+
426
+ **Use Case:**
427
+ - **As a** [persona]
428
+ - **I want to** [action]
429
+ - **so that** [outcome]
430
+
431
+ **Acceptance Criteria:**
432
+ - **Given:** [Preconditions]
433
+ - **When:** [Action]
434
+ - **Then:** [Outcome]
435
+
436
+ **Why This First:** [Delivers core value; simpler variations follow]
437
+ **Estimated Effort:** [Days/points]
438
+
439
+ ---
440
+
441
+ ### Story 2: [Title] (First Variation)
442
+
443
+ [Repeat...]
444
+
445
+ ---
446
+
447
+ ### Story 3: [Title] (Second Variation)
448
+
449
+ [Repeat...]
450
+
451
+ ---
452
+
453
+ ## Split Evaluation
454
+
455
+ ✅ **Does this split reveal low-value work?**
456
+ - [Analysis: Which stories could be deprioritized/eliminated?]
457
+
458
+ ✅ **Does this split produce equal-sized stories?**
459
+ - [Analysis: Are stories roughly equal in effort?]
460
+
461
+ ---
462
+
463
+ ## INVEST Validation (Each Story)
464
+
465
+ ✅ **Independent:** Stories can be developed in any order
466
+ ✅ **Negotiable:** Implementation details can be discovered collaboratively
467
+ ✅ **Valuable:** Each story delivers observable user value
468
+ ✅ **Estimable:** Team can size each story
469
+ ✅ **Small:** Each story fits in 1-5 days
470
+ ✅ **Testable:** Clear acceptance criteria for each
471
+
472
+ ---
473
+
474
+ ## Next Steps
475
+
476
+ 1. **Review with team:** Do PM, design, engineering agree?
477
+ 2. **Check for further splitting:** Are any stories still >5 days? If yes, **restart at Pattern 1** for that story.
478
+ 3. **Prioritize:** Which story delivers most value first?
479
+ 4. **Consider eliminating:** Did split reveal low-value stories? Kill or defer them.
480
+
481
+ ---
482
+
483
+ **If stories are still too large, re-apply patterns starting at Pattern 1.**
484
+ ```
485
+
486
+ ---
487
+
488
+ ## Examples
489
+
490
+ ### Example 1: Pattern 1 Applied (Workflow Steps - Thin End-to-End)
491
+
492
+ **Epic:** "Publish blog post (requires editorial review, legal approval, staging)"
493
+
494
+ **Pre-Split Validation:** ✅ Passes INVEST
495
+
496
+ **Pattern 1:** "Does this have workflow steps?" → YES ✅
497
+
498
+ **❌ Wrong Split (Step-by-Step):**
499
+ 1. Editorial review story
500
+ 2. Legal approval story
501
+ 3. Publish story
502
+ → Problem: Story 1 doesn't deliver value (users see nothing)
503
+
504
+ **✅ Right Split (Thin End-to-End):**
505
+ 1. **Publish post (simple path)** — Author uploads, post goes live immediately (no reviews)
506
+ 2. **Add editorial review** — Post now waits for editor approval before going live
507
+ 3. **Add legal approval** — Post waits for legal + editorial before going live
508
+
509
+ **Why this works:** Each story delivers **full workflow**, just with increasing sophistication.
510
+
511
+ ---
512
+
513
+ ### Example 2: Pattern 2 Applied (CRUD Operations)
514
+
515
+ **Epic:** "Manage user profiles"
516
+
517
+ **Pattern 2:** "Does this say 'manage'?" → YES ✅ (signals CRUD)
518
+
519
+ **Split:**
520
+ 1. Create user profile
521
+ 2. View user profile details
522
+ 3. Edit user profile info
523
+ 4. Delete user profile
524
+
525
+ **Split Evaluation:**
526
+ - ✅ **Reveals low-value work:** After analysis, "Delete profile" is rarely used → deprioritize
527
+ - ✅ **Equal-sized stories:** Each 1-2 days
528
+
529
+ ---
530
+
531
+ ### Example 3: Pattern 7 Applied (Simple/Complex)
532
+
533
+ **Epic:** "Flight search with max stops, nearby airports, flexible dates"
534
+
535
+ **Pattern 7:** "What's the simplest version?" → Basic search ✅
536
+
537
+ **Split:**
538
+ 1. Basic flight search (origin, destination, date) — **Core value**
539
+ 2. Add max stops filter — **Enhancement**
540
+ 3. Add nearby airports option — **Enhancement**
541
+ 4. Add flexible dates option — **Enhancement**
542
+
543
+ **Split Evaluation:**
544
+ - ✅ **Reveals low-value work:** User research shows "flexible dates" rarely used → kill or defer
545
+ - ✅ **Equal-sized stories:** Story 1 = 3 days, others = 1 day each
546
+
547
+ ---
548
+
549
+ ### Example 4: Iterative Splitting (Multiple Patterns)
550
+
551
+ **Epic:** "Checkout flow with discounts (member, VIP, first-time) and payment (Visa, Mastercard, Amex)"
552
+
553
+ **First Pass - Pattern 1 (Workflow):** YES ✅
554
+ - Story 1: Add items to cart
555
+ - Story 2: Apply discount
556
+ - Story 3: Complete payment
557
+
558
+ **Check Story 2 ("Apply discount"):** Still 4 days → Too large, re-split
559
+
560
+ **Second Pass on Story 2 - Pattern 3 (Business Rules):** YES ✅
561
+ - Story 2a: Apply member discount (10%)
562
+ - Story 2b: Apply VIP discount (20%)
563
+ - Story 2c: Apply first-time discount (5%)
564
+
565
+ **Check Story 3 ("Complete payment"):** Still 5 days → Too large, re-split
566
+
567
+ **Third Pass on Story 3 - Pattern 6 (Major Effort):** YES ✅
568
+ - Story 3a: Accept Visa payments (build payment infrastructure)
569
+ - Story 3b: Add Mastercard, Amex support
570
+
571
+ **Final Breakdown:** 6 stories, all 1-2 days each
572
+
573
+ ---
574
+
575
+ ## Common Pitfalls
576
+
577
+ ### Pitfall 1: Skipping Pre-Split Validation
578
+ **Symptom:** Jump straight to splitting without checking INVEST
579
+
580
+ **Consequence:** Split a story that shouldn't be split (e.g., not Valuable = technical task)
581
+
582
+ **Fix:** Always run Step 1 (INVEST check) before Step 2 (splitting patterns)
583
+
584
+ ---
585
+
586
+ ### Pitfall 2: Step-by-Step Workflow Splitting (Pattern 1 Done Wrong)
587
+ **Symptom:** Story 1 = "Editorial review," Story 2 = "Legal approval"
588
+
589
+ **Consequence:** Stories don't deliver end-to-end value
590
+
591
+ **Fix:** Each story should cover **full workflow** (thin end-to-end slice), just with increasing sophistication
592
+
593
+ ---
594
+
595
+ ### Pitfall 3: Horizontal Slicing (Technical Layers)
596
+ **Symptom:** "Story 1: Build API. Story 2: Build UI."
597
+
598
+ **Consequence:** Neither story delivers user value
599
+
600
+ **Fix:** Vertical slicing—each story includes front-end + back-end to deliver observable user behavior
601
+
602
+ ---
603
+
604
+ ### Pitfall 4: Forcing a Pattern That Doesn't Fit
605
+ **Symptom:** "We'll split by workflow even though there's no sequence"
606
+
607
+ **Consequence:** Arbitrary, meaningless split
608
+
609
+ **Fix:** If pattern doesn't apply, say NO and continue to next pattern
610
+
611
+ ---
612
+
613
+ ### Pitfall 5: Not Re-Splitting Large Stories
614
+ **Symptom:** Split epic into 3 stories, but each is still 5+ days
615
+
616
+ **Consequence:** Stories too large for sprint
617
+
618
+ **Fix:** **Restart at Pattern 1** for each large story until all are 1-5 days
619
+
620
+ ---
621
+
622
+ ### Pitfall 6: Ignoring Split Evaluation (Step 3)
623
+ **Symptom:** Split but don't evaluate if it reveals low-value work
624
+
625
+ **Consequence:** Miss opportunity to eliminate waste
626
+
627
+ **Fix:** After splitting, ask: "Does this reveal work we can kill or defer?"
628
+
629
+ ---
630
+
631
+ ## Practice & Skill Development
632
+
633
+ **Humanizing Work recommendation:** Teams reach fluency in **2.5-3 hours** across multiple practice sessions.
634
+
635
+ **Practice approach:**
636
+ 1. **Analyze recently completed features** (hindsight makes patterns obvious)
637
+ 2. **Walk completed work through the flowchart** — Which pattern would have applied?
638
+ 3. **Find multiple split approaches** for each feature
639
+ 4. **Build shared vocabulary** of domain-specific pattern examples
640
+
641
+ **Don't skip practice work.** Skill develops through analyzing past deliverables, not just refining future work.
642
+
643
+ ---
644
+
645
+ ## References
646
+
647
+ ### Related Skills
648
+ - `user-story-splitting.md` — The 9 patterns in detail
649
+ - `user-story.md` — Format for writing stories
650
+ - `epic-hypothesis.md` — Original epic format
651
+
652
+ ### External Frameworks
653
+ - Richard Lawrence & Peter Green, *The Humanizing Work Guide to Splitting User Stories* — Complete methodology
654
+ - Bill Wake, *INVEST in Good Stories* (2003) — Quality criteria
655
+
656
+ ### Sources
657
+ - https://www.humanizingwork.com/the-humanizing-work-guide-to-splitting-user-stories/
658
+
659
+ ---
660
+
661
+ **Skill type:** Interactive
662
+ **Suggested filename:** `epic-breakdown-advisor.md`
663
+ **Suggested placement:** `/skills/interactive/`
664
+ **Dependencies:** Uses `user-story-splitting.md`, `user-story.md`, `epic-hypothesis.md`