@hailer/mcp 1.1.16 → 1.1.17-beta.1

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 (313) hide show
  1. package/.claude/CLAUDE.md +117 -320
  2. package/.claude/commands/app-squad.md +86 -90
  3. package/.claude/commands/audit-squad.md +19 -19
  4. package/.claude/commands/autoplan.md +3 -3
  5. package/.claude/commands/cleanup-squad.md +16 -16
  6. package/.claude/commands/config-squad.md +30 -30
  7. package/.claude/commands/crud-squad.md +23 -23
  8. package/.claude/commands/data-squad.md +21 -21
  9. package/.claude/commands/debug-squad.md +44 -44
  10. package/.claude/commands/doc-squad.md +16 -16
  11. package/.claude/commands/help:agents.md +130 -99
  12. package/.claude/commands/help:commands.md +15 -15
  13. package/.claude/commands/help:faq.md +17 -17
  14. package/.claude/commands/help:plugins.md +1 -1
  15. package/.claude/commands/help:skills.md +18 -24
  16. package/.claude/commands/hotfix-squad.md +22 -22
  17. package/.claude/commands/integration-squad.md +22 -22
  18. package/.claude/commands/janitor-squad.md +31 -31
  19. package/.claude/commands/learn-auto.md +5 -5
  20. package/.claude/commands/learn.md +12 -20
  21. package/.claude/commands/onboard-squad.md +39 -49
  22. package/.claude/commands/plan-workspace.md +2 -2
  23. package/.claude/commands/publish.md +32 -37
  24. package/.claude/commands/review-squad.md +27 -27
  25. package/.claude/commands/stats.md +26 -12
  26. package/.claude/commands/swarm.md +25 -25
  27. package/.claude/skills/chrome-mcp-reference/SKILL.md +5 -0
  28. package/.claude/skills/hailer-api-client/SKILL.md +55 -16
  29. package/.claude/skills/hailer-app-builder/SKILL.md +4 -270
  30. package/.claude/skills/hailer-apps-pictures/SKILL.md +3 -3
  31. package/.claude/skills/hailer-design-system/SKILL.md +96 -4
  32. package/.claude/skills/hailer-monolith-automations/SKILL.md +138 -116
  33. package/.claude/skills/hailer-permissions-system/SKILL.md +6 -9
  34. package/.claude/skills/hailer-project-protocol/SKILL.md +20 -110
  35. package/.claude/skills/integration-patterns/SKILL.md +6 -6
  36. package/.claude/skills/lsp-setup/SKILL.md +8 -9
  37. package/.claude/skills/sdk-activity-patterns/SKILL.md +238 -0
  38. package/.claude/skills/{SDK-document-templates → sdk-document-templates}/SKILL.md +13 -340
  39. package/.claude/skills/{SDK-function-fields → sdk-function-fields}/SKILL.md +8 -40
  40. package/.claude/skills/{SDK-insight-queries → sdk-insight-queries}/SKILL.md +114 -392
  41. package/.claude/skills/{SDK-ws-config-skill → sdk-ws-config-skill}/SKILL.md +79 -310
  42. package/.claude/skills/zapier-hailer-patterns/SKILL.md +84 -361
  43. package/.opencode/package-lock.json +117 -0
  44. package/CLAUDE.md +5 -358
  45. package/dist/app.d.ts.map +1 -1
  46. package/dist/app.js +10 -127
  47. package/dist/app.js.map +1 -1
  48. package/dist/bot/bot-manager.d.ts +3 -14
  49. package/dist/bot/bot-manager.d.ts.map +1 -1
  50. package/dist/bot/bot-manager.js +13 -4
  51. package/dist/bot/bot-manager.js.map +1 -1
  52. package/dist/bot/bot.d.ts +23 -102
  53. package/dist/bot/bot.d.ts.map +1 -1
  54. package/dist/bot/bot.js +356 -1212
  55. package/dist/bot/bot.js.map +1 -1
  56. package/dist/bot/services/bot-permissions.d.ts +50 -0
  57. package/dist/bot/services/bot-permissions.d.ts.map +1 -0
  58. package/dist/bot/services/bot-permissions.js +198 -0
  59. package/dist/bot/services/bot-permissions.js.map +1 -0
  60. package/dist/bot/services/index.d.ts +4 -2
  61. package/dist/bot/services/index.d.ts.map +1 -1
  62. package/dist/bot/services/index.js +10 -5
  63. package/dist/bot/services/index.js.map +1 -1
  64. package/dist/bot/services/message-classifier.d.ts +1 -1
  65. package/dist/bot/services/message-classifier.d.ts.map +1 -1
  66. package/dist/bot/services/message-classifier.js.map +1 -1
  67. package/dist/bot/services/signal-router.d.ts +32 -0
  68. package/dist/bot/services/signal-router.d.ts.map +1 -0
  69. package/dist/bot/services/signal-router.js +132 -0
  70. package/dist/bot/services/signal-router.js.map +1 -0
  71. package/dist/bot/services/system-prompt.d.ts +12 -0
  72. package/dist/bot/services/system-prompt.d.ts.map +1 -0
  73. package/dist/bot/services/system-prompt.js +93 -0
  74. package/dist/bot/services/system-prompt.js.map +1 -0
  75. package/dist/bot/services/types.d.ts +7 -34
  76. package/dist/bot/services/types.d.ts.map +1 -1
  77. package/dist/bot/services/types.js +0 -3
  78. package/dist/bot/services/types.js.map +1 -1
  79. package/dist/bot/services/workspace-refresh.d.ts +47 -0
  80. package/dist/bot/services/workspace-refresh.d.ts.map +1 -0
  81. package/dist/bot/services/workspace-refresh.js +154 -0
  82. package/dist/bot/services/workspace-refresh.js.map +1 -0
  83. package/dist/bot-config/constants.d.ts +0 -36
  84. package/dist/bot-config/constants.d.ts.map +1 -1
  85. package/dist/bot-config/constants.js +1 -76
  86. package/dist/bot-config/constants.js.map +1 -1
  87. package/dist/bot-config/context.d.ts +2 -42
  88. package/dist/bot-config/context.d.ts.map +1 -1
  89. package/dist/bot-config/context.js +13 -134
  90. package/dist/bot-config/context.js.map +1 -1
  91. package/dist/bot-config/index.d.ts +6 -15
  92. package/dist/bot-config/index.d.ts.map +1 -1
  93. package/dist/bot-config/index.js +5 -80
  94. package/dist/bot-config/index.js.map +1 -1
  95. package/dist/bot-config/loader.d.ts +16 -4
  96. package/dist/bot-config/loader.d.ts.map +1 -1
  97. package/dist/bot-config/loader.js +187 -96
  98. package/dist/bot-config/loader.js.map +1 -1
  99. package/dist/bot-config/persistence.d.ts +1 -52
  100. package/dist/bot-config/persistence.d.ts.map +1 -1
  101. package/dist/bot-config/persistence.js +3 -213
  102. package/dist/bot-config/persistence.js.map +1 -1
  103. package/dist/bot-config/state.d.ts +0 -41
  104. package/dist/bot-config/state.d.ts.map +1 -1
  105. package/dist/bot-config/state.js +0 -151
  106. package/dist/bot-config/state.js.map +1 -1
  107. package/dist/bot-config/tools.d.ts +1 -1
  108. package/dist/bot-config/tools.js +27 -27
  109. package/dist/bot-config/tools.js.map +1 -1
  110. package/dist/bot-config/types.d.ts +39 -32
  111. package/dist/bot-config/types.d.ts.map +1 -1
  112. package/dist/bot-config/types.js +0 -3
  113. package/dist/bot-config/types.js.map +1 -1
  114. package/dist/bot-config/webhooks.d.ts +0 -4
  115. package/dist/bot-config/webhooks.d.ts.map +1 -1
  116. package/dist/bot-config/webhooks.js +0 -13
  117. package/dist/bot-config/webhooks.js.map +1 -1
  118. package/dist/commands/seed-config.js +16 -31
  119. package/dist/commands/seed-config.js.map +1 -1
  120. package/dist/config.d.ts +0 -9
  121. package/dist/config.d.ts.map +1 -1
  122. package/dist/config.js +0 -15
  123. package/dist/config.js.map +1 -1
  124. package/dist/mcp/hailer-clients.js +2 -2
  125. package/dist/mcp/hailer-clients.js.map +1 -1
  126. package/dist/mcp/tool-registry.d.ts +10 -115
  127. package/dist/mcp/tool-registry.d.ts.map +1 -1
  128. package/dist/mcp/tool-registry.js +39 -363
  129. package/dist/mcp/tool-registry.js.map +1 -1
  130. package/dist/mcp/tools/activity.d.ts +3 -0
  131. package/dist/mcp/tools/activity.d.ts.map +1 -1
  132. package/dist/mcp/tools/activity.js +8 -1
  133. package/dist/mcp/tools/activity.js.map +1 -1
  134. package/dist/mcp/tools/app-core.d.ts +3 -0
  135. package/dist/mcp/tools/app-core.d.ts.map +1 -1
  136. package/dist/mcp/tools/app-core.js +9 -2
  137. package/dist/mcp/tools/app-core.js.map +1 -1
  138. package/dist/mcp/tools/app-marketplace.d.ts +3 -0
  139. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
  140. package/dist/mcp/tools/app-marketplace.js +13 -1
  141. package/dist/mcp/tools/app-marketplace.js.map +1 -1
  142. package/dist/mcp/tools/app-member.d.ts +3 -0
  143. package/dist/mcp/tools/app-member.d.ts.map +1 -1
  144. package/dist/mcp/tools/app-member.js +6 -1
  145. package/dist/mcp/tools/app-member.js.map +1 -1
  146. package/dist/mcp/tools/app-scaffold.d.ts +3 -0
  147. package/dist/mcp/tools/app-scaffold.d.ts.map +1 -1
  148. package/dist/mcp/tools/app-scaffold.js +19 -11
  149. package/dist/mcp/tools/app-scaffold.js.map +1 -1
  150. package/dist/mcp/tools/company.d.ts +3 -0
  151. package/dist/mcp/tools/company.d.ts.map +1 -1
  152. package/dist/mcp/tools/company.js +5 -1
  153. package/dist/mcp/tools/company.js.map +1 -1
  154. package/dist/mcp/tools/discussion.d.ts +3 -0
  155. package/dist/mcp/tools/discussion.d.ts.map +1 -1
  156. package/dist/mcp/tools/discussion.js +13 -2
  157. package/dist/mcp/tools/discussion.js.map +1 -1
  158. package/dist/mcp/tools/file.d.ts +3 -0
  159. package/dist/mcp/tools/file.d.ts.map +1 -1
  160. package/dist/mcp/tools/file.js +6 -1
  161. package/dist/mcp/tools/file.js.map +1 -1
  162. package/dist/mcp/tools/index.d.ts +7 -0
  163. package/dist/mcp/tools/index.d.ts.map +1 -0
  164. package/dist/mcp/tools/index.js +34 -0
  165. package/dist/mcp/tools/index.js.map +1 -0
  166. package/dist/mcp/tools/insight.d.ts +3 -0
  167. package/dist/mcp/tools/insight.d.ts.map +1 -1
  168. package/dist/mcp/tools/insight.js +18 -8
  169. package/dist/mcp/tools/insight.js.map +1 -1
  170. package/dist/mcp/tools/user.d.ts +3 -0
  171. package/dist/mcp/tools/user.d.ts.map +1 -1
  172. package/dist/mcp/tools/user.js +6 -1
  173. package/dist/mcp/tools/user.js.map +1 -1
  174. package/dist/mcp/tools/workflow-permissions.d.ts +3 -0
  175. package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -1
  176. package/dist/mcp/tools/workflow-permissions.js +8 -1
  177. package/dist/mcp/tools/workflow-permissions.js.map +1 -1
  178. package/dist/mcp/tools/workflow.d.ts +3 -0
  179. package/dist/mcp/tools/workflow.d.ts.map +1 -1
  180. package/dist/mcp/tools/workflow.js +29 -28
  181. package/dist/mcp/tools/workflow.js.map +1 -1
  182. package/dist/mcp/utils/index.d.ts +4 -11
  183. package/dist/mcp/utils/index.d.ts.map +1 -1
  184. package/dist/mcp/utils/index.js +5 -36
  185. package/dist/mcp/utils/index.js.map +1 -1
  186. package/dist/mcp/utils/role-utils.d.ts +0 -32
  187. package/dist/mcp/utils/role-utils.d.ts.map +1 -1
  188. package/dist/mcp/utils/role-utils.js +0 -73
  189. package/dist/mcp/utils/role-utils.js.map +1 -1
  190. package/dist/mcp/utils/tool-helpers.d.ts +0 -25
  191. package/dist/mcp/utils/tool-helpers.d.ts.map +1 -1
  192. package/dist/mcp/utils/tool-helpers.js +0 -34
  193. package/dist/mcp/utils/tool-helpers.js.map +1 -1
  194. package/dist/mcp/webhook-handler.d.ts +4 -34
  195. package/dist/mcp/webhook-handler.d.ts.map +1 -1
  196. package/dist/mcp/webhook-handler.js +57 -74
  197. package/dist/mcp/webhook-handler.js.map +1 -1
  198. package/dist/mcp-server.d.ts.map +1 -1
  199. package/dist/mcp-server.js +3 -78
  200. package/dist/mcp-server.js.map +1 -1
  201. package/package.json +1 -2
  202. package/.claude/agents/agent-ada-skill-builder.md +0 -94
  203. package/.claude/agents/agent-alejandro-function-fields.md +0 -342
  204. package/.claude/agents/agent-bjorn-config-audit.md +0 -103
  205. package/.claude/agents/agent-builder-agent-creator.md +0 -130
  206. package/.claude/agents/agent-code-simplifier.md +0 -53
  207. package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
  208. package/.claude/agents/agent-giuseppe-app-builder.md +0 -208
  209. package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
  210. package/.claude/agents/agent-helga-workflow-config.md +0 -204
  211. package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
  212. package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
  213. package/.claude/agents/agent-ivan-monolith.md +0 -154
  214. package/.claude/agents/agent-kenji-data-reader.md +0 -86
  215. package/.claude/agents/agent-lars-code-inspector.md +0 -102
  216. package/.claude/agents/agent-marco-mockup-builder.md +0 -110
  217. package/.claude/agents/agent-marcus-api-documenter.md +0 -323
  218. package/.claude/agents/agent-marketplace-publisher.md +0 -280
  219. package/.claude/agents/agent-marketplace-reviewer.md +0 -309
  220. package/.claude/agents/agent-permissions-handler.md +0 -208
  221. package/.claude/agents/agent-simple-writer.md +0 -48
  222. package/.claude/agents/agent-svetlana-code-review.md +0 -171
  223. package/.claude/agents/agent-tanya-test-runner.md +0 -333
  224. package/.claude/agents/agent-ui-designer.md +0 -100
  225. package/.claude/agents/agent-viktor-sql-insights.md +0 -212
  226. package/.claude/agents/agent-web-search.md +0 -55
  227. package/.claude/agents/agent-yevgeni-discussions.md +0 -45
  228. package/.claude/agents/agent-zara-zapier.md +0 -159
  229. package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
  230. package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
  231. package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
  232. package/.claude/skills/agent-structure/SKILL.md +0 -98
  233. package/.claude/skills/delegation-routing/SKILL.md +0 -202
  234. package/.claude/skills/frontend-design/SKILL.md +0 -254
  235. package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
  236. package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
  237. package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
  238. package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
  239. package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
  240. package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
  241. package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
  242. package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
  243. package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
  244. package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
  245. package/.claude/skills/json-only-output/SKILL.md +0 -72
  246. package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
  247. package/.claude/skills/optional-parameters/SKILL.md +0 -72
  248. package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
  249. package/.claude/skills/tool-response-verification/SKILL.md +0 -92
  250. package/.opencode/agent/agent-ada-skill-builder.md +0 -35
  251. package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
  252. package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
  253. package/.opencode/agent/agent-builder-agent-creator.md +0 -39
  254. package/.opencode/agent/agent-code-simplifier.md +0 -31
  255. package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
  256. package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
  257. package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
  258. package/.opencode/agent/agent-helga-workflow-config.md +0 -204
  259. package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
  260. package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
  261. package/.opencode/agent/agent-ivan-monolith.md +0 -46
  262. package/.opencode/agent/agent-kenji-data-reader.md +0 -53
  263. package/.opencode/agent/agent-lars-code-inspector.md +0 -28
  264. package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
  265. package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
  266. package/.opencode/agent/agent-marketplace-publisher.md +0 -44
  267. package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
  268. package/.opencode/agent/agent-permissions-handler.md +0 -50
  269. package/.opencode/agent/agent-simple-writer.md +0 -45
  270. package/.opencode/agent/agent-svetlana-code-review.md +0 -39
  271. package/.opencode/agent/agent-tanya-test-runner.md +0 -57
  272. package/.opencode/agent/agent-ui-designer.md +0 -56
  273. package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
  274. package/.opencode/agent/agent-web-search.md +0 -42
  275. package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
  276. package/.opencode/agent/agent-zara-zapier.md +0 -53
  277. package/.opencode/commands/app-squad.md +0 -135
  278. package/.opencode/commands/audit-squad.md +0 -158
  279. package/.opencode/commands/autoplan.md +0 -563
  280. package/.opencode/commands/cleanup-squad.md +0 -98
  281. package/.opencode/commands/config-squad.md +0 -106
  282. package/.opencode/commands/crud-squad.md +0 -87
  283. package/.opencode/commands/data-squad.md +0 -97
  284. package/.opencode/commands/debug-squad.md +0 -303
  285. package/.opencode/commands/doc-squad.md +0 -65
  286. package/.opencode/commands/handoff.md +0 -137
  287. package/.opencode/commands/health.md +0 -49
  288. package/.opencode/commands/help-agents.md +0 -151
  289. package/.opencode/commands/help-commands.md +0 -32
  290. package/.opencode/commands/help-faq.md +0 -29
  291. package/.opencode/commands/help-plugins.md +0 -28
  292. package/.opencode/commands/help-skills.md +0 -7
  293. package/.opencode/commands/help-tools.md +0 -40
  294. package/.opencode/commands/help.md +0 -28
  295. package/.opencode/commands/hotfix-squad.md +0 -112
  296. package/.opencode/commands/integration-squad.md +0 -82
  297. package/.opencode/commands/janitor-squad.md +0 -167
  298. package/.opencode/commands/learn-auto.md +0 -120
  299. package/.opencode/commands/learn.md +0 -120
  300. package/.opencode/commands/mcp-list.md +0 -27
  301. package/.opencode/commands/onboard-squad.md +0 -140
  302. package/.opencode/commands/plan-workspace.md +0 -732
  303. package/.opencode/commands/prd.md +0 -131
  304. package/.opencode/commands/project-status.md +0 -82
  305. package/.opencode/commands/publish.md +0 -138
  306. package/.opencode/commands/recap.md +0 -69
  307. package/.opencode/commands/restore.md +0 -64
  308. package/.opencode/commands/review-squad.md +0 -152
  309. package/.opencode/commands/save.md +0 -24
  310. package/.opencode/commands/stats.md +0 -19
  311. package/.opencode/commands/swarm.md +0 -210
  312. package/.opencode/commands/tool-builder.md +0 -39
  313. package/.opencode/commands/ws-pull.md +0 -44
