@hailer/mcp 1.1.16 → 1.1.17-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +15 -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,92 +0,0 @@
1
- ---
2
- name: SDK-generate-skill
3
- description: TypeScript type generation from Hailer workspace
4
- version: 1.0.0
5
- triggers: Generate types, TypeScript generation, update types, enums
6
- ---
7
-
8
- # SDK Type Generation
9
-
10
- Generate TypeScript types from your Hailer workspace configuration.
11
-
12
- ## Overview
13
-
14
- The SDK generates TypeScript types and enums from your workspace configuration, providing type-safe access to:
15
- - Workflow IDs
16
- - Field IDs
17
- - Phase IDs
18
- - Team IDs
19
- - Group IDs
20
- - Member IDs
21
-
22
- ---
23
-
24
- ## Generated Files
25
-
26
- After `npm run pull`, these files are auto-generated:
27
-
28
- ```
29
- workspace/
30
- ├── enums.ts # Type-safe ID constants (DO NOT EDIT)
31
- ├── hailer.d.ts # TypeScript definitions (DO NOT EDIT)
32
- ```
33
-
34
- ---
35
-
36
- ## Using Enums
37
-
38
- ```typescript
39
- import {
40
- WorkflowIds,
41
- Tasks_FieldIds,
42
- Tasks_PhaseIds,
43
- TeamIds,
44
- WorkspaceMembers
45
- } from './workspace/enums';
46
-
47
- // Reference workflow
48
- const workflowId = WorkflowIds.tasks;
49
-
50
- // Reference field
51
- const fieldId = Tasks_FieldIds.due_date;
52
-
53
- // Reference phase
54
- const phaseId = Tasks_PhaseIds.in_progress;
55
- ```
56
-
57
- ---
58
-
59
- ## Regenerating Types
60
-
61
- Types are regenerated automatically when you run:
62
-
63
- ```bash
64
- npm run pull
65
- ```
66
-
67
- **When to regenerate:**
68
- - After pushing new fields/phases/workflows
69
- - After team/group changes
70
- - When enums seem out of date
71
-
72
- ---
73
-
74
- ## Important Notes
75
-
76
- 1. **Never edit enums.ts manually** - It's auto-generated
77
- 2. **Pull after push** - Get new IDs into enums after adding items
78
- 3. **Use enums everywhere** - Never hardcode IDs as strings
79
- 4. **Type safety** - TypeScript will catch invalid ID references
80
-
81
- ---
82
-
83
- ## Troubleshooting
84
-
85
- **Enum not found after adding field:**
86
- 1. Ensure you ran `npm run fields-push:force`
87
- 2. Run `npm run pull` to regenerate enums
88
- 3. Check that the field was actually created in Hailer
89
-
90
- **Type errors after changes:**
91
- 1. Run `npm run pull` to sync
92
- 2. Restart TypeScript server in your IDE
@@ -1,127 +0,0 @@
1
- ---
2
- name: SDK-init-skill
3
- description: Initialize a new Hailer SDK project
4
- version: 1.0.0
5
- triggers: New project, init workspace, setup SDK, create workspace
6
- ---
7
-
8
- # SDK Project Initialization
9
-
10
- Setting up a new Hailer SDK workspace project.
11
-
12
- ## Overview
13
-
14
- A Hailer SDK project connects to a Hailer workspace and allows you to manage its configuration as infrastructure-as-code.
15
-
16
- ---
17
-
18
- ## Prerequisites
19
-
20
- - Node.js 18+
21
- - Access to a Hailer workspace
22
- - Workspace API credentials
23
-
24
- ---
25
-
26
- ## Project Structure
27
-
28
- A new SDK project has this structure:
29
-
30
- ```
31
- project/
32
- ├── workspace/ # SDK configuration (git-tracked)
33
- │ ├── workflows.ts # Workflow registry
34
- │ ├── enums.ts # Auto-generated IDs
35
- │ ├── teams.ts # Team definitions
36
- │ ├── groups.ts # Group definitions
37
- │ └── [Workflow]_[id]/ # Per-workflow config
38
- ├── .env # Credentials (git-ignored)
39
- ├── config.json # Workspace configuration
40
- ├── package.json # Dependencies
41
- ├── tsconfig.json # TypeScript config
42
- └── vitest.config.ts # Test configuration
43
- ```
44
-
45
- ---
46
-
47
- ## Setup Steps
48
-
49
- ### 1. Create Project
50
-
51
- ```bash
52
- mkdir my-hailer-project
53
- cd my-hailer-project
54
- npm init -y
55
- ```
56
-
57
- ### 2. Install SDK
58
-
59
- ```bash
60
- npm install @hailer/sdk typescript vitest --save-dev
61
- ```
62
-
63
- ### 3. Configure Credentials
64
-
65
- Create `.env`:
66
- ```
67
- HAILER_API_KEY=your_api_key
68
- HAILER_WORKSPACE_ID=your_workspace_id
69
- ```
70
-
71
- Create `config.json`:
72
- ```json
73
- {
74
- "workspaceId": "your_workspace_id",
75
- "apiUrl": "https://api.hailer.com"
76
- }
77
- ```
78
-
79
- ### 4. Pull Initial Configuration
80
-
81
- ```bash
82
- npm run pull
83
- ```
84
-
85
- This downloads the current workspace configuration into `workspace/`.
86
-
87
- ### 5. Add Claude Code Setup (Optional)
88
-
89
- ```bash
90
- /setup-hailer
91
- ```
92
-
93
- This copies agents, skills, and hooks from the reference.
94
-
95
- ---
96
-
97
- ## First Workflow
98
-
99
- The SDK creates workspace with one default workflow. To add more:
100
-
101
- 1. Edit `workspace/workflows.ts`
102
- 2. Run `npm run workflows-sync:force`
103
- 3. Run `npm run pull` to get new IDs
104
-
105
- ---
106
-
107
- ## Git Setup
108
-
109
- ```bash
110
- git init
111
- echo ".env" >> .gitignore
112
- echo "node_modules" >> .gitignore
113
- git add -A
114
- git commit -m "Initial SDK setup"
115
- ```
116
-
117
- ---
118
-
119
- ## Verification
120
-
121
- After setup, verify by running:
122
-
123
- ```bash
124
- npm run pull
125
- ```
126
-
127
- Should complete without errors and populate `workspace/` with your configuration.
@@ -1,98 +0,0 @@
1
- ---
2
- name: agent-structure
3
- description: Template for creating new Hailer SDK agents
4
- version: 1.1.0
5
- triggers: create agent, new agent, agent template
6
- ---
7
-
8
- # Agent Structure Template
9
-
10
- Use this template when creating new agents.
11
-
12
- ## File Location
13
-
14
- `.claude/agents/agent-{name}-{role}.md`
15
-
16
- ## Template
17
-
18
- ```markdown
19
- ---
20
- name: agent-{name}-{role}
21
- description: What it does.\n\n<example>\nuser: "request"\nassistant: {"status":"success","result":{},"summary":"Done"}\n</example>
22
- model: haiku|sonnet
23
- tools: tool_1, tool_2
24
- ---
25
-
26
- <identity>
27
- I am {Name}, {nationality} {role} specialist. {Philosophy}. Output JSON. Full stop.
28
- </identity>
29
-
30
- <handles>
31
- - Task 1
32
- - Task 2
33
- </handles>
34
-
35
- <skills>
36
- Load `skill-name` before complex tasks.
37
- </skills>
38
-
39
- <rules>
40
- 1. **NEVER FABRICATE** - Must call tools.
41
- 2. Rule 2
42
- 3. Rule 3
43
- </rules>
44
-
45
- <protocol>
46
- Input: JSON task spec
47
- Output: JSON only
48
- Schema: { "status": "success|error", "result": {}, "summary": "max 50 chars" }
49
- </protocol>
50
- ```
51
-
52
- ## Identity Shapes Behavior
53
-
54
- **The `<identity>` section is the most powerful lever for agent behavior** - more than rules.
55
-
56
- Rules tell agents what NOT to do. Identity tells them WHO they are and HOW they work. When an agent fabricates results despite having "NEVER FABRICATE" as rule 1, the fix is usually to rewrite identity to emphasize tool-first behavior.
57
-
58
- **Good identity (tool-centric):**
59
- ```
60
- I am Kenji. I read files. I query APIs. I verify data. Every answer comes from a tool call. Output JSON. Full stop.
61
- ```
62
-
63
- **Weak identity (role-centric only):**
64
- ```
65
- I am Kenji, a data reader specialist.
66
- ```
67
-
68
- **Additionally:** Give explicit step-by-step commands in the Task prompt, not just "do X". Agents follow concrete instructions better than abstract goals.
69
-
70
- ## Model Selection
71
-
72
- | Model | Use for | Cost |
73
- |-------|---------|------|
74
- | `haiku` | Procedural/checklist work, CRUD, simple lookups | Cheap, fast |
75
- | `sonnet` | Complex reasoning, code generation, validation logic | More expensive |
76
-
77
- ## Status Values
78
-
79
- | Status | Meaning | Orchestrator Action |
80
- |--------|---------|---------------------|
81
- | `success` | Task completed | Report to user |
82
- | `error` | Task failed | Report error, maybe retry |
83
- | `ready_to_push` | Files edited, needs push | Run commands in `commands` array |
84
- | `needs_confirmation` | Destructive action | Ask user, then run `safe_command` |
85
-
86
- ## Naming Convention
87
-
88
- - `agent-kenji-data-reader` - Kenji reads data
89
- - `agent-helga-workflow-config` - Helga configures workflows
90
- - `agent-igor-activity-mover-automation` - Igor builds activity movers
91
-
92
- Pattern: `agent-{firstname}-{domain}`
93
-
94
- ## Customization
95
-
96
- - **CREATE:** Add to `.claude/agents/`
97
- - **MODIFY:** Edit `.claude/agents/*.md`
98
- - **DISABLE:** Move to `docs/agents/`
@@ -1,202 +0,0 @@
1
- ---
2
- name: delegation-routing
3
- description: Full agent routing table, chaining patterns, and delegation protocol
4
- version: 1.0.1
5
- triggers: which agent, routing, delegate, agent for, chain agents, multi-agent
6
- ---
7
-
8
- # Agent Delegation & Routing
9
-
10
- Load this skill when:
11
- - Routing is ambiguous ("is this Viktor or Alejandro?")
12
- - Planning multi-agent orchestration
13
- - User asks "which agent for X?"
14
-
15
- ---
16
-
17
- ## Full Agent Routing Table
18
-
19
- ### Data & Config
20
- | Agent | Purpose | When to Use |
21
- |-------|---------|-------------|
22
- | **Kenji** | LOCAL-FIRST data retrieval - reads workspace/ before API | Schema lookups, field lists, workflow metadata, activity counts |
23
- | **Dmitri** | Creates and updates Hailer activity data (WRITE-ONLY) | Single/bulk activity creation, updates, phase transitions |
24
- | **Helga** | Manages workspace config as infrastructure-as-code | Create workflows, add fields/phases, teams, groups, permissions. **Auto-spawns Alejandro** for name functions (always) + function fields (if PRD specifies) |
25
-
26
- ### Apps & UI
27
- | Agent | Purpose | When to Use |
28
- |-------|---------|-------------|
29
- | **Giuseppe** | Builds Hailer apps with @hailer/app-sdk and Chakra UI | Full React/TypeScript app development with Hailer Design System |
30
- | **Marco** | Creates demo apps (non-functional) for validation | Fast prototyping, stakeholder demos before building production |
31
- | **UI Designer** | Designs app interfaces - layout, components, aesthetic | Design spec creation before Giuseppe builds (tone, signature element) |
32
-
33
- ### Insights & Reports
34
- | Agent | Purpose | When to Use |
35
- |-------|---------|-------------|
36
- | **Viktor** | Creates SQL-like insights over workflow data | Reports, cross-workflow JOINs, aggregations, GROUP BY queries |
37
- | **Alejandro** | Creates calculated function fields AND workflow nameFunctions | Arithmetic, conditionals, date calculations, backlink aggregation, dynamic activity naming. *(Auto-spawned by Helga)* |
38
-
39
- ### Documents
40
- | Agent | Purpose | When to Use |
41
- |-------|---------|-------------|
42
- | **Ingrid** | Document template specialist (PDF/CSV) | Create/update document templates with field mappings and pdfmake |
43
-
44
- ### Integrations
45
- | Agent | Purpose | When to Use |
46
- |-------|---------|-------------|
47
- | **Igor** | Builds activity mover microservices | Phase cascade bots, trigger-based phase transitions |
48
- | **Ivan** | Builds automations in hailer-integration monolith | Webhooks, scheduled jobs, Netvisor/Procountor/Severa integrations |
49
- | **Zara** | Builds Zapier integrations for Hailer | Triggers, actions, Zap configurations (exports JSON for manual upload) |
50
-
51
- ### Code Quality
52
- | Agent | Purpose | When to Use |
53
- |-------|---------|-------------|
54
- | **Svetlana** | Reviews code for bugs, security, best practices (READ-ONLY) | Pre-commit reviews, PR reviews, security audits |
55
- | **Lars** | LSP-powered code intelligence | Find dead code, unused imports, type errors via LSP only |
56
- | **Tanya** | Automated testing agent | Run vitest for functions, playwright for apps, verify builds |
57
-
58
- ### Tools & API
59
- | Agent | Purpose | When to Use |
60
- |-------|---------|-------------|
61
- | **Gunther** | Builds MCP tools for Hailer MCP server | Create new MCP tools with Zod schemas in src/mcp/tools/ |
62
- | **Marcus** | Documents Hailer API endpoints | RPC/REST endpoint docs, Joi schema extraction, @hailer/cli examples |
63
-
64
- ### Plugin System
65
- | Agent | Purpose | When to Use |
66
- |-------|---------|-------------|
67
- | **Ada** | Creates skills from failure patterns | Detect agent failures, create skills, update agent definitions |
68
- | **Builder** | Creates lean, token-efficient agents | New agents, refactor bloated agents, ensure SDK compatibility |
69
- | **Bjorn** | Audits codebase configuration | Verify CLAUDE.md accuracy, hook configs, workspace structure |
70
- | **Marketplace Publisher** | Publishes plugins to marketplace | Version check, publish plugins, create PRs, git workflows |
71
- | **Marketplace Reviewer** | AI-powered PR reviewer for marketplace | Validate schemas, check versions, auto-merge approved PRs |
72
-
73
- ### Communication
74
- | Agent | Purpose | When to Use |
75
- |-------|---------|-------------|
76
- | **Yevgeni** | Handles Hailer discussions | Read threads, post messages, invite/remove members |
77
- | **Permissions Handler** | Manages Hailer app permissions | Grant/revoke user and team access to apps |
78
-
79
- ### Utility
80
- | Agent | Purpose | When to Use |
81
- |-------|---------|-------------|
82
- | **Simple Writer** | Lightweight agent for basic code edits | ID replacements, string swaps, small fixes (faster than Giuseppe) |
83
- | **Code Simplifier** | Simplifies code for clarity and maintainability | After completing features, offer to run |
84
- | **Web Search** | Web research agent - searches and summarizes | Documentation lookups, current info, how-to questions (saves orchestrator context) |
85
-
86
- ---
87
-
88
- ## Don't Confuse These
89
-
90
- | Agents | Distinction |
91
- |--------|-------------|
92
- | **Marco** vs **Giuseppe** | Marco = demo apps (non-functional mockups), Giuseppe = production apps |
93
- | **Igor** vs **Ivan** vs **Zara** | Igor = phase cascades (activity mover), Ivan = heavy/third-party integrations, Zara = Zapier only |
94
- | **Kenji** vs **Dmitri** | Kenji = READ data, Dmitri = WRITE data |
95
- | **Viktor** vs **Alejandro** | Viktor = SQL insights (read-only reports), Alejandro = function fields (calculated values stored on activities) |
96
-
97
- ---
98
-
99
- ## Agent Chaining Patterns
100
-
101
- Some tasks require multiple agents in sequence. When agent returns `ready_to_push`, orchestrator runs the command automatically.
102
-
103
- ### Add a New Field
104
- ```
105
- Kenji → get IDs → Helga → add field (ready_to_push) → run push → Kenji → verify
106
- ```
107
-
108
- ### Create App with Workflow Data
109
- ```
110
- Kenji → get structure → Viktor → create insight (if needed) → Giuseppe → build app → Tanya → test
111
- ```
112
-
113
- ### Add Calculated Field
114
- ```
115
- Kenji → get field IDs → Alejandro → create function (ready_to_push) → run push → Tanya → test
116
- ```
117
-
118
- ### Create Activity
119
- ```
120
- Kenji → get IDs → Dmitri → create activity
121
- ```
122
-
123
- ### Build Activity Mover
124
- ```
125
- Kenji → get IDs → Helga → add metaData field (ready_to_push) → run push → Igor → build mover → Tanya → test
126
- ```
127
-
128
- ### Validate UI First
129
- ```
130
- Kenji → get structure → Marco → demo app → (user validates) → Giuseppe → production app
131
- ```
132
-
133
- ### On Chain Failure
134
- - Kenji can't find ID → ask user to confirm name, suggest `/ws-pull`
135
- - Push fails → delegate to Bjorn for config audit
136
- - Tests fail → delegate to Svetlana for review
137
-
138
- ---
139
-
140
- ## Delegation Protocol
141
-
142
- ```
143
- Task(subagent_type="agent-name", prompt="JSON task spec", model="haiku|sonnet")
144
- ```
145
-
146
- ### Input Format
147
- ```json
148
- {
149
- "task": "action",
150
- "context": {
151
- "workflow_id": "...",
152
- "field_ids": {}
153
- },
154
- "output": []
155
- }
156
- ```
157
-
158
- ### Output Format (JSON only, no prose)
159
- ```json
160
- {
161
- "status": "success|error|ready_to_push|needs_confirmation",
162
- "result": {},
163
- "summary": "max 50 chars"
164
- }
165
- ```
166
-
167
- ### Status Values
168
- | Status | Meaning | Orchestrator Action |
169
- |--------|---------|---------------------|
170
- | `success` | Task completed | Report to user |
171
- | `error` | Task failed | Report error, maybe retry |
172
- | `ready_to_push` | Files edited, needs push | Run commands in `commands` array |
173
- | `needs_confirmation` | Destructive action | Ask user, then run `safe_command` |
174
-
175
- ### Flow
176
- Get IDs first (Kenji) → then pass to execution agents
177
-
178
- ---
179
-
180
- ## Task Usage for Multi-Agent Work
181
-
182
- Use TaskCreate/TaskUpdate when orchestrating multiple agents:
183
-
184
- **Use tasks for:**
185
- - Multi-agent orchestration (Helga spawning Alejandro)
186
- - Multi-step PRD implementation
187
- - Work that might span multiple turns
188
- - Complex chains where tracking progress matters
189
-
190
- **Skip tasks for:**
191
- - Single-agent operations (quick field lookup, one activity creation)
192
- - Simple edits (ID replacements, string swaps)
193
- - Operations that complete in one turn
194
-
195
- **Example: Creating a workflow with calculated fields**
196
- ```
197
- TaskCreate: "Create Employees workflow"
198
- TaskCreate: "Add name function to Employees" (blockedBy: workflow task)
199
- TaskCreate: "Add Tenure calculated field" (blockedBy: workflow task)
200
- ```
201
-
202
- Mark tasks `in_progress` before delegating, `completed` after agent returns success.