@robbiesrobotics/alice-agents 1.5.8 → 1.5.9

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 (580) hide show
  1. package/README.md +5 -2
  2. package/package.json +1 -1
  3. package/templates/skills/acculynx/SKILL.md +183 -0
  4. package/templates/skills/acculynx/references/analysis_template.py +116 -0
  5. package/templates/skills/acculynx/references/dashboard_page.tsx +641 -0
  6. package/templates/skills/claude-code/SKILL.md +2 -2
  7. package/templates/skills/coding-agent/SKILL.md +68 -0
  8. package/templates/skills/crawl4ai/SKILL.md +119 -0
  9. package/templates/skills/crawl4ai/scripts/crwl +3 -0
  10. package/templates/workspaces/accuscope/AGENTS.md +38 -0
  11. package/templates/workspaces/accuscope/FEEDBACK.md +27 -0
  12. package/templates/workspaces/accuscope/HEARTBEAT.md +26 -0
  13. package/templates/workspaces/accuscope/IDENTITY.md +48 -0
  14. package/templates/workspaces/accuscope/LEARNINGS.md +46 -0
  15. package/templates/workspaces/accuscope/MEMORY.md +47 -0
  16. package/templates/workspaces/accuscope/PLAYBOOK.md +65 -0
  17. package/templates/workspaces/accuscope/SOUL.md +40 -0
  18. package/templates/workspaces/accuscope/TOOLS.md +63 -0
  19. package/templates/workspaces/accuscope/USER.md +39 -0
  20. package/templates/workspaces/aiden/AGENTS.md +52 -0
  21. package/templates/workspaces/aiden/FEEDBACK.md +12 -0
  22. package/templates/workspaces/aiden/HEARTBEAT.md +9 -0
  23. package/templates/workspaces/aiden/IDENTITY.md +6 -0
  24. package/templates/workspaces/aiden/LEARNINGS.md +6 -0
  25. package/templates/workspaces/aiden/MEMORY.md +22 -0
  26. package/templates/workspaces/aiden/PLAYBOOK.md +16 -0
  27. package/templates/workspaces/aiden/SOUL.md +1 -1
  28. package/templates/workspaces/aiden/USER.md +17 -0
  29. package/templates/workspaces/alex/AGENTS.md +52 -0
  30. package/templates/workspaces/alex/FEEDBACK.md +11 -0
  31. package/templates/workspaces/alex/HEARTBEAT.md +9 -0
  32. package/templates/workspaces/alex/IDENTITY.md +6 -0
  33. package/templates/workspaces/alex/LEARNINGS.md +5 -0
  34. package/templates/workspaces/alex/MEMORY.md +22 -0
  35. package/templates/workspaces/alex/PLAYBOOK.md +16 -0
  36. package/templates/workspaces/alex/SOUL.md +1 -1
  37. package/templates/workspaces/alex/USER.md +13 -0
  38. package/templates/workspaces/aria/AGENTS.md +18 -0
  39. package/templates/workspaces/aria/FEEDBACK.md +12 -0
  40. package/templates/workspaces/aria/HEARTBEAT.md +32 -0
  41. package/templates/workspaces/aria/IDENTITY.md +12 -0
  42. package/templates/workspaces/aria/LEARNINGS.md +31 -0
  43. package/templates/workspaces/aria/MEMORY.md +29 -0
  44. package/templates/workspaces/aria/PLAYBOOK.md +71 -0
  45. package/templates/workspaces/aria/SOUL.md +57 -0
  46. package/templates/workspaces/aria/TOOLS.md +47 -0
  47. package/templates/workspaces/aria/USER.md +18 -0
  48. package/templates/workspaces/audrey/AGENTS.md +59 -0
  49. package/templates/workspaces/audrey/FEEDBACK.md +11 -0
  50. package/templates/workspaces/audrey/HEARTBEAT.md +9 -0
  51. package/templates/workspaces/audrey/IDENTITY.md +6 -0
  52. package/templates/workspaces/audrey/LEARNINGS.md +5 -0
  53. package/templates/workspaces/audrey/MEMORY.md +22 -0
  54. package/templates/workspaces/audrey/PLAYBOOK.md +16 -0
  55. package/templates/workspaces/audrey/SOUL.md +1 -1
  56. package/templates/workspaces/audrey/TOOLS.md +15 -0
  57. package/templates/workspaces/audrey/USER.md +13 -0
  58. package/templates/workspaces/avery/AGENTS.md +52 -0
  59. package/templates/workspaces/avery/FEEDBACK.md +12 -0
  60. package/templates/workspaces/avery/HEARTBEAT.md +5 -0
  61. package/templates/workspaces/avery/IDENTITY.md +6 -0
  62. package/templates/workspaces/avery/LEARNINGS.md +6 -0
  63. package/templates/workspaces/avery/MEMORY.md +22 -0
  64. package/templates/workspaces/avery/PLAYBOOK.md +16 -0
  65. package/templates/workspaces/avery/SOUL.md +1 -1
  66. package/templates/workspaces/avery/USER.md +17 -0
  67. package/templates/workspaces/avery/skills/claude-code/SKILL.md +38 -0
  68. package/templates/workspaces/avery/skills/claude-code/claude_code +55 -0
  69. package/templates/workspaces/caleb/AGENTS.md +52 -0
  70. package/templates/workspaces/caleb/FEEDBACK.md +11 -0
  71. package/templates/workspaces/caleb/HEARTBEAT.md +9 -0
  72. package/templates/workspaces/caleb/IDENTITY.md +6 -0
  73. package/templates/workspaces/caleb/LEARNINGS.md +5 -0
  74. package/templates/workspaces/caleb/MEMORY.md +22 -0
  75. package/templates/workspaces/caleb/PLAYBOOK.md +16 -0
  76. package/templates/workspaces/caleb/SOUL.md +1 -1
  77. package/templates/workspaces/caleb/TOOLS.md +30 -0
  78. package/templates/workspaces/caleb/USER.md +13 -0
  79. package/templates/workspaces/clara/AGENTS.md +59 -0
  80. package/templates/workspaces/clara/FEEDBACK.md +12 -0
  81. package/templates/workspaces/clara/HEARTBEAT.md +5 -0
  82. package/templates/workspaces/clara/IDENTITY.md +6 -0
  83. package/templates/workspaces/clara/LEARNINGS.md +6 -0
  84. package/templates/workspaces/clara/MEMORY.md +22 -0
  85. package/templates/workspaces/clara/PLAYBOOK.md +16 -0
  86. package/templates/workspaces/clara/SOUL.md +1 -1
  87. package/templates/workspaces/clara/TOOLS.md +15 -0
  88. package/templates/workspaces/clara/USER.md +17 -0
  89. package/templates/workspaces/daphne/AGENTS.md +59 -0
  90. package/templates/workspaces/daphne/FEEDBACK.md +18 -0
  91. package/templates/workspaces/daphne/HEARTBEAT.md +5 -0
  92. package/templates/workspaces/daphne/IDENTITY.md +6 -0
  93. package/templates/workspaces/daphne/LEARNINGS.md +6 -0
  94. package/templates/workspaces/daphne/MEMORY.md +22 -0
  95. package/templates/workspaces/daphne/PLAYBOOK.md +48 -0
  96. package/templates/workspaces/daphne/SOUL.md +1 -1
  97. package/templates/workspaces/daphne/TOOLS.md +15 -0
  98. package/templates/workspaces/daphne/USER.md +17 -0
  99. package/templates/workspaces/darius/AGENTS.md +52 -0
  100. package/templates/workspaces/darius/FEEDBACK.md +12 -0
  101. package/templates/workspaces/darius/HEARTBEAT.md +5 -0
  102. package/templates/workspaces/darius/IDENTITY.md +6 -0
  103. package/templates/workspaces/darius/LEARNINGS.md +6 -0
  104. package/templates/workspaces/darius/MEMORY.md +22 -0
  105. package/templates/workspaces/darius/PLAYBOOK.md +16 -0
  106. package/templates/workspaces/darius/SOUL.md +1 -1
  107. package/templates/workspaces/darius/USER.md +17 -0
  108. package/templates/workspaces/darius/skills/claude-code/SKILL.md +38 -0
  109. package/templates/workspaces/darius/skills/claude-code/claude_code +55 -0
  110. package/templates/workspaces/devon/AGENTS.md +52 -0
  111. package/templates/workspaces/devon/FEEDBACK.md +11 -0
  112. package/templates/workspaces/devon/HEARTBEAT.md +5 -0
  113. package/templates/workspaces/devon/IDENTITY.md +6 -0
  114. package/templates/workspaces/devon/LEARNINGS.md +11 -0
  115. package/templates/workspaces/devon/MEMORY.md +22 -0
  116. package/templates/workspaces/devon/PLAYBOOK.md +16 -0
  117. package/templates/workspaces/devon/SOUL.md +1 -1
  118. package/templates/workspaces/devon/USER.md +13 -0
  119. package/templates/workspaces/devon/check_github.py +12 -0
  120. package/templates/workspaces/devon/check_mc_env.py +30 -0
  121. package/templates/workspaces/devon/check_sb.py +34 -0
  122. package/templates/workspaces/devon/check_vercel.py +12 -0
  123. package/templates/workspaces/devon/get_mc_files.py +17 -0
  124. package/templates/workspaces/devon/write_heartbeat.py +67 -0
  125. package/templates/workspaces/dylan/.env.example +33 -0
  126. package/templates/workspaces/dylan/00007_verify_licenses_table.sql +100 -0
  127. package/templates/workspaces/dylan/AGENTS.md +52 -0
  128. package/templates/workspaces/dylan/FEEDBACK.md +28 -0
  129. package/templates/workspaces/dylan/HEARTBEAT.md +5 -0
  130. package/templates/workspaces/dylan/IDENTITY.md +6 -0
  131. package/templates/workspaces/dylan/LEARNINGS.md +70 -0
  132. package/templates/workspaces/dylan/MEMORY.md +22 -0
  133. package/templates/workspaces/dylan/PLAYBOOK.md +16 -0
  134. package/templates/workspaces/dylan/SOUL.md +1 -1
  135. package/templates/workspaces/dylan/STRIPE_PIPELINE.md +185 -0
  136. package/templates/workspaces/dylan/USER.md +17 -0
  137. package/templates/workspaces/dylan/n8n-stripe-welcome-workflow.json +123 -0
  138. package/templates/workspaces/dylan/skills/claude-code/SKILL.md +38 -0
  139. package/templates/workspaces/dylan/skills/claude-code/claude_code +55 -0
  140. package/templates/workspaces/dylan/stripe-webhook-handler.py +433 -0
  141. package/templates/workspaces/dylan/test_mock_webhook.py +103 -0
  142. package/templates/workspaces/elena/AGENTS.md +59 -0
  143. package/templates/workspaces/elena/FEEDBACK.md +11 -0
  144. package/templates/workspaces/elena/HEARTBEAT.md +9 -0
  145. package/templates/workspaces/elena/IDENTITY.md +6 -0
  146. package/templates/workspaces/elena/LEARNINGS.md +5 -0
  147. package/templates/workspaces/elena/MEMORY.md +22 -0
  148. package/templates/workspaces/elena/PLAYBOOK.md +16 -0
  149. package/templates/workspaces/elena/SOUL.md +1 -1
  150. package/templates/workspaces/elena/TOOLS.md +15 -0
  151. package/templates/workspaces/elena/USER.md +13 -0
  152. package/templates/workspaces/eva/AGENTS.md +59 -0
  153. package/templates/workspaces/eva/FEEDBACK.md +11 -0
  154. package/templates/workspaces/eva/HEARTBEAT.md +9 -0
  155. package/templates/workspaces/eva/IDENTITY.md +6 -0
  156. package/templates/workspaces/eva/LEARNINGS.md +5 -0
  157. package/templates/workspaces/eva/MEMORY.md +22 -0
  158. package/templates/workspaces/eva/PLAYBOOK.md +16 -0
  159. package/templates/workspaces/eva/SOUL.md +1 -1
  160. package/templates/workspaces/eva/TOOLS.md +15 -0
  161. package/templates/workspaces/eva/USER.md +13 -0
  162. package/templates/workspaces/felix/AGENTS.md +52 -0
  163. package/templates/workspaces/felix/FEEDBACK.md +11 -0
  164. package/templates/workspaces/felix/HEARTBEAT.md +5 -0
  165. package/templates/workspaces/felix/IDENTITY.md +6 -0
  166. package/templates/workspaces/felix/LEARNINGS.md +17 -0
  167. package/templates/workspaces/felix/MEMORY.md +22 -0
  168. package/templates/workspaces/felix/PLAYBOOK.md +16 -0
  169. package/templates/workspaces/felix/SOUL.md +1 -1
  170. package/templates/workspaces/felix/USER.md +13 -0
  171. package/templates/workspaces/felix/fidelia-psychology.html +1594 -0
  172. package/templates/workspaces/felix/task.txt +164 -0
  173. package/templates/workspaces/hannah/AGENTS.md +59 -0
  174. package/templates/workspaces/hannah/FEEDBACK.md +12 -0
  175. package/templates/workspaces/hannah/HEARTBEAT.md +5 -0
  176. package/templates/workspaces/hannah/IDENTITY.md +6 -0
  177. package/templates/workspaces/hannah/LEARNINGS.md +6 -0
  178. package/templates/workspaces/hannah/MEMORY.md +22 -0
  179. package/templates/workspaces/hannah/PLAYBOOK.md +16 -0
  180. package/templates/workspaces/hannah/SOUL.md +1 -1
  181. package/templates/workspaces/hannah/TOOLS.md +15 -0
  182. package/templates/workspaces/hannah/USER.md +17 -0
  183. package/templates/workspaces/isaac/AGENTS.md +52 -0
  184. package/templates/workspaces/isaac/FEEDBACK.md +12 -0
  185. package/templates/workspaces/isaac/HEARTBEAT.md +9 -0
  186. package/templates/workspaces/isaac/IDENTITY.md +6 -0
  187. package/templates/workspaces/isaac/LEARNINGS.md +6 -0
  188. package/templates/workspaces/isaac/MEMORY.md +22 -0
  189. package/templates/workspaces/isaac/PLAYBOOK.md +16 -0
  190. package/templates/workspaces/isaac/SOUL.md +1 -1
  191. package/templates/workspaces/isaac/USER.md +17 -0
  192. package/templates/workspaces/isaac/skills/claude-code/SKILL.md +38 -0
  193. package/templates/workspaces/isaac/skills/claude-code/claude_code +55 -0
  194. package/templates/workspaces/logan/AGENTS.md +59 -0
  195. package/templates/workspaces/logan/FEEDBACK.md +11 -0
  196. package/templates/workspaces/logan/HEARTBEAT.md +9 -0
  197. package/templates/workspaces/logan/IDENTITY.md +6 -0
  198. package/templates/workspaces/logan/LEARNINGS.md +5 -0
  199. package/templates/workspaces/logan/MEMORY.md +22 -0
  200. package/templates/workspaces/logan/PLAYBOOK.md +16 -0
  201. package/templates/workspaces/logan/SOUL.md +1 -1
  202. package/templates/workspaces/logan/TOOLS.md +15 -0
  203. package/templates/workspaces/logan/USER.md +13 -0
  204. package/templates/workspaces/maxxipro/AGENTS.md +29 -0
  205. package/templates/workspaces/maxxipro/FEEDBACK.md +19 -0
  206. package/templates/workspaces/maxxipro/HEARTBEAT.md +22 -0
  207. package/templates/workspaces/maxxipro/IDENTITY.md +35 -0
  208. package/templates/workspaces/maxxipro/KNOWLEDGE.md +335 -0
  209. package/templates/workspaces/maxxipro/LEARNINGS.md +47 -0
  210. package/templates/workspaces/maxxipro/MEMORY.md +60 -0
  211. package/templates/workspaces/maxxipro/OUTREACH_TEMPLATES.md +143 -0
  212. package/templates/workspaces/maxxipro/PLAYBOOK.md +81 -0
  213. package/templates/workspaces/maxxipro/SOUL.md +146 -0
  214. package/templates/workspaces/maxxipro/TOOLS.md +81 -0
  215. package/templates/workspaces/maxxipro/USER.md +40 -0
  216. package/templates/workspaces/morgan/AGENTS.md +59 -0
  217. package/templates/workspaces/morgan/FEEDBACK.md +19 -0
  218. package/templates/workspaces/morgan/HEARTBEAT.md +5 -0
  219. package/templates/workspaces/morgan/IDENTITY.md +6 -0
  220. package/templates/workspaces/morgan/LEARNINGS.md +18 -0
  221. package/templates/workspaces/morgan/MEMORY.md +22 -0
  222. package/templates/workspaces/morgan/PLAYBOOK.md +16 -0
  223. package/templates/workspaces/morgan/SOUL.md +1 -1
  224. package/templates/workspaces/morgan/TOOLS.md +15 -0
  225. package/templates/workspaces/morgan/USER.md +13 -0
  226. package/templates/workspaces/nadia/AGENTS.md +59 -0
  227. package/templates/workspaces/nadia/FEEDBACK.md +12 -0
  228. package/templates/workspaces/nadia/HEARTBEAT.md +5 -0
  229. package/templates/workspaces/nadia/IDENTITY.md +6 -0
  230. package/templates/workspaces/nadia/LEARNINGS.md +6 -0
  231. package/templates/workspaces/nadia/MEMORY.md +22 -0
  232. package/templates/workspaces/nadia/PLAYBOOK.md +16 -0
  233. package/templates/workspaces/nadia/SOUL.md +1 -1
  234. package/templates/workspaces/nadia/TOOLS.md +15 -0
  235. package/templates/workspaces/nadia/USER.md +13 -0
  236. package/templates/workspaces/nate/AGENTS.md +24 -0
  237. package/templates/workspaces/nate/FEEDBACK.md +12 -0
  238. package/templates/workspaces/nate/HEARTBEAT.md +33 -0
  239. package/templates/workspaces/nate/IDENTITY.md +15 -0
  240. package/templates/workspaces/nate/LEARNINGS.md +33 -0
  241. package/templates/workspaces/nate/MEMORY.md +39 -0
  242. package/templates/workspaces/nate/PLAYBOOK.md +160 -0
  243. package/templates/workspaces/nate/SOUL.md +50 -0
  244. package/templates/workspaces/nate/TOOLS.md +111 -0
  245. package/templates/workspaces/nate/USER.md +32 -0
  246. package/templates/workspaces/olivia/.last-openclaw-version +1 -0
  247. package/templates/workspaces/olivia/.npmrc.tmp +0 -0
  248. package/templates/workspaces/olivia/AGENTS.md +77 -0
  249. package/templates/workspaces/olivia/ALPHA_CODING_BENCHMARK.txt +148 -0
  250. package/templates/workspaces/olivia/ALPHA_MODEL_GUIDE.md +393 -0
  251. package/templates/workspaces/olivia/FEEDBACK.md +13 -0
  252. package/templates/workspaces/olivia/HEADTOHEAD_BENCHMARK.txt +1289 -0
  253. package/templates/workspaces/olivia/HEARTBEAT.md +267 -0
  254. package/templates/workspaces/olivia/IDENTITY.md +6 -0
  255. package/templates/workspaces/olivia/LEARNINGS.md +708 -0
  256. package/templates/workspaces/olivia/MEMORY.md +202 -0
  257. package/templates/workspaces/olivia/MISSION_CONTROL_DESIGN_SPEC_v1.md +1143 -0
  258. package/templates/workspaces/olivia/MVP-COMPLETION-SUMMARY.md +175 -0
  259. package/templates/workspaces/olivia/NETWORK_IMPLEMENTATION_PLAN.md +1556 -0
  260. package/templates/workspaces/olivia/NEW_NODES_BENCHMARK.txt +947 -0
  261. package/templates/workspaces/olivia/PLAYBOOK.md +42 -0
  262. package/templates/workspaces/olivia/SELF-HEALING-COMPLETE.md +150 -0
  263. package/templates/workspaces/olivia/SOUL.md +8 -8
  264. package/templates/workspaces/olivia/TOOLS.md +15 -0
  265. package/templates/workspaces/olivia/USER.md +17 -0
  266. package/templates/workspaces/olivia/alicefleet-supabase-credentials.md +50 -0
  267. package/templates/workspaces/olivia/dzombo-copy-rewrite.md +115 -0
  268. package/templates/workspaces/olivia/dzombo-implementation-plan.md +1248 -0
  269. package/templates/workspaces/olivia/fidelia-psychology.html +1594 -0
  270. package/templates/workspaces/olivia/lead_debug.png +0 -0
  271. package/templates/workspaces/olivia/minimatch-10.2.4.tgz +0 -0
  272. package/templates/workspaces/olivia/operation-bllm-research.md +157 -0
  273. package/templates/workspaces/olivia/qa-audit-mission-control-v2.md +538 -0
  274. package/templates/workspaces/olivia/roofmaxx_logo.svg +1 -0
  275. package/templates/workspaces/olivia/roofmaxx_social.jpg +0 -0
  276. package/templates/workspaces/olivia/skills/1password/SKILL.md +53 -0
  277. package/templates/workspaces/olivia/skills/1password/_meta.json +6 -0
  278. package/templates/workspaces/olivia/skills/afrexai-recruiting-engine/README.md +57 -0
  279. package/templates/workspaces/olivia/skills/afrexai-recruiting-engine/SKILL.md +534 -0
  280. package/templates/workspaces/olivia/skills/afrexai-recruiting-engine/_meta.json +6 -0
  281. package/templates/workspaces/olivia/skills/agent-security/SKILL.md +69 -0
  282. package/templates/workspaces/olivia/skills/agent-security/_meta.json +6 -0
  283. package/templates/workspaces/olivia/skills/agentic-security-audit/SKILL.md +855 -0
  284. package/templates/workspaces/olivia/skills/agentic-security-audit/_meta.json +6 -0
  285. package/templates/workspaces/olivia/skills/ai-automation-consulting/SKILL.md +67 -0
  286. package/templates/workspaces/olivia/skills/ai-automation-consulting/_meta.json +6 -0
  287. package/templates/workspaces/olivia/skills/ai-automation-consulting/skill.json +12 -0
  288. package/templates/workspaces/olivia/skills/ai-presentation-maker/SKILL.md +1104 -0
  289. package/templates/workspaces/olivia/skills/ai-presentation-maker/_meta.json +6 -0
  290. package/templates/workspaces/olivia/skills/ai-productivity-audit/SKILL.md +181 -0
  291. package/templates/workspaces/olivia/skills/ai-productivity-audit/_meta.json +6 -0
  292. package/templates/workspaces/olivia/skills/ai-researcher/README.md +31 -0
  293. package/templates/workspaces/olivia/skills/ai-researcher/SKILL.md +59 -0
  294. package/templates/workspaces/olivia/skills/ai-researcher/_meta.json +6 -0
  295. package/templates/workspaces/olivia/skills/ai-seo-writer/README.md +19 -0
  296. package/templates/workspaces/olivia/skills/ai-seo-writer/SKILL.md +100 -0
  297. package/templates/workspaces/olivia/skills/ai-seo-writer/_meta.json +6 -0
  298. package/templates/workspaces/olivia/skills/analytics-tracking-2/SKILL.md +309 -0
  299. package/templates/workspaces/olivia/skills/analytics-tracking-2/_meta.json +6 -0
  300. package/templates/workspaces/olivia/skills/api-doc-writer/SKILL.md +232 -0
  301. package/templates/workspaces/olivia/skills/api-doc-writer/_meta.json +6 -0
  302. package/templates/workspaces/olivia/skills/api-generator/SKILL.md +49 -0
  303. package/templates/workspaces/olivia/skills/api-generator/_meta.json +6 -0
  304. package/templates/workspaces/olivia/skills/api-generator/tips.md +10 -0
  305. package/templates/workspaces/olivia/skills/apple-notes/SKILL.md +50 -0
  306. package/templates/workspaces/olivia/skills/apple-notes/_meta.json +6 -0
  307. package/templates/workspaces/olivia/skills/apple-reminders/SKILL.md +67 -0
  308. package/templates/workspaces/olivia/skills/apple-reminders/_meta.json +6 -0
  309. package/templates/workspaces/olivia/skills/automation-workflows/SKILL.md +267 -0
  310. package/templates/workspaces/olivia/skills/automation-workflows/_meta.json +6 -0
  311. package/templates/workspaces/olivia/skills/autoresearch/SKILL.md +46 -0
  312. package/templates/workspaces/olivia/skills/autoresearch/aria_write.py +148 -0
  313. package/templates/workspaces/olivia/skills/autoresearch/autoresearch.py +75 -0
  314. package/templates/workspaces/olivia/skills/azure-devops/SKILL.md +115 -0
  315. package/templates/workspaces/olivia/skills/azure-devops/_meta.json +6 -0
  316. package/templates/workspaces/olivia/skills/blogwatcher/SKILL.md +46 -0
  317. package/templates/workspaces/olivia/skills/blogwatcher/_meta.json +6 -0
  318. package/templates/workspaces/olivia/skills/blucli/SKILL.md +27 -0
  319. package/templates/workspaces/olivia/skills/blucli/_meta.json +6 -0
  320. package/templates/workspaces/olivia/skills/check-analytics/SKILL.md +92 -0
  321. package/templates/workspaces/olivia/skills/check-analytics/_meta.json +6 -0
  322. package/templates/workspaces/olivia/skills/cloud-architect/SKILL.md +89 -0
  323. package/templates/workspaces/olivia/skills/cloud-architect/_meta.json +6 -0
  324. package/templates/workspaces/olivia/skills/cloud-infra-automation/SKILL.md +50 -0
  325. package/templates/workspaces/olivia/skills/cloud-infra-automation/_meta.json +6 -0
  326. package/templates/workspaces/olivia/skills/cloud-storage/SKILL.md +61 -0
  327. package/templates/workspaces/olivia/skills/cloud-storage/_meta.json +6 -0
  328. package/templates/workspaces/olivia/skills/cloud-storage/auth.md +97 -0
  329. package/templates/workspaces/olivia/skills/cloud-storage/costs.md +88 -0
  330. package/templates/workspaces/olivia/skills/cloud-storage/providers.md +55 -0
  331. package/templates/workspaces/olivia/skills/copywriting-pro/SKILL.md +107 -0
  332. package/templates/workspaces/olivia/skills/copywriting-pro/_meta.json +6 -0
  333. package/templates/workspaces/olivia/skills/data-analyst-pro/SKILL.md +21 -0
  334. package/templates/workspaces/olivia/skills/data-analyst-pro/_meta.json +6 -0
  335. package/templates/workspaces/olivia/skills/database-designer/README.md +388 -0
  336. package/templates/workspaces/olivia/skills/database-designer/SKILL.md +66 -0
  337. package/templates/workspaces/olivia/skills/database-designer/_meta.json +6 -0
  338. package/templates/workspaces/olivia/skills/database-designer/index_optimizer.py +926 -0
  339. package/templates/workspaces/olivia/skills/database-designer/migration_generator.py +1199 -0
  340. package/templates/workspaces/olivia/skills/database-designer/schema_analyzer.py +982 -0
  341. package/templates/workspaces/olivia/skills/deploy-agent/SKILL.md +255 -0
  342. package/templates/workspaces/olivia/skills/deploy-agent/_meta.json +6 -0
  343. package/templates/workspaces/olivia/skills/devops-automation-pack/SKILL.md +72 -0
  344. package/templates/workspaces/olivia/skills/devops-automation-pack/_meta.json +6 -0
  345. package/templates/workspaces/olivia/skills/devops-automation-pack/deploy.sh +0 -0
  346. package/templates/workspaces/olivia/skills/financial-analysis-agent/SKILL.md +489 -0
  347. package/templates/workspaces/olivia/skills/financial-analysis-agent/_meta.json +6 -0
  348. package/templates/workspaces/olivia/skills/gdpr-compliance-tracker/README.md +72 -0
  349. package/templates/workspaces/olivia/skills/gdpr-compliance-tracker/SKILL.md +226 -0
  350. package/templates/workspaces/olivia/skills/gdpr-compliance-tracker/_meta.json +6 -0
  351. package/templates/workspaces/olivia/skills/gifgrep/SKILL.md +47 -0
  352. package/templates/workspaces/olivia/skills/gifgrep/_meta.json +6 -0
  353. package/templates/workspaces/olivia/skills/github/SKILL.md +47 -0
  354. package/templates/workspaces/olivia/skills/github/_meta.json +6 -0
  355. package/templates/workspaces/olivia/skills/gog/SKILL.md +36 -0
  356. package/templates/workspaces/olivia/skills/gog/_meta.json +6 -0
  357. package/templates/workspaces/olivia/skills/growth-strategy-hub/SKILL.md +135 -0
  358. package/templates/workspaces/olivia/skills/growth-strategy-hub/_meta.json +6 -0
  359. package/templates/workspaces/olivia/skills/growth-strategy-hub/metadata.json +4 -0
  360. package/templates/workspaces/olivia/skills/hetzner-cloud/SKILL.md +130 -0
  361. package/templates/workspaces/olivia/skills/hetzner-cloud/_meta.json +6 -0
  362. package/templates/workspaces/olivia/skills/himalaya/SKILL.md +217 -0
  363. package/templates/workspaces/olivia/skills/himalaya/_meta.json +6 -0
  364. package/templates/workspaces/olivia/skills/hotel-recommendation/SKILL.md +117 -0
  365. package/templates/workspaces/olivia/skills/hotel-recommendation/_meta.json +6 -0
  366. package/templates/workspaces/olivia/skills/hr-policy-generator/SKILL.md +54 -0
  367. package/templates/workspaces/olivia/skills/hr-policy-generator/_meta.json +6 -0
  368. package/templates/workspaces/olivia/skills/human-writing/SKILL.md +41 -0
  369. package/templates/workspaces/olivia/skills/human-writing/_meta.json +6 -0
  370. package/templates/workspaces/olivia/skills/imsg/SKILL.md +25 -0
  371. package/templates/workspaces/olivia/skills/imsg/_meta.json +6 -0
  372. package/templates/workspaces/olivia/skills/in-depth-research/SKILL.md +124 -0
  373. package/templates/workspaces/olivia/skills/in-depth-research/_meta.json +6 -0
  374. package/templates/workspaces/olivia/skills/in-depth-research/methodology.md +75 -0
  375. package/templates/workspaces/olivia/skills/in-depth-research/output-formats.md +168 -0
  376. package/templates/workspaces/olivia/skills/in-depth-research/sources.md +80 -0
  377. package/templates/workspaces/olivia/skills/javascript-skills/README.md +71 -0
  378. package/templates/workspaces/olivia/skills/javascript-skills/SKILL.md +746 -0
  379. package/templates/workspaces/olivia/skills/javascript-skills/_meta.json +6 -0
  380. package/templates/workspaces/olivia/skills/leadership-strategy-playbook/SKILL.md +147 -0
  381. package/templates/workspaces/olivia/skills/leadership-strategy-playbook/_meta.json +6 -0
  382. package/templates/workspaces/olivia/skills/market-research-agent/README.md +29 -0
  383. package/templates/workspaces/olivia/skills/market-research-agent/SKILL.md +52 -0
  384. package/templates/workspaces/olivia/skills/market-research-agent/_meta.json +6 -0
  385. package/templates/workspaces/olivia/skills/marketing-analytics/SKILL.md +74 -0
  386. package/templates/workspaces/olivia/skills/marketing-analytics/_meta.json +6 -0
  387. package/templates/workspaces/olivia/skills/marketing-master-io/SKILL.md +125 -0
  388. package/templates/workspaces/olivia/skills/marketing-master-io/_meta.json +6 -0
  389. package/templates/workspaces/olivia/skills/marketing-strategy-pmm/SKILL.md +398 -0
  390. package/templates/workspaces/olivia/skills/marketing-strategy-pmm/_meta.json +6 -0
  391. package/templates/workspaces/olivia/skills/meta-ads-analytics/SKILL.md +53 -0
  392. package/templates/workspaces/olivia/skills/meta-ads-analytics/_meta.json +6 -0
  393. package/templates/workspaces/olivia/skills/obsidian/SKILL.md +55 -0
  394. package/templates/workspaces/olivia/skills/obsidian/_meta.json +6 -0
  395. package/templates/workspaces/olivia/skills/openclaw-accounting/SKILL.md +125 -0
  396. package/templates/workspaces/olivia/skills/openclaw-accounting/_meta.json +6 -0
  397. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/CHANGELOG.md +35 -0
  398. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/CHANNELLOG.md +73 -0
  399. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/README.md +161 -0
  400. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/SKILL.md +130 -0
  401. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/_meta.json +6 -0
  402. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/config.json +36 -0
  403. package/templates/workspaces/olivia/skills/openclaw-security-toolkit/metadata.json +19 -0
  404. package/templates/workspaces/olivia/skills/openhue/SKILL.md +30 -0
  405. package/templates/workspaces/olivia/skills/openhue/_meta.json +6 -0
  406. package/templates/workspaces/olivia/skills/orgx-operations-agent/SKILL.md +41 -0
  407. package/templates/workspaces/olivia/skills/orgx-operations-agent/_meta.json +6 -0
  408. package/templates/workspaces/olivia/skills/outreach/SKILL.md +84 -0
  409. package/templates/workspaces/olivia/skills/outreach/_meta.json +6 -0
  410. package/templates/workspaces/olivia/skills/outreach/by-type.md +166 -0
  411. package/templates/workspaces/olivia/skills/outreach/templates.md +154 -0
  412. package/templates/workspaces/olivia/skills/outreach/tracking.md +145 -0
  413. package/templates/workspaces/olivia/skills/persona-hr-coordinator/SKILL.md +38 -0
  414. package/templates/workspaces/olivia/skills/persona-hr-coordinator/_meta.json +6 -0
  415. package/templates/workspaces/olivia/skills/personal-productivity/SKILL.md +161 -0
  416. package/templates/workspaces/olivia/skills/personal-productivity/_meta.json +6 -0
  417. package/templates/workspaces/olivia/skills/personal-productivity/index.js +363 -0
  418. package/templates/workspaces/olivia/skills/personal-productivity/package.json +15 -0
  419. package/templates/workspaces/olivia/skills/personal-travel/README.md +34 -0
  420. package/templates/workspaces/olivia/skills/personal-travel/SKILL.md +46 -0
  421. package/templates/workspaces/olivia/skills/personal-travel/_meta.json +6 -0
  422. package/templates/workspaces/olivia/skills/presentation-html-generator-skill/SKILL.md +185 -0
  423. package/templates/workspaces/olivia/skills/presentation-html-generator-skill/_meta.json +6 -0
  424. package/templates/workspaces/olivia/skills/product-manager/SKILL.md +77 -0
  425. package/templates/workspaces/olivia/skills/product-manager/_meta.json +6 -0
  426. package/templates/workspaces/olivia/skills/quant-strategy/SKILL.md +28 -0
  427. package/templates/workspaces/olivia/skills/quant-strategy/_meta.json +6 -0
  428. package/templates/workspaces/olivia/skills/sales-pipeline-tracker/README.md +29 -0
  429. package/templates/workspaces/olivia/skills/sales-pipeline-tracker/SKILL.md +45 -0
  430. package/templates/workspaces/olivia/skills/sales-pipeline-tracker/_meta.json +6 -0
  431. package/templates/workspaces/olivia/skills/security-auditor/SKILL.md +399 -0
  432. package/templates/workspaces/olivia/skills/security-auditor/_meta.json +6 -0
  433. package/templates/workspaces/olivia/skills/security-hardening/SKILL.md +296 -0
  434. package/templates/workspaces/olivia/skills/security-hardening/_meta.json +6 -0
  435. package/templates/workspaces/olivia/skills/security-scanner/SKILL.md +67 -0
  436. package/templates/workspaces/olivia/skills/security-scanner/_meta.json +6 -0
  437. package/templates/workspaces/olivia/skills/seo-optimization/SKILL.md +31 -0
  438. package/templates/workspaces/olivia/skills/seo-optimization/_meta.json +6 -0
  439. package/templates/workspaces/olivia/skills/service-booking/SKILL.md +193 -0
  440. package/templates/workspaces/olivia/skills/service-booking/_meta.json +6 -0
  441. package/templates/workspaces/olivia/skills/sme-hr-automation/SKILL.md +131 -0
  442. package/templates/workspaces/olivia/skills/sme-hr-automation/_meta.json +6 -0
  443. package/templates/workspaces/olivia/skills/social-media-scheduler/README.md +29 -0
  444. package/templates/workspaces/olivia/skills/social-media-scheduler/SKILL.md +49 -0
  445. package/templates/workspaces/olivia/skills/social-media-scheduler/_meta.json +6 -0
  446. package/templates/workspaces/olivia/skills/sonoscli/SKILL.md +26 -0
  447. package/templates/workspaces/olivia/skills/sonoscli/_meta.json +6 -0
  448. package/templates/workspaces/olivia/skills/strategy-advisor/SKILL.md +33 -0
  449. package/templates/workspaces/olivia/skills/strategy-advisor/_meta.json +6 -0
  450. package/templates/workspaces/olivia/skills/summarize/SKILL.md +49 -0
  451. package/templates/workspaces/olivia/skills/summarize/_meta.json +6 -0
  452. package/templates/workspaces/olivia/skills/things-mac/SKILL.md +61 -0
  453. package/templates/workspaces/olivia/skills/things-mac/_meta.json +6 -0
  454. package/templates/workspaces/olivia/skills/travel-itinerary-planner/SKILL.md +121 -0
  455. package/templates/workspaces/olivia/skills/travel-itinerary-planner/_meta.json +6 -0
  456. package/templates/workspaces/olivia/skills/travel-manager/SKILL.md +36 -0
  457. package/templates/workspaces/olivia/skills/travel-manager/_meta.json +6 -0
  458. package/templates/workspaces/olivia/skills/travel-planning/SKILL.md +238 -0
  459. package/templates/workspaces/olivia/skills/travel-planning/_meta.json +6 -0
  460. package/templates/workspaces/olivia/skills/travel-planning/booking-guide.md +91 -0
  461. package/templates/workspaces/olivia/skills/travel-planning/memory-template.md +111 -0
  462. package/templates/workspaces/olivia/skills/travel-planning/multi-city.md +131 -0
  463. package/templates/workspaces/olivia/skills/travel-planning/packing-templates.md +155 -0
  464. package/templates/workspaces/olivia/skills/travel-planning/setup.md +66 -0
  465. package/templates/workspaces/olivia/skills/update-it-all/SKILL.md +143 -0
  466. package/templates/workspaces/olivia/skills/update-it-all/_meta.json +6 -0
  467. package/templates/workspaces/olivia/skills/voice/SKILL.md +62 -0
  468. package/templates/workspaces/olivia/skills/weather/SKILL.md +49 -0
  469. package/templates/workspaces/olivia/skills/weather/_meta.json +6 -0
  470. package/templates/workspaces/olivia/skills/web-researcher/SKILL.md +21 -0
  471. package/templates/workspaces/olivia/skills/web-researcher/_meta.json +6 -0
  472. package/templates/workspaces/olivia/skills/website-seo/SKILL.md +284 -0
  473. package/templates/workspaces/olivia/skills/website-seo/_meta.json +6 -0
  474. package/templates/workspaces/olivia/stripe-welcome-n8n.json +103 -0
  475. package/templates/workspaces/olivia/test2.wav.wav +0 -0
  476. package/templates/workspaces/olivia/test_speech.json +1 -0
  477. package/templates/workspaces/olivia/test_speech.srt +0 -0
  478. package/templates/workspaces/olivia/test_speech.tsv +1 -0
  479. package/templates/workspaces/olivia/test_speech.txt +0 -0
  480. package/templates/workspaces/olivia/test_speech.vtt +2 -0
  481. package/templates/workspaces/owen/AGENTS.md +59 -0
  482. package/templates/workspaces/owen/FEEDBACK.md +12 -0
  483. package/templates/workspaces/owen/HEARTBEAT.md +5 -0
  484. package/templates/workspaces/owen/IDENTITY.md +6 -0
  485. package/templates/workspaces/owen/LEARNINGS.md +46 -0
  486. package/templates/workspaces/owen/MEMORY.md +22 -0
  487. package/templates/workspaces/owen/PLAYBOOK.md +16 -0
  488. package/templates/workspaces/owen/SOUL.md +1 -1
  489. package/templates/workspaces/owen/TOOLS.md +15 -0
  490. package/templates/workspaces/owen/USER.md +17 -0
  491. package/templates/workspaces/parker/AGENTS.md +59 -0
  492. package/templates/workspaces/parker/FEEDBACK.md +11 -0
  493. package/templates/workspaces/parker/HEARTBEAT.md +5 -0
  494. package/templates/workspaces/parker/IDENTITY.md +6 -0
  495. package/templates/workspaces/parker/LEARNINGS.md +17 -0
  496. package/templates/workspaces/parker/MEMORY.md +22 -0
  497. package/templates/workspaces/parker/PLAYBOOK.md +16 -0
  498. package/templates/workspaces/parker/SOUL.md +1 -1
  499. package/templates/workspaces/parker/TOOLS.md +15 -0
  500. package/templates/workspaces/parker/USER.md +13 -0
  501. package/templates/workspaces/quinn/AGENTS.md +52 -0
  502. package/templates/workspaces/quinn/FEEDBACK.md +11 -0
  503. package/templates/workspaces/quinn/HEARTBEAT.md +5 -0
  504. package/templates/workspaces/quinn/IDENTITY.md +6 -0
  505. package/templates/workspaces/quinn/LEARNINGS.md +35 -0
  506. package/templates/workspaces/quinn/MEMORY.md +22 -0
  507. package/templates/workspaces/quinn/PLAYBOOK.md +16 -0
  508. package/templates/workspaces/quinn/SOUL.md +1 -1
  509. package/templates/workspaces/quinn/USER.md +17 -0
  510. package/templates/workspaces/quinn/alice-login-page.png +0 -0
  511. package/templates/workspaces/rowan/AGENTS.md +59 -0
  512. package/templates/workspaces/rowan/FEEDBACK.md +12 -0
  513. package/templates/workspaces/rowan/HEARTBEAT.md +5 -0
  514. package/templates/workspaces/rowan/IDENTITY.md +6 -0
  515. package/templates/workspaces/rowan/LEARNINGS.md +12 -0
  516. package/templates/workspaces/rowan/MEMORY.md +22 -0
  517. package/templates/workspaces/rowan/PLAYBOOK.md +16 -0
  518. package/templates/workspaces/rowan/SOUL.md +1 -1
  519. package/templates/workspaces/rowan/USER.md +17 -0
  520. package/templates/workspaces/selena/AGENTS.md +59 -0
  521. package/templates/workspaces/selena/FEEDBACK.md +12 -0
  522. package/templates/workspaces/selena/HEARTBEAT.md +5 -0
  523. package/templates/workspaces/selena/IDENTITY.md +6 -0
  524. package/templates/workspaces/selena/LEARNINGS.md +24 -0
  525. package/templates/workspaces/selena/MEMORY.md +22 -0
  526. package/templates/workspaces/selena/PLAYBOOK.md +16 -0
  527. package/templates/workspaces/selena/SOUL.md +1 -1
  528. package/templates/workspaces/selena/USER.md +17 -0
  529. package/templates/workspaces/selena/kids-ai-security-compliance-plan.md +791 -0
  530. package/templates/workspaces/selena/kidspark-coppa-compliance-audit.md +866 -0
  531. package/templates/workspaces/sloane/AGENTS.md +59 -0
  532. package/templates/workspaces/sloane/FEEDBACK.md +12 -0
  533. package/templates/workspaces/sloane/HEARTBEAT.md +9 -0
  534. package/templates/workspaces/sloane/IDENTITY.md +6 -0
  535. package/templates/workspaces/sloane/LEARNINGS.md +6 -0
  536. package/templates/workspaces/sloane/MEMORY.md +22 -0
  537. package/templates/workspaces/sloane/PLAYBOOK.md +16 -0
  538. package/templates/workspaces/sloane/SOUL.md +1 -1
  539. package/templates/workspaces/sloane/TOOLS.md +15 -0
  540. package/templates/workspaces/sloane/USER.md +13 -0
  541. package/templates/workspaces/smoketestagent/AGENTS.md +52 -0
  542. package/templates/workspaces/smoketestagent/FEEDBACK.md +3 -0
  543. package/templates/workspaces/smoketestagent/HEARTBEAT.md +14 -0
  544. package/templates/workspaces/smoketestagent/IDENTITY.md +6 -0
  545. package/templates/workspaces/smoketestagent/LEARNINGS.md +3 -0
  546. package/templates/workspaces/smoketestagent/MEMORY.md +24 -0
  547. package/templates/workspaces/smoketestagent/PLAYBOOK.md +7 -0
  548. package/templates/workspaces/smoketestagent/SOUL.md +32 -0
  549. package/templates/workspaces/smoketestagent/TOOLS.md +13 -0
  550. package/templates/workspaces/smoketestagent/USER.md +5 -0
  551. package/templates/workspaces/sophie/AGENTS.md +59 -0
  552. package/templates/workspaces/sophie/FEEDBACK.md +12 -0
  553. package/templates/workspaces/sophie/HEARTBEAT.md +9 -0
  554. package/templates/workspaces/sophie/IDENTITY.md +6 -0
  555. package/templates/workspaces/sophie/LEARNINGS.md +6 -0
  556. package/templates/workspaces/sophie/MEMORY.md +22 -0
  557. package/templates/workspaces/sophie/PLAYBOOK.md +16 -0
  558. package/templates/workspaces/sophie/SOUL.md +1 -1
  559. package/templates/workspaces/sophie/TOOLS.md +15 -0
  560. package/templates/workspaces/sophie/USER.md +17 -0
  561. package/templates/workspaces/tommy/AGENTS.md +59 -0
  562. package/templates/workspaces/tommy/FEEDBACK.md +12 -0
  563. package/templates/workspaces/tommy/HEARTBEAT.md +9 -0
  564. package/templates/workspaces/tommy/IDENTITY.md +6 -0
  565. package/templates/workspaces/tommy/LEARNINGS.md +6 -0
  566. package/templates/workspaces/tommy/MEMORY.md +22 -0
  567. package/templates/workspaces/tommy/PLAYBOOK.md +16 -0
  568. package/templates/workspaces/tommy/SOUL.md +1 -1
  569. package/templates/workspaces/tommy/TOOLS.md +15 -0
  570. package/templates/workspaces/tommy/USER.md +17 -0
  571. package/templates/workspaces/uma/AGENTS.md +59 -0
  572. package/templates/workspaces/uma/FEEDBACK.md +11 -0
  573. package/templates/workspaces/uma/HEARTBEAT.md +5 -0
  574. package/templates/workspaces/uma/IDENTITY.md +6 -0
  575. package/templates/workspaces/uma/LEARNINGS.md +11 -0
  576. package/templates/workspaces/uma/MEMORY.md +22 -0
  577. package/templates/workspaces/uma/PLAYBOOK.md +16 -0
  578. package/templates/workspaces/uma/SOUL.md +1 -1
  579. package/templates/workspaces/uma/TOOLS.md +15 -0
  580. package/templates/workspaces/uma/USER.md +13 -0