@@ -1,135 +1,131 @@
1
1
  ---
2
- description: Design and build a Hailer app with UI Designer and Giuseppe
2
+ description: Build a Hailer app with hyper-parallel component teams
3
3
  argument-hint: "app description"
4
- allowed-tools: Task, Bash, Read
4
+ allowed-tools: Task, Bash, Read, Skill
5
5
  ---
6
6
  # App Squad
7
7
 
8
- Sequential pipeline with data discovery, design, build, and test loop.
9
-
10
- **Agents:**
11
- 1. **Kenji** - Discovers real workflow/insight schemas, field IDs, column names
12
- 2. **UI Designer** - Creates design spec (layout, components, aesthetic direction)
13
- 3. **Giuseppe** - Builds the app from the design spec + real schema data
14
- 4. **Tanya** - Build verification and tests (loop trigger)
8
+ Hyper-parallel: orchestrator does ALL prep, then spawns one agent per component with everything pre-loaded. Agents do ZERO discovery — just write code.
15
9
 
16
10
  **Goal:** $ARGUMENTS
17
11
 
18
12
  ## Protocol
19
13
 
20
- ### Step 1: Gather Context
21
-
22
- Before spawning agents, determine:
23
- - Does `workspace/` exist? If yes, this is a Hailer project.
24
- - Does `apps/` directory exist? Create if needed.
25
- - What workflows/data will the app use?
26
-
27
- If context is unclear, use AskUserQuestion:
28
- - What data should the app display?
29
- - Authenticated or public app?
30
- - Any specific layout preferences?
14
+ ### Step 1: Full Prep (YOU do everything — fast)
31
15
 
