@hailer/mcp 1.1.12 → 1.1.13

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 (271) hide show
  1. package/CHANGELOG.md +0 -7
  2. package/{.claude → dist}/CLAUDE.md +2 -2
  3. package/dist/app.js +18 -5
  4. package/dist/bot/bot-config.d.ts +10 -1
  5. package/dist/bot/bot-config.js +64 -3
  6. package/dist/bot/bot-manager.d.ts +2 -0
  7. package/dist/bot/bot-manager.js +9 -2
  8. package/dist/bot/bot.d.ts +33 -0
  9. package/dist/bot/bot.js +461 -160
  10. package/dist/bot/services/message-classifier.js +17 -0
  11. package/dist/bot/services/permission-guard.d.ts +52 -0
  12. package/dist/bot/services/permission-guard.js +149 -0
  13. package/dist/bot/services/types.d.ts +5 -0
  14. package/dist/bot/services/typing-indicator.d.ts +6 -1
  15. package/dist/bot/services/typing-indicator.js +19 -3
  16. package/dist/cli.js +0 -0
  17. package/dist/config.d.ts +6 -1
  18. package/dist/config.js +43 -0
  19. package/dist/core.js +3 -6
  20. package/dist/lib/discussion-lock.d.ts +42 -0
  21. package/dist/lib/discussion-lock.js +110 -0
  22. package/dist/mcp/UserContextCache.d.ts +5 -0
  23. package/dist/mcp/UserContextCache.js +51 -19
  24. package/dist/mcp/hailer-clients.d.ts +19 -1
  25. package/dist/mcp/hailer-clients.js +158 -24
  26. package/dist/mcp/session-store.d.ts +68 -0
  27. package/dist/mcp/session-store.js +169 -0
  28. package/dist/mcp/signal-handler.js +2 -0
  29. package/dist/mcp/tool-registry.d.ts +17 -4
  30. package/dist/mcp/tool-registry.js +37 -7
  31. package/dist/mcp/tools/activity.js +99 -7
  32. package/dist/mcp/tools/app-scaffold.js +304 -336
  33. package/dist/mcp/tools/bot-config/constants.d.ts +23 -0
  34. package/dist/mcp/tools/bot-config/constants.js +94 -0
  35. package/dist/mcp/tools/bot-config/core.d.ts +253 -0
  36. package/dist/mcp/tools/bot-config/core.js +2456 -0
  37. package/dist/mcp/tools/bot-config/index.d.ts +10 -0
  38. package/dist/mcp/tools/bot-config/index.js +59 -0
  39. package/dist/mcp/tools/bot-config/tools.d.ts +7 -0
  40. package/dist/mcp/tools/bot-config/tools.js +15 -0
  41. package/dist/mcp/tools/bot-config/types.d.ts +50 -0
  42. package/dist/mcp/tools/bot-config/types.js +6 -0
  43. package/dist/mcp/tools/bug-fixer-tools.d.ts +45 -0
  44. package/dist/mcp/tools/bug-fixer-tools.js +1096 -0
  45. package/dist/mcp/tools/company.d.ts +9 -0
  46. package/dist/mcp/tools/company.js +88 -0
  47. package/dist/mcp/tools/discussion.js +68 -0
  48. package/dist/mcp/tools/document.d.ts +11 -0
  49. package/dist/mcp/tools/document.js +741 -0
  50. package/dist/mcp/tools/investigate.d.ts +9 -0
  51. package/dist/mcp/tools/investigate.js +254 -0
  52. package/dist/mcp/tools/workflow-permissions.d.ts +15 -0
  53. package/dist/mcp/tools/workflow-permissions.js +204 -0
  54. package/dist/mcp/tools/workflow.js +57 -18
  55. package/dist/mcp/utils/index.d.ts +2 -0
  56. package/dist/mcp/utils/index.js +12 -1
  57. package/dist/mcp/utils/role-utils.d.ts +74 -0
  58. package/dist/mcp/utils/role-utils.js +151 -0
  59. package/dist/mcp/utils/types.d.ts +43 -1
  60. package/dist/mcp/utils/types.js +14 -0
  61. package/dist/mcp/webhook-handler.d.ts +4 -0
  62. package/dist/mcp/webhook-handler.js +8 -0
  63. package/dist/mcp-server.d.ts +23 -2
  64. package/dist/mcp-server.js +639 -127
  65. package/dist/plugins/vipunen/client.d.ts +150 -0
  66. package/dist/plugins/vipunen/client.js +535 -0
  67. package/dist/plugins/vipunen/config/schema-config.json +19 -0
  68. package/dist/plugins/vipunen/config/schema-doc.json +22 -0
  69. package/dist/plugins/vipunen/index.d.ts +41 -0
  70. package/dist/plugins/vipunen/index.js +88 -0
  71. package/dist/plugins/vipunen/tools.d.ts +26 -0
  72. package/dist/plugins/vipunen/tools.js +501 -0
  73. package/dist/stdio-server.d.ts +14 -0
  74. package/dist/stdio-server.js +101 -0
  75. package/package.json +2 -1
  76. package/.claude/agents/agent-ada-skill-builder.md +0 -94
  77. package/.claude/agents/agent-alejandro-function-fields.md +0 -342
  78. package/.claude/agents/agent-bjorn-config-audit.md +0 -103
  79. package/.claude/agents/agent-builder-agent-creator.md +0 -130
  80. package/.claude/agents/agent-code-simplifier.md +0 -53
  81. package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
  82. package/.claude/agents/agent-giuseppe-app-builder.md +0 -247
  83. package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
  84. package/.claude/agents/agent-helga-workflow-config.md +0 -204
  85. package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
  86. package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
  87. package/.claude/agents/agent-ivan-monolith.md +0 -154
  88. package/.claude/agents/agent-kenji-data-reader.md +0 -86
  89. package/.claude/agents/agent-lars-code-inspector.md +0 -102
  90. package/.claude/agents/agent-marco-mockup-builder.md +0 -110
  91. package/.claude/agents/agent-marcus-api-documenter.md +0 -323
  92. package/.claude/agents/agent-marketplace-publisher.md +0 -280
  93. package/.claude/agents/agent-marketplace-reviewer.md +0 -309
  94. package/.claude/agents/agent-permissions-handler.md +0 -208
  95. package/.claude/agents/agent-simple-writer.md +0 -48
  96. package/.claude/agents/agent-svetlana-code-review.md +0 -171
  97. package/.claude/agents/agent-tanya-test-runner.md +0 -333
  98. package/.claude/agents/agent-ui-designer.md +0 -100
  99. package/.claude/agents/agent-viktor-sql-insights.md +0 -212
  100. package/.claude/agents/agent-web-search.md +0 -55
  101. package/.claude/agents/agent-yevgeni-discussions.md +0 -45
  102. package/.claude/agents/agent-zara-zapier.md +0 -159
  103. package/.claude/commands/app-squad.md +0 -135
  104. package/.claude/commands/audit-squad.md +0 -158
  105. package/.claude/commands/autoplan.md +0 -563
  106. package/.claude/commands/cleanup-squad.md +0 -98
  107. package/.claude/commands/config-squad.md +0 -106
  108. package/.claude/commands/crud-squad.md +0 -87
  109. package/.claude/commands/data-squad.md +0 -97
  110. package/.claude/commands/debug-squad.md +0 -303
  111. package/.claude/commands/doc-squad.md +0 -65
  112. package/.claude/commands/handoff.md +0 -137
  113. package/.claude/commands/health.md +0 -49
  114. package/.claude/commands/help.md +0 -29
  115. package/.claude/commands/help:agents.md +0 -151
  116. package/.claude/commands/help:commands.md +0 -78
  117. package/.claude/commands/help:faq.md +0 -79
  118. package/.claude/commands/help:plugins.md +0 -50
  119. package/.claude/commands/help:skills.md +0 -93
  120. package/.claude/commands/help:tools.md +0 -75
  121. package/.claude/commands/hotfix-squad.md +0 -112
  122. package/.claude/commands/integration-squad.md +0 -82
  123. package/.claude/commands/janitor-squad.md +0 -167
  124. package/.claude/commands/learn-auto.md +0 -120
  125. package/.claude/commands/learn.md +0 -120
  126. package/.claude/commands/mcp-list.md +0 -27
  127. package/.claude/commands/onboard-squad.md +0 -140
  128. package/.claude/commands/plan-workspace.md +0 -732
  129. package/.claude/commands/prd.md +0 -130
  130. package/.claude/commands/project-status.md +0 -82
  131. package/.claude/commands/publish.md +0 -138
  132. package/.claude/commands/recap.md +0 -69
  133. package/.claude/commands/restore.md +0 -64
  134. package/.claude/commands/review-squad.md +0 -152
  135. package/.claude/commands/save.md +0 -24
  136. package/.claude/commands/stats.md +0 -19
  137. package/.claude/commands/swarm.md +0 -210
  138. package/.claude/commands/tool-builder.md +0 -39
  139. package/.claude/commands/ws-pull.md +0 -44
  140. package/.claude/hooks/_shared-memory.cjs +0 -305
  141. package/.claude/hooks/_utils.cjs +0 -108
  142. package/.claude/hooks/agent-failure-detector.cjs +0 -383
  143. package/.claude/hooks/agent-usage-logger.cjs +0 -204
  144. package/.claude/hooks/app-edit-guard.cjs +0 -494
  145. package/.claude/hooks/auto-learn.cjs +0 -304
  146. package/.claude/hooks/bash-guard.cjs +0 -272
  147. package/.claude/hooks/builder-mode-manager.cjs +0 -354
  148. package/.claude/hooks/bulk-activity-guard.cjs +0 -271
  149. package/.claude/hooks/context-watchdog.cjs +0 -230
  150. package/.claude/hooks/delegation-reminder.cjs +0 -465
  151. package/.claude/hooks/design-system-lint.cjs +0 -271
  152. package/.claude/hooks/post-scaffold-hook.cjs +0 -181
  153. package/.claude/hooks/prompt-guard.cjs +0 -354
  154. package/.claude/hooks/publish-template-guard.cjs +0 -147
  155. package/.claude/hooks/session-start.cjs +0 -35
  156. package/.claude/hooks/shared-memory-writer.cjs +0 -147
  157. package/.claude/hooks/skill-injector.cjs +0 -140
  158. package/.claude/hooks/skill-usage-logger.cjs +0 -258
  159. package/.claude/hooks/src-edit-guard.cjs +0 -240
  160. package/.claude/hooks/sync-marketplace-agents.cjs +0 -346
  161. package/.claude/settings.json +0 -257
  162. package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
  163. package/.claude/skills/SDK-document-templates/SKILL.md +0 -1033
  164. package/.claude/skills/SDK-function-fields/SKILL.md +0 -542
  165. package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
  166. package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
  167. package/.claude/skills/SDK-insight-queries/SKILL.md +0 -787
  168. package/.claude/skills/SDK-ws-config-skill/SKILL.md +0 -1139
  169. package/.claude/skills/agent-structure/SKILL.md +0 -98
  170. package/.claude/skills/api-documentation-patterns/SKILL.md +0 -474
  171. package/.claude/skills/chrome-mcp-reference/SKILL.md +0 -370
  172. package/.claude/skills/delegation-routing/SKILL.md +0 -202
  173. package/.claude/skills/frontend-design/SKILL.md +0 -254
  174. package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
  175. package/.claude/skills/hailer-api-client/SKILL.md +0 -518
  176. package/.claude/skills/hailer-app-builder/SKILL.md +0 -1434
  177. package/.claude/skills/hailer-apps-pictures/SKILL.md +0 -269
  178. package/.claude/skills/hailer-design-system/SKILL.md +0 -235
  179. package/.claude/skills/hailer-monolith-automations/SKILL.md +0 -686
  180. package/.claude/skills/hailer-permissions-system/SKILL.md +0 -121
  181. package/.claude/skills/hailer-project-protocol/SKILL.md +0 -488
  182. package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
  183. package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
  184. package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
  185. package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
  186. package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
  187. package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
  188. package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
  189. package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
  190. package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
  191. package/.claude/skills/integration-patterns/SKILL.md +0 -421
  192. package/.claude/skills/json-only-output/SKILL.md +0 -72
  193. package/.claude/skills/lsp-setup/SKILL.md +0 -160
  194. package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
  195. package/.claude/skills/optional-parameters/SKILL.md +0 -72
  196. package/.claude/skills/publish-hailer-app/SKILL.md +0 -244
  197. package/.claude/skills/testing-patterns/SKILL.md +0 -630
  198. package/.claude/skills/tool-builder/SKILL.md +0 -250
  199. package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
  200. package/.claude/skills/tool-response-verification/SKILL.md +0 -92
  201. package/.claude/skills/zapier-hailer-patterns/SKILL.md +0 -581
  202. package/.mcp.json +0 -13
  203. package/.opencode/agent/agent-ada-skill-builder.md +0 -35
  204. package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
  205. package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
  206. package/.opencode/agent/agent-builder-agent-creator.md +0 -39
  207. package/.opencode/agent/agent-code-simplifier.md +0 -31
  208. package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
  209. package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
  210. package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
  211. package/.opencode/agent/agent-helga-workflow-config.md +0 -203
  212. package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
  213. package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
  214. package/.opencode/agent/agent-ivan-monolith.md +0 -46
  215. package/.opencode/agent/agent-kenji-data-reader.md +0 -53
  216. package/.opencode/agent/agent-lars-code-inspector.md +0 -28
  217. package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
  218. package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
  219. package/.opencode/agent/agent-marketplace-publisher.md +0 -44
  220. package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
  221. package/.opencode/agent/agent-permissions-handler.md +0 -50
  222. package/.opencode/agent/agent-simple-writer.md +0 -45
  223. package/.opencode/agent/agent-svetlana-code-review.md +0 -39
  224. package/.opencode/agent/agent-tanya-test-runner.md +0 -57
  225. package/.opencode/agent/agent-ui-designer.md +0 -56
  226. package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
  227. package/.opencode/agent/agent-web-search.md +0 -42
  228. package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
  229. package/.opencode/agent/agent-zara-zapier.md +0 -53
  230. package/.opencode/commands/app-squad.md +0 -135
  231. package/.opencode/commands/audit-squad.md +0 -158
  232. package/.opencode/commands/autoplan.md +0 -563
  233. package/.opencode/commands/cleanup-squad.md +0 -98
  234. package/.opencode/commands/config-squad.md +0 -106
  235. package/.opencode/commands/crud-squad.md +0 -87
  236. package/.opencode/commands/data-squad.md +0 -97
  237. package/.opencode/commands/debug-squad.md +0 -303
  238. package/.opencode/commands/doc-squad.md +0 -65
  239. package/.opencode/commands/handoff.md +0 -137
  240. package/.opencode/commands/health.md +0 -49
  241. package/.opencode/commands/help-agents.md +0 -151
  242. package/.opencode/commands/help-commands.md +0 -32
  243. package/.opencode/commands/help-faq.md +0 -29
  244. package/.opencode/commands/help-plugins.md +0 -28
  245. package/.opencode/commands/help-skills.md +0 -7
  246. package/.opencode/commands/help-tools.md +0 -40
  247. package/.opencode/commands/help.md +0 -28
  248. package/.opencode/commands/hotfix-squad.md +0 -112
  249. package/.opencode/commands/integration-squad.md +0 -82
  250. package/.opencode/commands/janitor-squad.md +0 -167
  251. package/.opencode/commands/learn-auto.md +0 -120
  252. package/.opencode/commands/learn.md +0 -120
  253. package/.opencode/commands/mcp-list.md +0 -27
  254. package/.opencode/commands/onboard-squad.md +0 -140
  255. package/.opencode/commands/plan-workspace.md +0 -732
  256. package/.opencode/commands/prd.md +0 -131
  257. package/.opencode/commands/project-status.md +0 -82
  258. package/.opencode/commands/publish.md +0 -138
  259. package/.opencode/commands/recap.md +0 -69
  260. package/.opencode/commands/restore.md +0 -64
  261. package/.opencode/commands/review-squad.md +0 -152
  262. package/.opencode/commands/save.md +0 -24
  263. package/.opencode/commands/stats.md +0 -19
  264. package/.opencode/commands/swarm.md +0 -210
  265. package/.opencode/commands/tool-builder.md +0 -39
  266. package/.opencode/commands/ws-pull.md +0 -44
  267. package/.opencode/opencode.json +0 -28
  268. package/SESSION-HANDOFF.md +0 -68
  269. package/inbox/2026-03-04-bot-config-patterns.md +0 -24
  270. package/scripts/postinstall.cjs +0 -64
  271. package/scripts/test-hal-tools.ts +0 -154