@@ -0,0 +1,22 @@
1
+ # MEMORY.md — Dylan
2
+
3
+ > Persistent memory for Dylan, Development specialist.
4
+ > This file is yours — add notes, context, and learnings that should persist across sessions.
5
+
6
+ ## Identity
7
+
8
+ - **Name:** Dylan
9
+ - **Domain:** Development
10
+ - **Team:** A.L.I.C.E.
11
+
12
+ ## Active Projects
13
+
14
+ <!-- Add ongoing projects and their current status here -->
15
+
16
+ ## Key Notes
17
+
18
+ <!-- Jot down anything important to remember across sessions -->
19
+
20
+ ## Decisions Made
21
+
22
+ <!-- Record significant decisions and their rationale -->
@@ -0,0 +1,16 @@
1
+ # PLAYBOOK.md — Evolved Domain Expertise
2
+
3
+ _This file is your accumulated wisdom. Olivia curates it from your LEARNINGS.md and FEEDBACK.md._
4
+ _Consult this before starting any task. It contains proven patterns, anti-patterns, and preferences._
5
+
6
+ ## Patterns
7
+
8
+ _Nothing yet — complete tasks and reflect to build your playbook._
9
+
10
+ ## Anti-Patterns
11
+
12
+ _Approaches to avoid, learned from experience._
13
+
14
+ ## Preferences
15
+
16
+ _User preferences and standards relevant to your domain._
@@ -23,7 +23,7 @@ _You are Dylan, part of the A.L.I.C.E. multi-agent team._
23
23
 