32
- ### Step 2: Data Discovery (Kenji)
16
+ **Schema discovery (MCP calls, parallel):**
17
+ - `list_workflows_minimal` → find relevant workflows
18
+ - `list_workflow_phases` per workflow → phase IDs/names
19
+ - `get_workflow_schema` per workflow → field IDs/types/labels
20
+ - `list_insights` → existing insights
33
21
 
34
- **CRITICAL: Giuseppe MUST NOT guess IDs or column names.** Kenji looks them up first.
22
+ **Scaffold:**
23
+ - `scaffold_hailer_app` MCP tool (NEVER copy an existing app)
35
24
 
36
- Spawn Kenji to discover the actual schema data the app will need:
25
+ **Read scaffold SDK files:**
26
+ - `src/hailer/use-app.ts` — the Zustand store, understand the API
27
+ - `src/hailer/use-hailer.tsx` — the raw hook (if use-app isn't available)
28
+ - `src/main.tsx` — entry point (ChakraProvider + theme)
29
+ - Check available icons: `ls src/hailer/theme/icons/`
37
30
 
38
- ```
39
- Task(subagent_type="agent-kenji-data-reader", prompt='{"task":"app_data_discovery","description":"Look up all schema data needed for this app: $ARGUMENTS","gather":["workflow IDs and names","field IDs, labels, and types for each workflow","phase IDs and names","insight IDs and their column names (if the app uses insights)","any ActivityLink field targets"],"output":"Return a structured JSON with all IDs, field definitions, insight columns, and phase maps. This will be passed directly to the app builder."}')
40
- ```
31
+ **Load skills (YOU load, paste into prompts):**
32
+ - Load `hailer-app-builder` skill via Skill tool
33
+ - Load `hailer-design-system` skill via Skill tool
34
+ - Save the content — you'll paste it into every agent prompt
41
35
 
42
- Wait for result. Save the **schema data** output - this is passed to both UI Designer and Giuseppe.
36
+ **Read one existing working app** for reference:
37
+ - Pick an app from `apps/` that works, read its App.tsx
38
+ - Extract the SDK integration patterns (how it fetches, how it reads fields)
43
39
 
44
- ### Step 3: Design (UI Designer)
40
+ ### Step 2: Define Shared Contract
45
41
 
46
- Spawn UI Designer with the schema data so it knows what real fields/columns exist:
42
+ Write this contract every agent gets the exact same copy:
47
43
 
48
44
  ```
49
- Task(subagent_type="agent-ui-designer", prompt="Design a Hailer app: $ARGUMENTS.\n\nAvailable data schema:\n[PASTE KENJI'S SCHEMA OUTPUT]\n\nOutput a design spec with: tone, signature element, layout structure, key components, and data flow. Reference actual field IDs and column names from the schema. Format as structured JSON that Giuseppe can consume.")
50
- ```
45
+ ## SHARED CONTRACT
51
46
 
52
- Wait for result. Save the design spec output.
47
+ ### Constants
48
+ [Paste all workflow IDs, field IDs, phase IDs from schema discovery]
53
49
 
54
- ### Step 4: Build-Test Loop
50
+ ### SDK API (from scaffold)
51
+ [Paste the actual use-app.ts store shape — what useApp() returns]
52
+ [Paste how to fetch: hailer.activity.list(workflowId, phaseId, { limit: 500 })]
53
+ [Paste how fields work: activity.fields?.[fieldId] with value wrappers]
55
54
 
56
- **Set:** `iteration = 1`
55
+ ### Helper Functions
56
+ [getField, getNumField, formatValue, getRating — whatever the app needs]
57
57
 
58
- #### Step 4a: Giuseppe (Build)
58
+ ### Component Manifest
59
+ [List every component: name, file path, props interface, what it renders]
59
60
 
60
- **Before spawning Giuseppe, enable builder mode:**
61
- ```
62
- Bash: node .claude/hooks/app-edit-guard.cjs --agent-on
63
- ```
61
+ ### Import Paths
62
+ [Exact import paths for SDK: '../hailer/use-app', icons, theme, etc.]
64
63
 
65
- Spawn Giuseppe with BOTH the design spec AND the schema data:
64
+ ### Icon Paths
65
+ [Available icons with exact import paths: '../hailer/theme/icons/HailerSearch']
66
66
 
67
- ```
68
- Task(subagent_type="agent-giuseppe-app-builder", prompt="Build this Hailer app using the following design spec and schema data:\n\n## Design Spec\n[PASTE FULL DESIGN SPEC FROM STEP 3]\n\n## Schema Data (from Kenji - use these EXACT IDs)\nSchema data from Kenji: [PASTE KENJI'S SCHEMA OUTPUT FROM STEP 2 - Kenji already ran in Step 2 and returned all IDs. The orchestrator doesn't need to read workspace/ directly.]\n\nApp goal: $ARGUMENTS\n\n[IF iteration > 1: Previous build failed. Here are the errors to fix:\n[PASTE TANYA'S BUILD/TEST ERRORS]\nFix these specific issues while keeping the rest of the app intact.]\n\nIMPORTANT: Use the EXACT field IDs, workflow IDs, insight IDs, and column names from the schema data above. Do NOT guess or invent any IDs.\n\nFollow the design spec for layout, components, and aesthetic. Use @hailer/app-sdk with Chakra UI and Hailer Design System.")
69
- ```
67
+ ### SDK Patterns (from existing working app)
68
+ [Paste the patterns that WORK how ready/inside/outside are handled]
69
+ [CRITICAL: Apps must render even when outside Hailer — never block on `inside`]
70
70
 
71
- **After Giuseppe completes, disable builder mode:**
72
- ```
73
- Bash: node .claude/hooks/app-edit-guard.cjs --agent-off
71
+ ### Skill Content
72
+ [Paste hailer-app-builder skill content]
73
+ [Paste hailer-design-system skill content]
74
74
  ```
75
75
 
76
- #### Step 4b: Tanya (Build Verification)
76
+ ### Step 3: Spawn ALL Agents in One Message
77
77
 
78
- Spawn Tanya to verify the build:
78
+ Every agent gets the FULL shared contract. They do ZERO skill loading, ZERO file reading.
79
79
 
80
+ Each agent prompt:
80
81
  ```
81
- Task(subagent_type="agent-tanya-test-runner", prompt="Verify the app build for: $ARGUMENTS.\n\nRun:\n1. TypeScript compilation (tsc --noEmit)\n2. Build (npm run build)\n3. Any existing tests (npm test if configured)\n\nReport: build pass/fail, type errors, test results.")
82
- ```
82
+ You are building ONE component of a Hailer app.
83
83
 
84
- **If build PASSES:** proceed to Step 5 (report).
84
+ [PASTE FULL SHARED CONTRACT]
85
85
 
86
- **If build FAILS:**
87
- - Classify errors:
88
- - **Code-fixable** (type errors, missing imports, wrong API usage, JSX issues): Giuseppe can handle these
89
- - **Infrastructure** (missing dependency/package, wrong Node version, environment config, missing workspace data): escalate immediately to user
90
- - If only infrastructure errors: skip to Step 5 with clear explanation of what the user needs to fix
91
- - If code-fixable errors AND `iteration < 3`: increment iteration, go back to **Step 4a** with Tanya's error output
92
- - If `iteration >= 3`: escalate to user with the remaining errors (see Step 5)
93
-
94
- ### Step 5: Report
86
+ ## Your Mission: [COMPONENT NAME]
87
+ [What to build, what props it takes, what it renders]
95
88
 
96
- ```markdown
97
- ## App Squad Complete
89
+ Return ONLY the complete TypeScript/React code. No file operations, no skill loading, no discovery.
90
+ ```
98
91
 
99
- ### Loop Summary
100
- - Build iterations: [count] of 3 max
101
- - Final build status: PASS / FAIL (escalated)
92
+ Typical team:
93
+ | Agent | Builds | Model |
94
+ |-------|--------|-------|
95
+ | Shell | App.tsx — nav, state, data fetching, renders children | sonnet |
96
+ | Overview | Dashboard — stat cards, summaries, charts | sonnet |
97
+ | List View | Table — filters, sorting, row click | sonnet |
98
+ | Detail | Modal content — full record view | sonnet |
99
+ | (per extra workflow) | Additional list+detail | sonnet |
102
100
 
103
- ### Design (UI Designer)
104
- - Tone: [from spec]
105
- - Signature element: [from spec]
106
- - Components: [list]
101
+ ### Step 4: Assemble + Verify (YOU)
107
102
 
108
- ### Build (Giuseppe)
109
- - App path: [path]
110
- - Build status: Pass/Fail
111
- - Files created: [list]
112
- - [If multiple iterations: summary of what was fixed each round]
103
+ 1. Write each component to its file
104
+ 2. Delete scaffold demo components (ChartDemo, ActivityTable, etc.)
105
+ 3. Fix integration issues (import paths, prop mismatches)
106
+ 4. `npx tsc --noEmit` → fix any errors
107
+ 5. `npx vite build` verify
108
+ 6. If < 5 errors, fix directly. If major, re-spawn failing agent with error + context.
113
109
 
114
- ### Verification (Tanya)
115
- - TypeScript: Pass/Fail
116
- - Build: Pass/Fail
117
- - Tests: X passed, X failed
110
+ ### Step 5: Report
118
111
 
119
- [If ESCALATED:]
120
- ### Remaining Build Errors
121
- [List errors Giuseppe couldn't resolve in 3 attempts]
122
- - Suggested manual fixes: [hints based on error types]
112
+ ```markdown
113
+ ## App Built: [name]
114
+ - Path: apps/[name]/
115
+ - Components: [N] built in parallel
116
+ - Build: PASS
117
+ - TypeScript: 0 errors
123
118
 
124
119
  ### Next Steps
125
- - Run `npm run dev` to test locally
126
- - Test inside Hailer iframe
120
+ - `cd apps/[name] && npm run dev`
121
+ - Open in Hailer iframe to test with live data
127
122
  ```
128
123
 
129
- ## Notes
124
+ ## Rules
130
125
 
131
- - Giuseppe defaults to local dev (localhost:3000). Publishing only when user explicitly asks (loads publish-hailer-app skill)
132
- - **Kenji runs FIRST** to discover all real IDs - Giuseppe must NEVER guess workflow IDs, field IDs, insight IDs, or column names
133
- - If the app needs an insight for public data, mention it in the goal - Kenji will look up existing insight columns
134
- - Build verification catches type errors and compilation issues before the user tries to run
135
- - Each iteration gives Giuseppe the specific errors to fix, avoiding repeated mistakes
126
+ - NEVER copy existing apps scaffold fresh
127
+ - NEVER let agents load skills you pre-load and paste
128
+ - NEVER let agents read files you read and paste
129
+ - Apps must work when opened outside Hailer (show empty state, not error)
130
+ - Include the ACTUAL SDK code in the contract, not a summary
131
+ - Agents return code as text — you write the files
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Run parallel security and permissions audit with Svetlana, Permissions Handler, and Gunther
2
+ description: Run parallel security and permissions audit
3
3
  argument-hint: [files, app name, or blank for full audit]
4
4
  allowed-tools: Task, Bash
5
5
  ---
@@ -8,10 +8,10 @@ allowed-tools: Task, Bash
8
8
 
9
9
  Parallel security and permissions audit: code hardening, access control verification, and MCP tool validation.
10
10
 
11
- **Agents:**
12
- - **Svetlana** - Code review (hardcoded secrets, injection vulnerabilities, insecure patterns, OWASP top 10)
13
- - **Permissions Handler** - Access control audit (effective permissions, team access levels, permission matrix)
14
- - **Gunther** - MCP tools security (input validation, data exposure, security best practices)
11
+ **Roles:**
12
+ - **Code Reviewer** - Code review (hardcoded secrets, injection vulnerabilities, insecure patterns, OWASP top 10)
13
+ - **Permissions Auditor** - Access control audit (effective permissions, team access levels, permission matrix)
14
+ - **Tool Security Auditor** - MCP tools security (input validation, data exposure, security best practices)
15
15
 
16
16
  **Target:** $ARGUMENTS (if blank, use full project scope)
17
17
 
@@ -29,11 +29,11 @@ Otherwise, scope is the entire project (workspace/ + apps/ + integrations/).
29
29
 
30
30
  If `$ARGUMENTS` contains `--code-only`:
31
31
  - Remove flag from target
32
- - Skip Permissions Handler and Gunther in Step 2
32
+ - Skip Permissions Auditor and Tool Security Auditor in Step 2
33
33
 
34
34
  If `$ARGUMENTS` contains `--permissions-only`:
35
35
  - Remove flag from target
36
- - Skip Svetlana and Gunther in Step 2
36
+ - Skip Code Reviewer and Tool Security Auditor in Step 2
37
37
 
38
38
  If `$ARGUMENTS` contains `--bg`:
39
39
  - Launch all agents in background mode
@@ -42,19 +42,19 @@ If `$ARGUMENTS` contains `--bg`:
42
42
 
43
43
  Spawn all applicable agents simultaneously using multiple Task tool calls in a single message:
44
44
 
45
- **Svetlana:**
45
+ **Code Reviewer:**
46
46
  ```
47
- Task(subagent_type="agent-svetlana-code-review", prompt="Security audit of these files: [TARGET]. Focus on: hardcoded secrets, API keys, credentials, injection vulnerabilities (SQL/XSS/Command), insecure crypto usage, missing input validation, OWASP Top 10 issues, unsafe deserialization, missing authentication/authorization checks. Return verdict (PASS/FAIL), critical count, and detailed findings per file.")
47
+ Task(prompt="Security audit of these files: [TARGET]. Focus on: hardcoded secrets, API keys, credentials, injection vulnerabilities (SQL/XSS/Command), insecure crypto usage, missing input validation, OWASP Top 10 issues, unsafe deserialization, missing authentication/authorization checks. Return verdict (PASS/FAIL), critical count, and detailed findings per file.")
48
48
  ```
49
49
 
50
- **Permissions Handler:**
50
+ **Permissions Auditor:**
51
51
  ```
52
- Task(subagent_type="agent-permissions-handler", prompt="Audit access control for the entire project. Map effective permissions: who has access to which apps, which teams have what access levels, which users are admins, workspace-wide versus app-specific permissions. Produce a permission matrix showing [User/Team] → [App] → [Access Level]. Flag any excessive or unclear permissions.")
52
+ Task(prompt="Load hailer-permissions-system skill for understanding the permissions model.\n\nAudit access control for the entire project. Map effective permissions: who has access to which apps, which teams have what access levels, which users are admins, workspace-wide versus app-specific permissions. Produce a permission matrix showing [User/Team] → [App] → [Access Level]. Flag any excessive or unclear permissions.")
53
53
  ```
54
54
 
55
- **Gunther:**
55
+ **Tool Security Auditor:**
56
56
  ```
57
- Task(subagent_type="agent-gunther-mcp-tools", prompt="Security audit of custom MCP tools (if any exist in src/mcp/tools/). Verify: input validation with Zod schemas, no unintended data exposure, proper error handling, rate limiting awareness, secure defaults. Report security posture per tool. If no custom tools exist, report that.")
57
+ Task(prompt="Load tool-builder skill for understanding MCP tool patterns.\n\nSecurity audit of custom MCP tools (if any exist in src/mcp/tools/). Verify: input validation with Zod schemas, no unintended data exposure, proper error handling, rate limiting awareness, secure defaults. Report security posture per tool. If no custom tools exist, report that.")
58
58
  ```
59
59
 
60
60
  ### Step 3: Categorize and Aggregate Results
@@ -94,14 +94,14 @@ Collect results from all agents. Categorize findings into three tiers:
94
94
  - Warnings: X
95
95
  - Info items: X
96
96
 
97
- ### Svetlana (Code Security Review)
97
+ ### Code Reviewer
98
98
  **Verdict:** PASS / FAIL / WARNINGS
99
99
  - Critical: X [list]
100
100
  - Warnings: X [list]
101
101
  - Info: X [list]
102
102
  - Files affected: [grouped summary]
103
103
 
104
- ### Permissions Handler (Access Control)
104
+ ### Permissions Auditor
105
105
  **Matrix Status:** [OK / EXCESSIVE / UNCLEAR]
106
106
  - Total apps: X
107
107
  - Total teams: X
@@ -109,7 +109,7 @@ Collect results from all agents. Categorize findings into three tiers:
109
109
  - Flagged permissions: [list]
110
110
  - [Permission matrix if findings exist]
111
111
 
112
- ### Gunther (MCP Tools Security)
112
+ ### Tool Security Auditor
113
113
  **Status:** [No tools / PASS / WARNINGS / CRITICAL]
114
114
  [If tools exist:]
115
115
  - Tools audited: X
@@ -152,7 +152,7 @@ If `--bg` is present, launch all agents with `run_in_background: true` and tell
152
152
  ## Notes
153
153
 
154
154
  - Default scope is full project if no arguments provided
155
- - Svetlana focuses on secrets and injection attacks; general code quality is separate (/review-squad)
156
- - Permissions Handler is organization-wide - includes team and app-level settings
157
- - Gunther only validates if custom MCP tools exist in the project
155
+ - Code Reviewer focuses on secrets and injection attacks; general code quality is separate (/review-squad)
156
+ - Permissions Auditor is organization-wide - includes team and app-level settings
157
+ - Tool Security Auditor only validates if custom MCP tools exist in the project
158
158
  - Critical findings should block deployment; warnings should be tracked for next sprint
@@ -38,7 +38,7 @@ Create a complete project plan: workspace structure, DEVELOPMENT.md (big picture
38
38
  ls docs/prd-*.md 2>/dev/null # List existing PRDs
39
39
  ```
40
40
 
41
- Use Kenji agent to read:
41
+ Use Data Reader to check:
42
42
  - Existing workflows and their fields/phases
43
43
  - Existing insights
44
44
  - Existing apps and their purpose
@@ -352,7 +352,7 @@ project/
352
352
  1. [ ] Add workflow via SDK
353
353
  2. [ ] Define fields in fields.ts
354
354
  3. [ ] Define phases in phases.ts
355
- 4. [ ] Push and pull (get IDs) - Helga auto-spawns Alejandro for nameFunction + function fields (if any)
355
+ 4. [ ] Push and pull (get IDs) - Workflow Config auto-spawns Function Fields for nameFunction + function fields (if any)
356
356
  5. [ ] Verify in Hailer
357
357
 
358
358
  ---
@@ -453,7 +453,7 @@ project/
453
453
  ---
454
454
 
455
455
  ## Implementation Steps
456
- 1. [ ] Create insight via Viktor agent
456
+ 1. [ ] Create insight via SQL Insights sub-agent
457
457
  2. [ ] Test query results
458
458
  3. [ ] Set public flag (if needed for public app)
459
459
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Clean up codebase with Bjorn, Code Simplifier, and Lars
2
+ description: Clean up codebase with config audit, code simplification, and dead code detection
3
3
  argument-hint: [files, directory, or blank for recent changes]
4
4
  allowed-tools: Task, Bash
5
5
  ---
@@ -7,10 +7,10 @@ allowed-tools: Task, Bash
7
7
 
8
8
  Run parallel codebase cleanup using three agents simultaneously.
9
9
 
10
- **Agents:**
11
- - **Bjorn** - Configuration audit (verify CLAUDE.md, hooks, workspace structure)
10
+ **Roles:**
11
+ - **Config Auditor** - Configuration audit (verify CLAUDE.md, hooks, workspace structure)
12
12
  - **Code Simplifier** - Refactor (improve code clarity and maintainability)
13
- - **Lars** - Dead code detection (find unused imports, dead code, type errors)
13
+ - **Dead Code Inspector** - Dead code detection (find unused imports, dead code, type errors)
14
14
 
15
15
  **Target:** $ARGUMENTS (if blank, use recent git changes)
16
16
 
@@ -26,29 +26,29 @@ Otherwise, use the changed files list above as the target.
26
26
 
27
27
  If `$ARGUMENTS` contains `--skip-config`:
28
28
  - Remove flag from target
29
- - Skip Bjorn in Step 2
29
+ - Skip Config Auditor in Step 2
30
30
 
31
31
  If `$ARGUMENTS` contains `--skip-dead-code`:
32
32
  - Remove flag from target
33
- - Skip Lars in Step 2
33
+ - Skip Dead Code Inspector in Step 2
34
34
 
35
35
  ### Step 2: Launch Agents in Parallel
36
36
 
37
37
  Spawn all agents simultaneously using multiple Task tool calls in a single message:
38
38
 
39
- **Bjorn:**
39
+ **Config Auditor:**
40
40
  ```
41
- Task(subagent_type="agent-bjorn-config-audit", prompt="Audit codebase configuration for: [TARGET]. Check:\n- CLAUDE.md accuracy and completeness\n- Hook configurations\n- Workspace structure\n- Agent definitions\n\nReturn list of issues found with severity levels.")
41
+ Task(prompt="Audit codebase configuration for: [TARGET]. Check:\n- CLAUDE.md accuracy and completeness\n- Hook configurations\n- Workspace structure\n- Agent definitions\n\nReturn list of issues found with severity levels.")
42
42
  ```
43
43
 
44
44
  **Code Simplifier:**
45
45
  ```
46
- Task(subagent_type="agent-code-simplifier", prompt="Refactor these files for clarity and maintainability: [TARGET]. Focus on:\n- Variable naming\n- Function complexity\n- Comment clarity\n- Code organization\n\nReturn refactoring suggestions with before/after examples.")
46
+ Task(prompt="Refactor these files for clarity and maintainability: [TARGET]. Focus on:\n- Variable naming\n- Function complexity\n- Comment clarity\n- Code organization\n\nReturn refactoring suggestions with before/after examples.")
47
47
  ```
48
48
 
49
- **Lars:**
49
+ **Dead Code Inspector:**
50
50
  ```
51
- Task(subagent_type="agent-lars-code-inspector", prompt="Inspect these files for dead code: [TARGET]. Find:\n- Unused imports\n- Unreachable code\n- Unused variables\n- Type errors\n\nUse LSP if available. Return detailed list grouped by file.")
51
+ Task(prompt="Load lsp-setup skill for code inspection.\n\nInspect these files for dead code: [TARGET]. Find:\n- Unused imports\n- Unreachable code\n- Unused variables\n- Type errors\n\nUse LSP if available. Return detailed list grouped by file.")
52
52
  ```
53
53
 
54
54
  ### Step 3: Aggregate Results
@@ -58,18 +58,18 @@ Compile a unified cleanup report:
58
58
  ```markdown
59
59
  ## Cleanup Squad Report
60
60
 
61
- ### Bjorn (Config Audit)
61
+ ### Config Auditor
62
62
  - Issues found: X
63
63
  - Critical: X
64
64
  - Warnings: X
65
65
  - [Issues grouped by category]
66
66
 
67
- ### Code Simplifier (Refactoring)
67
+ ### Code Simplifier
68
68
  - Files analyzed: X
69
69
  - Refactoring suggestions: X
70
70
  - [Suggestions grouped by file]
71
71
 
72
- ### Lars (Dead Code)
72
+ ### Dead Code Inspector
73
73
  - Unused imports: X
74
74
  - Dead code blocks: X
75
75
  - Type errors: X
@@ -91,8 +91,8 @@ If any agent fails or times out, report partial results from successful agents,
91
91
 
92
92
  | Flag | Effect |
93
93
  |------|--------|
94
- | `--skip-config` | Skip Bjorn (faster, no config validation) |
95
- | `--skip-dead-code` | Skip Lars (when LSP not configured) |
94
+ | `--skip-config` | Skip Config Auditor (faster, no config validation) |
95
+ | `--skip-dead-code` | Skip Dead Code Inspector (when LSP not configured) |
96
96
  | `--bg` | Run all agents in background mode |
97
97
 
98
98
  If `--bg` is present, launch all agents with `run_in_background: true` and tell the user they'll be notified when complete.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Set up workflow config with Helga, Alejandro, and Viktor
2
+ description: Set up workflow config with infrastructure, functions, and insights
3
3
  argument-hint: "workflow/config description"
4
4
  allowed-tools: Task, Bash, Read
5
5
  ---
@@ -7,10 +7,10 @@ allowed-tools: Task, Bash, Read
7
7
 
8
8
  Sequential pipeline: Create workflow infrastructure, then calculated fields, then insights.
9
9
 
10
- **Agents:**
11
- 1. **Helga** - Workflow config (fields, phases, teams, groups)
12
- 2. **Alejandro** - Function fields and nameFunction
13
- 3. **Viktor** - SQL insights for reporting
10
+ **Roles:**
11
+ 1. **Workflow Config** - Workflow configuration (fields, phases, teams, groups)
12
+ 2. **Function Fields** - Calculated fields and nameFunction
13
+ 3. **SQL Insights** - SQL insights for reporting
14
14
 
15
15
  **Goal:** $ARGUMENTS
16
16
 
@@ -20,11 +20,11 @@ Sequential pipeline: Create workflow infrastructure, then calculated fields, the
20
20
 
21
21
  Parse `$ARGUMENTS` to determine what's needed:
22
22
 
23
- | Keyword | Agents to Use |
24
- |---------|---------------|
25
- | "workflow", "fields", "phases" | Helga (+ Alejandro if function fields mentioned) |
26
- | "insight", "report", "dashboard" | Viktor (may need Kenji first for schema) |
27
- | "function", "calculated", "nameFunction" | Alejandro only |
23
+ | Keyword | Steps to Run |
24
+ |---------|-------------|
25
+ | "workflow", "fields", "phases" | Workflow Config (+ Function Fields if calculated fields mentioned) |
26
+ | "insight", "report", "dashboard" | SQL Insights (may need schema discovery first) |
27
+ | "function", "calculated", "nameFunction" | Function Fields only |
28
28
  | General description | All three in sequence |
29
29
 
30
30
  If scope is unclear, use AskUserQuestion:
@@ -32,44 +32,44 @@ If scope is unclear, use AskUserQuestion:
32
32
  - Do you need calculated fields?
33
33
  - Do you need reports/insights?
34
34
 
35
- If `$ARGUMENTS` contains `--skip-insights`: skip Viktor.
36
- If `$ARGUMENTS` contains `--skip-functions`: skip Alejandro.
35
+ If `$ARGUMENTS` contains `--skip-insights`: skip SQL Insights step.
36
+ If `$ARGUMENTS` contains `--skip-functions`: skip Function Fields step.
37
37
 
38
- ### Step 2: Helga (Workflow Config)
38
+ ### Step 2: Workflow Config
39
39
 
40
- Spawn Helga:
40
+ Spawn a workflow config agent:
41
41
 
42
42
  ```
43
- Task(subagent_type="agent-helga-workflow-config", prompt="$ARGUMENTS")
43
+ Task(prompt="Load sdk-ws-config-skill for understanding workspace configuration.\n\n$ARGUMENTS")
44
44
  ```
45
45
 
46
- Wait for result. If Helga returns `"status": "ready_to_push"`:
47
- - Run the push commands she provides (e.g., `npm run fields-push:force`)
46
+ Wait for result. If the agent returns `"status": "ready_to_push"`:
47
+ - Run the push commands it provides (e.g., `npm run fields-push:force`)
48
48
  - Then run `npm run pull` to refresh local workspace with new IDs
49
49
 
50
- **Important:** Helga ALWAYS spawns Alejandro for nameFunction after creating a workflow. Check Helga's result - if she reports Alejandro created the nameFunction and all needed function fields, skip Step 3. Only proceed to Step 3 if additional function fields are needed beyond what Helga+Alejandro already created.
50
+ **Important:** The workflow config agent ALWAYS spawns a function fields agent for nameFunction after creating a workflow. Check the result - if it reports the function fields agent created the nameFunction and all needed function fields, skip Step 3. Only proceed to Step 3 if additional function fields are needed beyond what was already created.
51
51
 
52
- ### Step 3: Alejandro (Function Fields)
52
+ ### Step 3: Function Fields
53
53
 
54
- Only if function fields or nameFunction are needed and weren't handled by Helga.
54
+ Only if function fields or nameFunction are needed and weren't handled in Step 2.
55
55
 
56
- Spawn Alejandro:
56
+ Spawn a function fields agent:
57
57
 
58
58
  ```
59
- Task(subagent_type="agent-alejandro-function-fields", prompt="Create function fields for: $ARGUMENTS. Helga created these workflows: [SUMMARIZE HELGA'S RESULT - workflow names and any IDs she returned]. Read workspace/ to discover field IDs and types. New fields created by Helga: [LIST FROM HELGA'S RESULT IF ANY].")
59
+ Task(prompt="Load sdk-function-fields and sdk-ws-config-skill skills for creating calculated fields.\n\nCreate function fields for: $ARGUMENTS. Workflow config agent created these workflows: [SUMMARIZE STEP 2 RESULT - workflow names and any IDs returned]. Read workspace/ to discover field IDs and types. New fields created in Step 2: [LIST FROM STEP 2 RESULT IF ANY].")
60
60
  ```
61
61
 
62
62
  Wait for result. If `"status": "ready_to_push"`:
63
63
  - Run the push commands
64
64
 
65
- ### Step 4: Viktor (Insights)
65
+ ### Step 4: SQL Insights
66
66
 
67
67
  Only if reporting/insights are needed.
68
68
 
69
- Spawn Viktor:
69
+ Spawn an SQL insights agent:
70
70
 
71
71
  ```
72
- Task(subagent_type="agent-viktor-sql-insights", prompt="Create insights for: $ARGUMENTS. Read workspace/ to discover workflow IDs and field IDs for SQL queries. Helga created: [SUMMARIZE HELGA'S RESULT].")
72
+ Task(prompt="Load sdk-insight-queries and sdk-ws-config-skill skills for building insights.\n\nCreate insights for: $ARGUMENTS. Read workspace/ to discover workflow IDs and field IDs for SQL queries. Workflow config agent created: [SUMMARIZE STEP 2 RESULT].")
73
73
  ```
74
74
 
75
75
  Wait for result. If `"status": "ready_to_push"`:
@@ -80,18 +80,18 @@ Wait for result. If `"status": "ready_to_push"`:
80
80
  ```markdown
81
81
  ## Config Squad Complete
82
82
 
83
- ### Helga (Workflow Config)
83
+ ### Workflow Config
84
84
  - Workflows: [created/modified]
85
85
  - Fields: [count]
86
86
  - Phases: [count]
87
87
  - Commands run: [list]
88
88
 
89
- ### Alejandro (Function Fields)
89
+ ### Function Fields
90
90
  - Function fields: [list with formulas]
91
91
  - Name function: [pattern]
92
92
  - Skipped: [reason if skipped]
93
93
 
94
- ### Viktor (Insights)
94
+ ### SQL Insights
95
95
  - Insights: [list with descriptions]
96
96
  - Skipped: [reason if skipped]
97
97
 
@@ -102,5 +102,5 @@ Run `npm run pull` to ensure workspace/ is up to date.
102
102
  ## Notes
103
103
 
104
104
  - Each agent in the pipeline needs IDs from the previous step. Always `npm run pull` between steps.
105
- - Helga auto-spawns Alejandro for nameFunction - check her output before spawning Alejandro again.
106
- - Viktor needs real field IDs for SQL queries - never let him guess.
105
+ - Workflow config auto-spawns function fields agent for nameFunction - check the output before spawning separately.
106
+ - SQL insights agent needs real field IDs for SQL queries - never let it guess.