@@ -1,254 +0,0 @@
1
- ---
2
- name: frontend-design
3
- version: 1.0.0
4
- ---
5
-
6
- # Frontend Design
7
-
8
- <purpose>
9
- Design principles and patterns for creating effective UI mockups. Covers layout systems, visual hierarchy, color and typography, responsive design, and component organization for prototype and demo applications.
10
- </purpose>
11
-
12
- <patterns>
13
-
14
- ## Layout Principles
15
-
16
- ### Grid Systems
17
- - **12-column grid**: Standard for flexibility (divides into 2, 3, 4, 6)
18
- - **Content width**: 1200px max for readability, centered
19
- - **Gutters**: 16-24px between columns
20
- - **Margins**: 16px mobile, 24px tablet, 32px+ desktop
21
-
22
- ### Common Layouts
23
- ```
24
- Dashboard: [Sidebar 240px] [Main Content flex-1]
25
- List View: [Filters 280px] [Table/Cards flex-1]
26
- Detail View: [Main 2/3] [Sidebar 1/3]
27
- Form: [Labels 1/3] [Inputs 2/3] or stacked on mobile
28
- ```
29
-
30
- ### Spacing Scale
31
- Use consistent spacing multipliers:
32
- - **4px**: Tight (icon padding)
33
- - **8px**: Compact (button padding)
34
- - **16px**: Default (card padding, list gaps)
35
- - **24px**: Comfortable (section gaps)
36
- - **32px**: Spacious (page sections)
37
- - **48px+**: Major sections
38
-
39
- ## Visual Hierarchy
40
-
41
- ### Size Hierarchy
42
- ```
43
- Hero/Page Title: 32-48px, bold
44
- Section Headers: 24-28px, semibold
45
- Card Titles: 18-20px, medium
46
- Body Text: 14-16px, regular
47
- Captions/Labels: 12-13px, regular/medium
48
- ```
49
-
50
- ### Emphasis Techniques
51
- 1. **Size**: Larger = more important
52
- 2. **Weight**: Bold draws attention
53
- 3. **Color**: Brand color for CTAs, muted for secondary
54
- 4. **Space**: More whitespace = more prominence
55
- 5. **Position**: Top-left reads first (F-pattern)
56
-
57
- ### Information Density
58
- - **Scannable**: Bold labels, regular values
59
- - **Grouped**: Related info in cards/sections
60
- - **Progressive**: Summary first, details on demand
61
-
62
- ## Color Usage
63
-
64
- ### Semantic Colors
65
- ```
66
- Primary: Brand action (buttons, links)
67
- Secondary: Less important actions
68
- Success: Confirmations, positive states (green)
69
- Warning: Caution, attention needed (yellow/orange)
70
- Error: Problems, destructive actions (red)
71
- Info: Neutral information (blue)
72
- ```
73
-
74
- ### Background Hierarchy
75
- ```
76
- Page: gray.50 or white
77
- Card: white (with subtle shadow)
78
- Hover: gray.100
79
- Selected: brand.50 or blue.50
80
- Disabled: gray.100 with gray.400 text
81
- ```
82
-
83
- ### Contrast Requirements
84
- - Text on background: 4.5:1 minimum (WCAG AA)
85
- - Large text: 3:1 minimum
86
- - UI components: 3:1 against adjacent colors
87
-
88
- ## Typography
89
-
90
- ### Font Pairing
91
- - **Headings**: Inter, Poppins, or system sans-serif
92
- - **Body**: Same family, different weight
93
- - **Monospace**: For code, IDs, technical values
94
-
95
- ### Line Height
96
- - Headings: 1.2-1.3
97
- - Body text: 1.5-1.6
98
- - UI labels: 1.2
99
-
100
- ### Text Alignment
101
- - Left-align body text (never justify)
102
- - Center for short headings, CTAs
103
- - Right-align numbers in tables
104
-
105
- ## Component Patterns
106
-
107
- ### Cards
108
- ```
109
- ┌─────────────────────────┐
110
- │ [Icon] Title [Menu]│ ← Header: 16px padding
111
- ├─────────────────────────┤
112
- │ │
113
- │ Content area │ ← Body: 16-24px padding
114
- │ │
115
- ├─────────────────────────┤
116
- │ [Secondary] [Primary] │ ← Footer: actions right-aligned
117
- └─────────────────────────┘
118
- ```
119
-
120
- ### Tables
121
- - Header: Bold, uppercase or title case, sticky
122
- - Rows: Alternating or bordered
123
- - Actions: End of row, icon buttons or dropdown
124
- - Selection: Checkbox in first column
125
- - Sorting: Click header, show arrow indicator
126
-
127
- ### Forms
128
- - Labels above inputs (mobile-friendly)
129
- - Required indicator: asterisk or "(required)"
130
- - Error messages below input, red text
131
- - Help text below input, muted color
132
- - Group related fields in sections
133
-
134
- ### Navigation
135
- - **Top nav**: Logo left, main nav center/right, user menu far right
136
- - **Sidebar**: Logo top, nav items with icons, collapsible
137
- - **Breadcrumbs**: For deep hierarchies, show path
138
-
139
- ## Responsive Breakpoints
140
-
141
- ```
142
- Mobile: < 640px (1 column, stacked)
143
- Tablet: 640-1024px (2 columns, sidebar hidden)
144
- Desktop: > 1024px (full layout)
145
- Wide: > 1440px (max-width container)
146
- ```
147
-
148
- ### Mobile Adaptations
149
- - Stack horizontal layouts vertically
150
- - Hide sidebar, use hamburger menu
151
- - Larger touch targets (44px minimum)
152
- - Reduce padding (16px instead of 24px)
153
- - Use bottom sheets instead of modals
154
-
155
- ## Empty States
156
-
157
- Always design for empty:
158
- ```
159
- ┌─────────────────────────┐
160
- │ │
161
- │ [Illustration] │
162
- │ │
163
- │ No items yet │
164
- │ Add your first item │
165
- │ │
166
- │ [+ Add Item] │
167
- │ │
168
- └─────────────────────────┘
169
- ```
170
-
171
- ## Loading States
172
-
173
- - **Skeleton**: Gray boxes mimicking content shape
174
- - **Spinner**: For actions, not initial loads
175
- - **Progress**: For multi-step or long operations
176
- - **Optimistic**: Show expected result immediately
177
-
178
- </patterns>
179
-
180
- <examples>
181
-
182
- ## Dashboard Layout
183
- ```jsx
184
- <Flex>
185
- <Sidebar w="240px" />
186
- <Box flex="1" p={6}>
187
- <Heading mb={6}>Dashboard</Heading>
188
- <SimpleGrid columns={{ base: 1, md: 2, lg: 4 }} gap={4}>
189
- <StatCard label="Total" value="1,234" />
190
- <StatCard label="Active" value="567" trend="+12%" />
191
- ...
192
- </SimpleGrid>
193
- <Box mt={8}>
194
- <RecentActivityTable />
195
- </Box>
196
- </Box>
197
- </Flex>
198
- ```
199
-
200
- ## Card with Actions
201
- ```jsx
202
- <Card>
203
- <CardHeader>
204
- <Flex justify="space-between" align="center">
205
- <Heading size="md">Customer Details</Heading>
206
- <Menu>
207
- <MenuButton as={IconButton} icon={<MoreIcon />} />
208
- <MenuList>
209
- <MenuItem>Edit</MenuItem>
210
- <MenuItem color="red.500">Delete</MenuItem>
211
- </MenuList>
212
- </Menu>
213
- </Flex>
214
- </CardHeader>
215
- <CardBody>
216
- <Stack spacing={3}>
217
- <Field label="Name" value={customer.name} />
218
- <Field label="Email" value={customer.email} />
219
- </Stack>
220
- </CardBody>
221
- <CardFooter justify="flex-end" gap={2}>
222
- <Button variant="ghost">Cancel</Button>
223
- <Button colorScheme="brand">Save</Button>
224
- </CardFooter>
225
- </Card>
226
- ```
227
-
228
- ## Responsive Table
229
- ```jsx
230
- <TableContainer>
231
- <Table>
232
- <Thead>
233
- <Tr>
234
- <Th>Name</Th>
235
- <Th display={{ base: 'none', md: 'table-cell' }}>Email</Th>
236
- <Th isNumeric>Amount</Th>
237
- <Th w="50px"></Th>
238
- </Tr>
239
- </Thead>
240
- <Tbody>
241
- {items.map(item => (
242
- <Tr key={item.id} _hover={{ bg: 'gray.50' }}>
243
- <Td>{item.name}</Td>
244
- <Td display={{ base: 'none', md: 'table-cell' }}>{item.email}</Td>
245
- <Td isNumeric>{formatCurrency(item.amount)}</Td>
246
- <Td><ActionMenu item={item} /></Td>
247
- </Tr>
248
- ))}
249
- </Tbody>
250
- </Table>
251
- </TableContainer>
252
- ```
253
-
254
- </examples>
@@ -1,213 +0,0 @@
1
- ---
2
- name: hailer-activity-mover
3
- description: Activity mover microservice patterns for phase cascade automation
4
- version: 1.0.0
5
- triggers:
6
- - activity mover
7
- - phase cascade
8
- - linked activities
9
- ---
10
-
11
- # Activity Mover Skill
12
-
13
- Configure automated phase cascade bots. Agent creates Hailer fields and generates config JSON. User deploys to AWS manually.
14
-
15
- ---
16
-
17
- ## What It Does
18
-
19
- When an activity moves to a trigger phase, the bot automatically moves linked activities to target phases.
20
-
21
- **Example:** Invoice → "Invoiced" automatically moves Invoice Rows → "Archived"
22
-
23
- ---
24
-
25
- ## Agent Workflow
26
-
27
- ### Step 1: Gather IDs (Kenji)
28
-
29
- Get workflow, phase, and field IDs from workspace/:
30
-
31
- ```json
32
- {
33
- "task": "get_activity_mover_ids",
34
- "context": {
35
- "trigger_workflow": "Invoices",
36
- "trigger_phase": "Invoiced",
37
- "target_workflow": "Invoice Rows",
38
- "target_phases": {
39
- "from": ["Draft", "Pending"],
40
- "to": "Archived"
41
- }
42
- }
43
- }
44
- ```
45
-
46
- ### Step 2: Create MetaData Field (Helga)
47
-
48
- Add hidden "Seen/Not seen" field to trigger workflow:
49
-
50
- ```json
51
- {
52
- "task": "add_field",
53
- "context": {
54
- "workflow_id": "from-kenji",
55
- "field": {
56
- "id": "activityMoverStatus",
57
- "label": "Activity Mover Status",
58
- "type": "text",
59
- "hidden": true,
60
- "defaultValue": "Not seen"
61
- }
62
- }
63
- }
64
- ```
65
-
66
- Run the push command Helga returns.
67
-
68
- ### Step 3: Create Logging Activity (Dmitri)
69
-
70
- Create an activity for bot logging:
71
-
72
- ```json
73
- {
74
- "task": "create_activity",
75
- "context": {
76
- "workflow": "suitable-workflow-for-logs",
77
- "name": "Activity Mover Log - [Project]",
78
- "phase": "active-phase"
79
- }
80
- }
81
- ```
82
-
83
- Note the activity's discussion ID from the response.
84
-
85
- ### Step 4: Generate Config JSON
86
-
87
- Output config for user to deploy:
88
-
89
- ```json
90
- {
91
- "project": "project-name",
92
- "email": "activity-mover+project@hailer.com",
93
- "password": "USER_PROVIDES_PASSWORD",
94
- "logDiscussionId": "from-step-3",
95
- "triggers": [
96
- {
97
- "processId": "trigger-workflow-id",
98
- "phaseId": "trigger-phase-id",
99
- "metaDataId": "seen-field-id",
100
- "linkedProcesses": [
101
- {
102
- "processId": "target-workflow-id",
103
- "fromPhaseIds": ["phase-1", "phase-2"],
104
- "toPhaseId": "destination-phase"
105
- }
106
- ]
107
- }
108
- ]
109
- }
110
- ```
111
-
112
- ### Step 5: User Deploys
113
-
114
- User manually:
115
- 1. Fills in integration user password
116
- 2. Uploads to AWS Secrets Manager as `activity-mover-{project}`
117
-
118
- ---
119
-
120
- ## Config Schema
121
-
122
- ```typescript
123
- interface Config {
124
- project: string; // Hailer project identifier
125
- email: string; // Integration user email
126
- password: string; // Integration user password
127
- logDiscussionId: string; // Discussion ID (not activity ID)
128
- triggers: Trigger[];
129
- }
130
-
131
- interface Trigger {
132
- processId: string; // Workflow that triggers automation
133
- phaseId: string; // Phase that fires the trigger
134
- metaDataId: string; // "Seen/Not seen" field ID
135
- linkedProcesses: Process[];
136
- }
137
-
138
- interface Process {
139
- processId: string; // Target workflow ID
140
- fromPhaseIds: string[]; // Only move activities in these phases
141
- toPhaseId: string; // Move to this phase
142
- }
143
- ```
144
-
145
- ---
146
-
147
- ## Requirements
148
-
149
- Before setting up:
150
- - [ ] Link field must exist connecting trigger → target workflows
151
- - [ ] Integration user exists with edit permissions on all workflows
152
- - [ ] Activity mover service running for the project
153
-
154
- ---
155
-
156
- ## Multiple Triggers
157
-
158
- One config supports multiple triggers:
159
-
160
- ```json
161
- {
162
- "triggers": [
163
- { "processId": "workflow-1", "phaseId": "phase-a", ... },
164
- { "processId": "workflow-2", "phaseId": "phase-b", ... }
165
- ]
166
- }
167
- ```
168
-
169
- ---
170
-
171
- ## Multiple Target Workflows
172
-
173
- One trigger can cascade to multiple workflows:
174
-
175
- ```json
176
- {
177
- "linkedProcesses": [
178
- { "processId": "target-1", "fromPhaseIds": [...], "toPhaseId": "..." },
179
- { "processId": "target-2", "fromPhaseIds": [...], "toPhaseId": "..." }
180
- ]
181
- }
182
- ```
183
-
184
- ---
185
-
186
- ## Agent Output
187
-
188
- Return to user:
189
-
190
- ```json
191
- {
192
- "status": "success",
193
- "result": {
194
- "fields_created": ["activityMoverStatus"],
195
- "logging_activity": "activity-id",
196
- "logging_discussion": "discussion-id",
197
- "config": { ... }
198
- },
199
- "summary": "Config ready - deploy to AWS",
200
- "user_action": "Upload config to AWS Secrets Manager as activity-mover-{project}"
201
- }
202
- ```
203
-
204
- ---
205
-
206
- ## Troubleshooting
207
-
208
- | Issue | Cause | Fix |
209
- |-------|-------|-----|
210
- | Activities not moving | Wrong phase IDs | Verify IDs with Kenji |
211
- | "Not seen" not updating | Wrong metaDataId | Check field ID |
212
- | No log messages | Wrong discussionId | Use discussion ID, not activity ID |
213
- | Permission denied | Integration user lacks access | Add to workflow permissions |