24
24
  ## Boundaries
25
25
 
26
- - You do NOT talk to {{userName}} directly — A.L.I.C.E. handles that
26
+ - You do NOT talk to Rob directly — A.L.I.C.E. handles that
27
27
  - When a task needs security review, flag it for Selena
28
28
  - When a task needs deployment, flag it for Devon
29
29
  - When a task needs testing, flag it for Quinn
@@ -0,0 +1,185 @@
1
+ # STRIPE_PIPELINE.md — Client Purchase Pipeline Spec
2
+
3
+ **Author:** Dylan (Backend/Data)
4
+ **Date:** 2026-03-24
5
+ **Status:** Built and deployed — needs Rob's API keys to activate
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ End-to-end flow for converting a Stripe checkout into a live A.L.I.C.E. license.
12
+
13
+ ```
14
+ Buyer clicks "Buy Pro" → Stripe Checkout → webhook → license + team tokens → welcome email
15
+ ```
16
+
17
+ ---
18
+
19
+ ## What Already Exists
20
+
21
+ | Component | Location | Status |
22
+ |---|---|---|
23
+ | Stripe checkout session creator | `app/api/stripe/checkout/route.ts` (Vercel) | ✅ Live on Vercel |
24
+ | Stripe webhook handler (Node.js) | `app/api/stripe/webhook/route.ts` (Vercel) | ✅ Live on Vercel |
25
+ | License key generation | `lib/license-fulfillment.ts` (Vercel) | ✅ Live — `ALICE-XXXX-XXXX-XXXX` format |
26
+ | License table schema | `supabase/migrations/00006_licenses.sql` | ✅ Created |
27
+ | Resend email (license delivery) | Inline in webhook route | ✅ Live on Vercel |
28
+ | Success redirect page | `/signup/success?session_id={CHECKOUT_SESSION_ID}` | ✅ Live |
29
+ | Teams + team_tokens provisioning | Inline in webhook route | ✅ Live on Vercel |
30
+
31
+ ### Vercel Webhook Handler Logic (current)
32
+ 1. Validates Stripe signature
33
+ 2. Deduplicates on `stripe_session_id`
34
+ 3. Inserts into `licenses` table
35
+ 4. Provisions team + `mc_ingest_*` / `mc_worker_*` tokens
36
+ 5. Sends license email via Resend (`hello@av3.ai`)
37
+
38
+ ### `licenses` Table Schema
39
+ ```sql
40
+ CREATE TABLE IF NOT EXISTS licenses (
41
+ id TEXT PRIMARY KEY DEFAULT 'lic-' || substr(md5(random()::text), 1, 12),
42
+ key TEXT NOT NULL UNIQUE DEFAULT 'ALICE-' || upper(substr(md5(random()::text), 1, 4))
43
+ || '-' || upper(substr(md5(random()::text), 1, 4))
44
+ || '-' || upper(substr(md5(random()::text), 1, 4)),
45
+ email TEXT NOT NULL,
46
+ plan TEXT NOT NULL DEFAULT 'pro',
47
+ stripe_session_id TEXT,
48
+ stripe_customer_id TEXT,
49
+ purchased_at TIMESTAMPTZ NOT NULL DEFAULT now(),
50
+ revoked BOOLEAN NOT NULL DEFAULT false,
51
+ revoked_at TIMESTAMPTZ,
52
+ metadata JSONB DEFAULT '{}'
53
+ );
54
+ -- indexes on key, email, stripe_session_id
55
+ ```
56
+
57
+ ---
58
+
59
+ ## What's Missing
60
+
61
+ ### 1. Ubuntu Desktop Webhook Handler ✅ DONE
62
+ **File:** `~/alice-observability/stripe-webhook-handler.py`
63
+
64
+ Deployed to Ubuntu Desktop. This Python version:
65
+ - Runs as a Flask app on port 5001
66
+ - Handles `checkout.session.completed` (validates Stripe signature)
67
+ - Generates license key: `ALICE-XXXX-XXXX-XXXX`
68
+ - Inserts into Supabase `licenses` table (deduplication by `stripe_session_id`)
69
+ - Provisions team + `mc_ingest_*` / `mc_worker_*` tokens in `teams` + `team_tokens` tables
70
+ - Triggers n8n welcome email workflow at `http://100.106.110.119:5678/webhook/stripe-checkout-completed`
71
+ - Also has a `/test/mock-webhook` endpoint for local testing (no Stripe signature required)
72
+ - Dependencies installed: `stripe`, `supabase`, `flask`, `requests`
73
+ - Syntax verified ✅ — starts and fails gracefully with clear message when `.env` not configured
74
+
75
+ ### 2. n8n Welcome Email Workflow ✅ DONE
76
+ **File:** `n8n-stripe-welcome-workflow.json` (workspace) + live in n8n (ID: `AmpbnxucPsjcAGFP`)
77
+
78
+ - Webhook trigger: `POST /webhook/stripe-checkout-completed` ✅ (active)
79
+ - Parses payload: extracts `license_key`, `email`, `plan`, `ingest_token`, `worker_token`
80
+ - Validates email is non-empty (if branch)
81
+ - Sends styled HTML welcome email via Resend API (`hello@av3.ai`)
82
+ - Uses welcome email template from `workspace-olivia/onboarding/welcome-email.html`
83
+ - Variables rendered: `{{ $json.licenseKey }}`, `{{ $json.aliceCloudToken }}`, `{{ $json.activationCmd }}`
84
+ - Retry logic: 3 tries with 2s delay
85
+ - Import method: n8n REST API (`POST /api/v1/workflows`)
86
+ - **Requires:** `RESEND_API_KEY` env var in n8n (`{{ $env.RESEND_API_KEY }}`)
87
+
88
+ ### 3. Environment Variables on Ubuntu Desktop
89
+ File: `~/alice-observability/.env`
90
+
91
+ ```
92
+ STRIPE_WEBHOOK_SECRET=whsec_... # Rob needs to provide
93
+ SUPABASE_URL=https://tfodkdtknoaodavakajg.supabase.co
94
+ SUPABASE_SERVICE_ROLE_KEY=eyJ... # Rob needs to provide
95
+ N8N_WEBHOOK_URL=http://100.106.110.119:5678/webhook/stripe-checkout-completed
96
+ RESEND_API_KEY=re_... # Rob needs to provide
97
+ FLASK_PORT=5001
98
+ ```
99
+
100
+ ### 4. Stripe Webhook Reconfiguration
101
+ The Stripe webhook in the Stripe Dashboard needs to point to:
102
+ - `POST https://getalice.av3.ai/api/stripe/webhook` (Vercel — currently registered)
103
+ - OR `POST http://100.106.110.119:5001/webhook/stripe` (Ubuntu Desktop — if preferred)
104
+ - The NAT issue (port 5678 not reachable from internet) does NOT affect port 5001 unless that too is NAT-blocked
105
+
106
+ ---
107
+
108
+ ## Full Purchase Flow (with new components)
109
+
110
+ ```
111
+ 1. User → POST /api/stripe/checkout { plan: "pro" }
112
+ → Vercel → Stripe API → redirect to Stripe Checkout
113
+
114
+ 2. User pays on Stripe Checkout
115
+
116
+ 3. Stripe → POST /api/stripe/webhook (Vercel)
117
+ OR: Stripe → POST :5001/webhook/stripe (Ubuntu Desktop Python handler)
118
+ ↓ (both handlers do the same thing)
119
+ a. Validate Stripe signature
120
+ b. Check stripe_session_id for deduplication
121
+ c. Generate license key: ALICE-XXXX-XXXX-XXXX
122
+ d. Insert into Supabase licenses table
123
+ e. Provision team + ingest/worker tokens
124
+ f. Send license email via Resend (Vercel handler)
125
+ OR: POST to n8n /webhook/stripe-checkout-completed (Python handler)
126
+ g. n8n workflow fires → sends styled welcome email
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Supabase Tables Used
132
+
133
+ | Table | Purpose |
134
+ |---|---|
135
+ | `licenses` | License key per purchase |
136
+ | `teams` | Team provisioned per customer |
137
+ | `team_tokens` | Mission Control ingest/worker tokens |
138
+
139
+ ---
140
+
141
+ ## Rob's API Keys Needed to Activate
142
+
143
+ | Key | Where to get it | Used for |
144
+ |---|---|---|
145
+ | `STRIPE_WEBHOOK_SECRET` | Stripe Dashboard → Developers → Webhooks → getalice.av3.ai → Sign-in secret | Verifying Stripe webhook signatures |
146
+ | `SUPABASE_SERVICE_ROLE_KEY` | Supabase Dashboard → Project Settings → API → `service_role` key | Writing to licenses + teams tables |
147
+ | `RESEND_API_KEY` | Resend.com → API Keys | Sending welcome emails |
148
+ | `STRIPE_PRO_PRICE_ID` | Stripe Dashboard → Products → Pro → Price ID | Checkout session creation |
149
+ | `STRIPE_CLOUD_PRICE_ID` | Stripe Dashboard → Products → Cloud → Price ID | Checkout session creation |
150
+
151
+ **Note:** Supabase URL is `https://tfodkdtknoaodavakajg.supabase.co` (already known from memory).
152
+
153
+ ---
154
+
155
+ ## Testing the Pipeline
156
+
157
+ ### Mock Stripe webhook (local)
158
+ ```bash
159
+ # Trigger a simulated checkout.session.completed event
160
+ python3 test_mock_webhook.py
161
+ ```
162
+
163
+ ### Verify license in Supabase
164
+ ```bash
165
+ curl -X GET 'https://tfodkdtknoaodavakajg.supabase.co/rest/v1/licenses' \
166
+ -H 'apikey: <SERVICE_ROLE_KEY>' \
167
+ -H 'Authorization: Bearer <SERVICE_ROLE_KEY>'
168
+ ```
169
+
170
+ ### Verify n8n workflow fired
171
+ Check n8n execution log at `http://100.106.110.119:5678`
172
+
173
+ ---
174
+
175
+ ## Files Created by This Task
176
+
177
+ | File | Host | Status |
178
+ |---|---|---|
179
+ | `stripe-webhook-handler.py` | Ubuntu Desktop `~/alice-observability/` | ✅ Deployed — syntax verified |
180
+ | `n8n-stripe-welcome-workflow.json` | Ubuntu Desktop `~/alice-observability/` | ✅ Imported & activated in n8n (ID: `AmpbnxucPsjcAGFP`) |
181
+ | `n8n-stripe-welcome-workflow.json` | Workspace `workspace-dylan/` | ✅ Updated to correct n8n API format |
182
+ | `STRIPE_PIPELINE.md` | Workspace `workspace-dylan/` | ✅ Spec document |
183
+ | `.env.example` | Ubuntu Desktop `~/alice-observability/` | ✅ Copied |
184
+ | `00007_verify_licenses_table.sql` | Workspace `workspace-dylan/` | ✅ SQL migration (verify/create licenses + teams + team_tokens) |
185
+ | `test_mock_webhook.py` | Workspace `workspace-dylan/` | ✅ Local test script |
@@ -0,0 +1,17 @@
1
+ # USER.md - About Your Human
2
+
3
+ - **Name:** Rob
4
+ - **What to call them:** Rob
5
+ - **Timezone:** America/New_York
6
+ - **Notes:** Developer, entrepreneur, and creator of the A.L.I.C.E. framework.
7
+
8
+ ## Context
9
+
10
+ - Rob is building a multi-agent orchestration platform (A.L.I.C.E.)
11
+ - You are one of 13 agents in the A.L.I.C.E. system
12
+ - Olivia is the orchestrator — she coordinates all specialists
13
+ - Be helpful, competent, and slightly snarky when appropriate
14
+
15
+ ---
16
+
17
+ The more you know, the better you can help. But remember — you're learning about a person, not building a dossier.
@@ -0,0 +1,123 @@
1
+ {
2
+ "name": "A.L.I.C.E. — Stripe Welcome Email",
3
+ "nodes": [
4
+ {
5
+ "parameters": {
6
+ "httpMethod": "POST",
7
+ "path": "stripe-checkout-completed",
8
+ "responseMode": "onReceived",
9
+ "options": { "rawBody": false }
10
+ },
11
+ "id": "stripe-webhook-trigger",
12
+ "name": "Stripe Checkout Completed Webhook",
13
+ "type": "n8n-nodes-base.webhook",
14
+ "typeVersion": 2,
15
+ "position": [250, 300],
16
+ "webhookId": "stripe-welcome-webhook"
17
+ },
18
+ {
19
+ "parameters": {
20
+ "jsCode": "// Parse incoming webhook payload from stripe-webhook-handler.py\nconst body = $input.item.json;\n\nconst licenseKey = body.license_key;\nconst email = body.email;\nconst plan = body.plan || 'pro';\nconst ingestToken = body.ingest_token || '';\nconst workerToken = body.worker_token || '';\nconst aliceCloudToken = body.alice_cloud_token || ingestToken;\nconst purchasedAt = body.purchased_at || new Date().toISOString();\n\n// Build activation command\nconst activationCmd = ingestToken\n ? `npx @robbiesrobotics/alice-agents --license ${licenseKey} --cloud --cloud-token ${ingestToken} --cloud-worker-token ${workerToken}`\n : `npx @robbiesrobotics/alice-agents --license ${licenseKey}`;\n\nreturn {\n json: {\n licenseKey,\n email,\n plan,\n ingestToken,\n workerToken,\n aliceCloudToken,\n activationCmd,\n purchasedAt,\n hasTokens: Boolean(ingestToken),\n }\n};"
21
+ },
22
+ "id": "parse-payload",
23
+ "name": "Parse Payload",
24
+ "type": "n8n-nodes-base.code",
25
+ "typeVersion": 2,
26
+ "position": [480, 300]
27
+ },
28
+ {
29
+ "parameters": {
30
+ "conditions": {
31
+ "options": { "fallbackOutputs": [] },
32
+ "conditions": [
33
+ {
34
+ "id": "has-email",
35
+ "leftValue": "={{ $json.email }}",
36
+ "rightValue": "",
37
+ "operator": { "type": "string", "operation": "isNotEmpty" }
38
+ }
39
+ ]
40
+ },
41
+ "options": {}
42
+ },
43
+ "id": "check-email",
44
+ "name": "Validate Email",
45
+ "type": "n8n-nodes-base.if",
46
+ "typeVersion": 2,
47
+ "position": [710, 300]
48
+ },
49
+ {
50
+ "parameters": {
51
+ "method": "POST",
52
+ "url": "=https://api.resend.com/emails",
53
+ "authentication": "genericCredentialType",
54
+ "genericAuthType": "httpHeaderAuth",
55
+ "sendHeaders": true,
56
+ "headerParameters": {
57
+ "parameters": [
58
+ { "name": "Authorization", "value": "Bearer {{ $env.RESEND_API_KEY }}" },
59
+ { "name": "Content-Type", "value": "application/json" }
60
+ ]
61
+ },
62
+ "sendBody": true,
63
+ "bodyParameters": {
64
+ "parameters": [
65
+ { "name": "from", "value": "A.L.I.C.E. <hello@av3.ai>" },
66
+ { "name": "to", "value": "={{ $json.email }}" },
67
+ { "name": "subject", "value": "Your A.L.I.C.E. Pro License Key" },
68
+ { "name": "html", "value": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\"/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n <title>Welcome to A.L.I.C.E. — Robbie's Robotics</title>\n <style>\n body { margin: 0; padding: 0; background-color: #0f0f14; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #e2e8f0; }\n .wrapper { max-width: 620px; margin: 0 auto; padding: 40px 20px; }\n .logo { text-align: center; margin-bottom: 32px; }\n .logo-text { font-size: 22px; font-weight: 700; color: #a78bfa; letter-spacing: 0.05em; }\n .card { background: #1a1a2e; border: 1px solid #2d2d4e; border-radius: 12px; padding: 36px 40px; margin-bottom: 24px; }\n h1 { font-size: 28px; font-weight: 700; color: #f1f5f9; margin: 0 0 8px 0; }\n .subtitle { color: #94a3b8; font-size: 16px; margin-bottom: 28px; }\n .divider { border: none; border-top: 1px solid #2d2d4e; margin: 28px 0; }\n h2 { font-size: 16px; font-weight: 600; color: #a78bfa; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 16px 0; }\n .credential-box { background: #0f0f1a; border: 1px solid #3730a3; border-radius: 8px; padding: 16px 20px; margin-bottom: 12px; }\n .credential-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #64748b; margin-bottom: 4px; }\n .credential-value { font-family: 'Courier New', Courier, monospace; font-size: 15px; color: #e2e8f0; word-break: break-all; }\n .step-list { list-style: none; padding: 0; margin: 0; }\n .step-list li { display: flex; align-items: flex-start; gap: 14px; padding: 12px 0; border-bottom: 1px solid #1e1e38; }\n .step-list li:last-child { border-bottom: none; }\n .step-num { background: #4f46e5; color: #fff; border-radius: 50%; width: 26px; height: 26px; min-width: 26px; font-size: 13px; font-weight: 700; text-align: center; line-height: 26px; }\n .step-title { font-weight: 600; font-size: 15px; color: #f1f5f9; margin-bottom: 4px; }\n .step-desc { font-size: 13px; color: #94a3b8; line-height: 1.5; }\n code { background: #0f0f1a; border: 1px solid #2d2d4e; border-radius: 4px; padding: 1px 6px; font-family: monospace; font-size: 12px; color: #a78bfa; }\n .btn { display: inline-block; background: #4f46e5; color: #fff; text-decoration: none; padding: 14px 28px; border-radius: 8px; font-weight: 600; font-size: 15px; }\n .btn-outline { display: inline-block; border: 1px solid #4f46e5; color: #a78bfa; text-decoration: none; padding: 12px 24px; border-radius: 8px; font-weight: 600; font-size: 14px; }\n .cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }\n .support-card { background: #0f0f1a; border: 1px solid #2d2d4e; border-radius: 8px; padding: 20px 24px; margin-bottom: 24px; }\n .support-card p { margin: 0; font-size: 14px; color: #94a3b8; line-height: 1.8; }\n .support-card a { color: #a78bfa; text-decoration: none; }\n .footer { text-align: center; font-size: 12px; color: #475569; padding-top: 8px; }\n .footer a { color: #64748b; text-decoration: none; }\n .badge { display: inline-block; background: #14532d; color: #4ade80; font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.06em; margin-left: 8px; vertical-align: middle; }\n </style>\n</head>\n<body>\n <div class=\"wrapper\">\n <div class=\"logo\"><div class=\"logo-text\">🤖 A.L.I.C.E.</div></div>\n <div class=\"card\">\n <h1>You're in. Welcome aboard. <span class=\"badge\">Active</span></h1>\n <p class=\"subtitle\">Your A.L.I.C.E. subscription is live. Below is everything you need to get started.</p>\n <hr class=\"divider\"/>\n <h2>Your License Key</h2>\n <div class=\"credential-box\">\n <div class=\"credential-label\">License Key</div>\n <div class=\"credential-value\">{{ $json.licenseKey }}</div>\n </div>\n <hr class=\"divider\"/>\n <h2>Cloud Tokens</h2>\n <div class=\"credential-box\">\n <div class=\"credential-label\">A.L.I.C.E. Cloud Token</div>\n <div class=\"credential-value\">{{ $json.aliceCloudToken }}</div>\n </div>\n <hr class=\"divider\"/>\n <h2>Quickstart — 3 Steps</h2>\n <ul class=\"step-list\">\n <li><div class=\"step-num\">1</div><div><div class=\"step-title\">Install OpenClaw</div><div class=\"step-desc\"><code>npm install -g openclaw</code> then <code>openclaw setup</code></div></div></li>\n <li><div class=\"step-num\">2</div><div><div class=\"step-title\">Activate A.L.I.C.E.</div><div class=\"step-desc\"><code>{{ $json.activationCmd }}</code></div></div></li>\n <li><div class=\"step-num\">3</div><div><div class=\"step-title\">First task</div><div class=\"step-desc\">Message Alice: <code>review my open PRs and summarize blockers</code></div></div></li>\n </ul>\n <div class=\"cta-row\">\n <a class=\"btn\" href=\"https://getalice.av3.ai/quickstart\">Quickstart Guide →</a>\n <a class=\"btn-outline\" href=\"https://getalice.av3.ai/dashboard\">Dashboard</a>\n </div>\n </div>\n <div class=\"support-card\">\n <h2>Need Help?</h2>\n <p>📧 <a href=\"mailto:rob@robbiesrobotics.com\">rob@robbiesrobotics.com</a><br/>📅 <a href=\"https://cal.com/robbiesrobotics\">Book onboarding call</a><br/>📖 <a href=\"https://getalice.av3.ai/docs\">Docs</a></p>\n </div>\n <div class=\"footer\"><p>Robbie's Robotics · <a href=\"https://getalice.av3.ai\">getalice.av3.ai</a></p></div>\n </div>\n</body>\n</html>" }
69
+ ]
70
+ },
71
+ "options": {
72
+ "retryOnFail": true,
73
+ "maxTries": 3,
74
+ "waitBetweenTries": 2000
75
+ }
76
+ },
77
+ "id": "send-welcome-email",
78
+ "name": "Send Welcome Email",
79
+ "type": "n8n-nodes-base.httpRequest",
80
+ "typeVersion": 4.2,
81
+ "position": [940, 300]
82
+ },
83
+ {
84
+ "parameters": {
85
+ "jsCode": "// Log success for observability\nconst item = $input.item.json;\nconsole.log('Welcome email sent to:', item.email, '| License:', item.licenseKey);\nreturn [{ json: { sent: true, email: item.email, licenseKey: item.licenseKey } }];"
86
+ },
87
+ "id": "log-success",
88
+ "name": "Log Success",
89
+ "type": "n8n-nodes-base.code",
90
+ "typeVersion": 2,
91
+ "position": [1160, 300]
92
+ }
93
+ ],
94
+ "connections": {
95
+ "Stripe Checkout Completed Webhook": {
96
+ "main": [
97
+ [{ "node": "Parse Payload", "type": "main", "index": 0 }]
98
+ ]
99
+ },
100
+ "Parse Payload": {
101
+ "main": [
102
+ [{ "node": "Validate Email", "type": "main", "index": 0 }]
103
+ ]
104
+ },
105
+ "Validate Email": {
106
+ "main": [
107
+ [{ "node": "Send Welcome Email", "type": "main", "index": 0 }],
108
+ []
109
+ ]
110
+ },
111
+ "Send Welcome Email": {
112
+ "main": [
113
+ [{ "node": "Log Success", "type": "main", "index": 0 }]
114
+ ]
115
+ }
116
+ },
117
+ "settings": {
118
+ "executionOrder": "v1",
119
+ "saveManualExecutions": true,
120
+ "callerPolicy": "workflowsFromSameOwner",
121
+ "errorWorkflow": ""
122
+ }
123
+ }
@@ -0,0 +1,38 @@
1
+ # Claude Code
2
+
3
+ Delegate coding tasks to the Claude Code CLI for autonomous code generation, editing, debugging, refactoring, and analysis. Claude Code runs with its own built-in tools (file editing, terminal, web search) and returns results directly.
4
+
5
+ ## When to Use
6
+
7
+ - Writing new code or features
8
+ - Debugging failing tests or errors
9
+ - Refactoring existing code
10
+ - Code review and analysis
11
+ - Complex multi-file changes
12
+ - Any task where you need to read, write, or execute code
13
+
14
+ ## Usage
15
+
16
+ ```
17
+ claude_code "Write a Python function that sorts a list of dictionaries by a given key"
18
+ claude_code "Debug the failing test in tests/unit/test_auth.py" "/path/to/project"
19
+ claude_code "Refactor the database module to use async" "/path/to/project" "max"
20
+ ```
21
+
22
+ ## Parameters
23
+
24
+ 1. **task** (required) — Clear description of the coding task. Be specific about what files, languages, and outcomes you expect.
25
+ 2. **workdir** (optional) — Working directory for Claude Code. Defaults to the agent's workspace. Set this to the project root when working on a specific codebase.
26
+ 3. **effort** (optional) — Effort level: `low`, `medium`, `high`, `max`. Defaults to `high`. Use `max` for complex multi-file tasks.
27
+
28
+ ## Environment Variables
29
+
30
+ - `CLAUDE_CODE_MAX_BUDGET` — Max USD per invocation (default: `2.00`). Prevents runaway costs.
31
+ - `CLAUDE_CODE_PERMISSION_MODE` — Permission mode (default: `auto`). Options: `auto`, `acceptEdits`, `bypassPermissions`.
32
+
33
+ ## Tips
34
+
35
+ - Be specific in your task description — "Fix the bug where login fails with empty password" is better than "fix login"
36
+ - Set workdir to the project root so Claude Code can navigate the full codebase
37
+ - For large refactors, use effort `max`
38
+ - Review Claude Code's output before incorporating it into your response
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env bash
2
+ # claude_code — OpenClaw skill: delegate coding tasks to Claude Code CLI
3
+ #
4
+ # Usage:
5
+ # claude_code <task> [workdir] [effort]
6
+ #
7
+ # Arguments:
8
+ # task — (required) Description of the coding task
9
+ # workdir — (optional) Working directory, defaults to current directory
10
+ # effort — (optional) low|medium|high|max, defaults to high
11
+ #
12
+ # Environment:
13
+ # CLAUDE_CODE_MAX_BUDGET — Max USD per invocation (default: 2.00)
14
+ # CLAUDE_CODE_PERMISSION_MODE — auto|acceptEdits|bypassPermissions (default: auto)
15
+ #
16
+ # This skill runs Claude Code in non-interactive print mode (-p) so it
17
+ # executes autonomously and returns results without user interaction.
18
+ set -euo pipefail
19
+
20
+ TASK="${1:?Error: task description is required. Usage: claude_code <task> [workdir] [effort]}"
21
+ WORKDIR="${2:-.}"
22
+ EFFORT="${3:-high}"
23
+ MAX_BUDGET="${CLAUDE_CODE_MAX_BUDGET:-2.00}"
24
+ PERM_MODE="${CLAUDE_CODE_PERMISSION_MODE:-auto}"
25
+
26
+ # Resolve workdir to absolute path
27
+ WORKDIR="$(cd "$WORKDIR" 2>/dev/null && pwd)" || {
28
+ echo "Error: working directory '$2' does not exist."
29
+ exit 1
30
+ }
31
+
32
+ # Locate claude binary
33
+ CLAUDE_BIN="${CLAUDE_CODE_BIN:-claude}"
34
+ if ! command -v "$CLAUDE_BIN" &>/dev/null; then
35
+ # Check common install locations
36
+ for candidate in "$HOME/.local/bin/claude" "/usr/local/bin/claude"; do
37
+ if [ -x "$candidate" ]; then
38
+ CLAUDE_BIN="$candidate"
39
+ break
40
+ fi
41
+ done
42
+ if ! command -v "$CLAUDE_BIN" &>/dev/null && [ ! -x "$CLAUDE_BIN" ]; then
43
+ echo "Error: claude CLI not found. Install Claude Code: https://docs.anthropic.com/en/docs/claude-code"
44
+ exit 1
45
+ fi
46
+ fi
47
+
48
+ # Run Claude Code in non-interactive print mode
49
+ exec "$CLAUDE_BIN" -p "$TASK" \
50
+ --output-format text \
51
+ --permission-mode "$PERM_MODE" \
52
+ --effort "$EFFORT" \
53
+ --max-budget-usd "$MAX_BUDGET" \
54
+ --no-session-persistence \
55
+ 2>&1