@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.
- package/CHANGELOG.md +0 -7
- package/{.claude → dist}/CLAUDE.md +2 -2
- package/dist/app.js +18 -5
- package/dist/bot/bot-config.d.ts +10 -1
- package/dist/bot/bot-config.js +64 -3
- package/dist/bot/bot-manager.d.ts +2 -0
- package/dist/bot/bot-manager.js +9 -2
- package/dist/bot/bot.d.ts +33 -0
- package/dist/bot/bot.js +461 -160
- package/dist/bot/services/message-classifier.js +17 -0
- package/dist/bot/services/permission-guard.d.ts +52 -0
- package/dist/bot/services/permission-guard.js +149 -0
- package/dist/bot/services/types.d.ts +5 -0
- package/dist/bot/services/typing-indicator.d.ts +6 -1
- package/dist/bot/services/typing-indicator.js +19 -3
- package/dist/cli.js +0 -0
- package/dist/config.d.ts +6 -1
- package/dist/config.js +43 -0
- package/dist/core.js +3 -6
- package/dist/lib/discussion-lock.d.ts +42 -0
- package/dist/lib/discussion-lock.js +110 -0
- package/dist/mcp/UserContextCache.d.ts +5 -0
- package/dist/mcp/UserContextCache.js +51 -19
- package/dist/mcp/hailer-clients.d.ts +19 -1
- package/dist/mcp/hailer-clients.js +158 -24
- package/dist/mcp/session-store.d.ts +68 -0
- package/dist/mcp/session-store.js +169 -0
- package/dist/mcp/signal-handler.js +2 -0
- package/dist/mcp/tool-registry.d.ts +17 -4
- package/dist/mcp/tool-registry.js +37 -7
- package/dist/mcp/tools/activity.js +99 -7
- package/dist/mcp/tools/app-scaffold.js +304 -336
- package/dist/mcp/tools/bot-config/constants.d.ts +23 -0
- package/dist/mcp/tools/bot-config/constants.js +94 -0
- package/dist/mcp/tools/bot-config/core.d.ts +253 -0
- package/dist/mcp/tools/bot-config/core.js +2456 -0
- package/dist/mcp/tools/bot-config/index.d.ts +10 -0
- package/dist/mcp/tools/bot-config/index.js +59 -0
- package/dist/mcp/tools/bot-config/tools.d.ts +7 -0
- package/dist/mcp/tools/bot-config/tools.js +15 -0
- package/dist/mcp/tools/bot-config/types.d.ts +50 -0
- package/dist/mcp/tools/bot-config/types.js +6 -0
- package/dist/mcp/tools/bug-fixer-tools.d.ts +45 -0
- package/dist/mcp/tools/bug-fixer-tools.js +1096 -0
- package/dist/mcp/tools/company.d.ts +9 -0
- package/dist/mcp/tools/company.js +88 -0
- package/dist/mcp/tools/discussion.js +68 -0
- package/dist/mcp/tools/document.d.ts +11 -0
- package/dist/mcp/tools/document.js +741 -0
- package/dist/mcp/tools/investigate.d.ts +9 -0
- package/dist/mcp/tools/investigate.js +254 -0
- package/dist/mcp/tools/workflow-permissions.d.ts +15 -0
- package/dist/mcp/tools/workflow-permissions.js +204 -0
- package/dist/mcp/tools/workflow.js +57 -18
- package/dist/mcp/utils/index.d.ts +2 -0
- package/dist/mcp/utils/index.js +12 -1
- package/dist/mcp/utils/role-utils.d.ts +74 -0
- package/dist/mcp/utils/role-utils.js +151 -0
- package/dist/mcp/utils/types.d.ts +43 -1
- package/dist/mcp/utils/types.js +14 -0
- package/dist/mcp/webhook-handler.d.ts +4 -0
- package/dist/mcp/webhook-handler.js +8 -0
- package/dist/mcp-server.d.ts +23 -2
- package/dist/mcp-server.js +639 -127
- package/dist/plugins/vipunen/client.d.ts +150 -0
- package/dist/plugins/vipunen/client.js +535 -0
- package/dist/plugins/vipunen/config/schema-config.json +19 -0
- package/dist/plugins/vipunen/config/schema-doc.json +22 -0
- package/dist/plugins/vipunen/index.d.ts +41 -0
- package/dist/plugins/vipunen/index.js +88 -0
- package/dist/plugins/vipunen/tools.d.ts +26 -0
- package/dist/plugins/vipunen/tools.js +501 -0
- package/dist/stdio-server.d.ts +14 -0
- package/dist/stdio-server.js +101 -0
- package/package.json +2 -1
- package/.claude/agents/agent-ada-skill-builder.md +0 -94
- package/.claude/agents/agent-alejandro-function-fields.md +0 -342
- package/.claude/agents/agent-bjorn-config-audit.md +0 -103
- package/.claude/agents/agent-builder-agent-creator.md +0 -130
- package/.claude/agents/agent-code-simplifier.md +0 -53
- package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
- package/.claude/agents/agent-giuseppe-app-builder.md +0 -247
- package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
- package/.claude/agents/agent-helga-workflow-config.md +0 -204
- package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
- package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
- package/.claude/agents/agent-ivan-monolith.md +0 -154
- package/.claude/agents/agent-kenji-data-reader.md +0 -86
- package/.claude/agents/agent-lars-code-inspector.md +0 -102
- package/.claude/agents/agent-marco-mockup-builder.md +0 -110
- package/.claude/agents/agent-marcus-api-documenter.md +0 -323
- package/.claude/agents/agent-marketplace-publisher.md +0 -280
- package/.claude/agents/agent-marketplace-reviewer.md +0 -309
- package/.claude/agents/agent-permissions-handler.md +0 -208
- package/.claude/agents/agent-simple-writer.md +0 -48
- package/.claude/agents/agent-svetlana-code-review.md +0 -171
- package/.claude/agents/agent-tanya-test-runner.md +0 -333
- package/.claude/agents/agent-ui-designer.md +0 -100
- package/.claude/agents/agent-viktor-sql-insights.md +0 -212
- package/.claude/agents/agent-web-search.md +0 -55
- package/.claude/agents/agent-yevgeni-discussions.md +0 -45
- package/.claude/agents/agent-zara-zapier.md +0 -159
- package/.claude/commands/app-squad.md +0 -135
- package/.claude/commands/audit-squad.md +0 -158
- package/.claude/commands/autoplan.md +0 -563
- package/.claude/commands/cleanup-squad.md +0 -98
- package/.claude/commands/config-squad.md +0 -106
- package/.claude/commands/crud-squad.md +0 -87
- package/.claude/commands/data-squad.md +0 -97
- package/.claude/commands/debug-squad.md +0 -303
- package/.claude/commands/doc-squad.md +0 -65
- package/.claude/commands/handoff.md +0 -137
- package/.claude/commands/health.md +0 -49
- package/.claude/commands/help.md +0 -29
- package/.claude/commands/help:agents.md +0 -151
- package/.claude/commands/help:commands.md +0 -78
- package/.claude/commands/help:faq.md +0 -79
- package/.claude/commands/help:plugins.md +0 -50
- package/.claude/commands/help:skills.md +0 -93
- package/.claude/commands/help:tools.md +0 -75
- package/.claude/commands/hotfix-squad.md +0 -112
- package/.claude/commands/integration-squad.md +0 -82
- package/.claude/commands/janitor-squad.md +0 -167
- package/.claude/commands/learn-auto.md +0 -120
- package/.claude/commands/learn.md +0 -120
- package/.claude/commands/mcp-list.md +0 -27
- package/.claude/commands/onboard-squad.md +0 -140
- package/.claude/commands/plan-workspace.md +0 -732
- package/.claude/commands/prd.md +0 -130
- package/.claude/commands/project-status.md +0 -82
- package/.claude/commands/publish.md +0 -138
- package/.claude/commands/recap.md +0 -69
- package/.claude/commands/restore.md +0 -64
- package/.claude/commands/review-squad.md +0 -152
- package/.claude/commands/save.md +0 -24
- package/.claude/commands/stats.md +0 -19
- package/.claude/commands/swarm.md +0 -210
- package/.claude/commands/tool-builder.md +0 -39
- package/.claude/commands/ws-pull.md +0 -44
- package/.claude/hooks/_shared-memory.cjs +0 -305
- package/.claude/hooks/_utils.cjs +0 -108
- package/.claude/hooks/agent-failure-detector.cjs +0 -383
- package/.claude/hooks/agent-usage-logger.cjs +0 -204
- package/.claude/hooks/app-edit-guard.cjs +0 -494
- package/.claude/hooks/auto-learn.cjs +0 -304
- package/.claude/hooks/bash-guard.cjs +0 -272
- package/.claude/hooks/builder-mode-manager.cjs +0 -354
- package/.claude/hooks/bulk-activity-guard.cjs +0 -271
- package/.claude/hooks/context-watchdog.cjs +0 -230
- package/.claude/hooks/delegation-reminder.cjs +0 -465
- package/.claude/hooks/design-system-lint.cjs +0 -271
- package/.claude/hooks/post-scaffold-hook.cjs +0 -181
- package/.claude/hooks/prompt-guard.cjs +0 -354
- package/.claude/hooks/publish-template-guard.cjs +0 -147
- package/.claude/hooks/session-start.cjs +0 -35
- package/.claude/hooks/shared-memory-writer.cjs +0 -147
- package/.claude/hooks/skill-injector.cjs +0 -140
- package/.claude/hooks/skill-usage-logger.cjs +0 -258
- package/.claude/hooks/src-edit-guard.cjs +0 -240
- package/.claude/hooks/sync-marketplace-agents.cjs +0 -346
- package/.claude/settings.json +0 -257
- package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
- package/.claude/skills/SDK-document-templates/SKILL.md +0 -1033
- package/.claude/skills/SDK-function-fields/SKILL.md +0 -542
- package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
- package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
- package/.claude/skills/SDK-insight-queries/SKILL.md +0 -787
- package/.claude/skills/SDK-ws-config-skill/SKILL.md +0 -1139
- package/.claude/skills/agent-structure/SKILL.md +0 -98
- package/.claude/skills/api-documentation-patterns/SKILL.md +0 -474
- package/.claude/skills/chrome-mcp-reference/SKILL.md +0 -370
- package/.claude/skills/delegation-routing/SKILL.md +0 -202
- package/.claude/skills/frontend-design/SKILL.md +0 -254
- package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
- package/.claude/skills/hailer-api-client/SKILL.md +0 -518
- package/.claude/skills/hailer-app-builder/SKILL.md +0 -1434
- package/.claude/skills/hailer-apps-pictures/SKILL.md +0 -269
- package/.claude/skills/hailer-design-system/SKILL.md +0 -235
- package/.claude/skills/hailer-monolith-automations/SKILL.md +0 -686
- package/.claude/skills/hailer-permissions-system/SKILL.md +0 -121
- package/.claude/skills/hailer-project-protocol/SKILL.md +0 -488
- package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
- package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
- package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
- package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
- package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
- package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
- package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
- package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
- package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
- package/.claude/skills/integration-patterns/SKILL.md +0 -421
- package/.claude/skills/json-only-output/SKILL.md +0 -72
- package/.claude/skills/lsp-setup/SKILL.md +0 -160
- package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
- package/.claude/skills/optional-parameters/SKILL.md +0 -72
- package/.claude/skills/publish-hailer-app/SKILL.md +0 -244
- package/.claude/skills/testing-patterns/SKILL.md +0 -630
- package/.claude/skills/tool-builder/SKILL.md +0 -250
- package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
- package/.claude/skills/tool-response-verification/SKILL.md +0 -92
- package/.claude/skills/zapier-hailer-patterns/SKILL.md +0 -581
- package/.mcp.json +0 -13
- package/.opencode/agent/agent-ada-skill-builder.md +0 -35
- package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
- package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
- package/.opencode/agent/agent-builder-agent-creator.md +0 -39
- package/.opencode/agent/agent-code-simplifier.md +0 -31
- package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
- package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
- package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
- package/.opencode/agent/agent-helga-workflow-config.md +0 -203
- package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
- package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
- package/.opencode/agent/agent-ivan-monolith.md +0 -46
- package/.opencode/agent/agent-kenji-data-reader.md +0 -53
- package/.opencode/agent/agent-lars-code-inspector.md +0 -28
- package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
- package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
- package/.opencode/agent/agent-marketplace-publisher.md +0 -44
- package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
- package/.opencode/agent/agent-permissions-handler.md +0 -50
- package/.opencode/agent/agent-simple-writer.md +0 -45
- package/.opencode/agent/agent-svetlana-code-review.md +0 -39
- package/.opencode/agent/agent-tanya-test-runner.md +0 -57
- package/.opencode/agent/agent-ui-designer.md +0 -56
- package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
- package/.opencode/agent/agent-web-search.md +0 -42
- package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
- package/.opencode/agent/agent-zara-zapier.md +0 -53
- package/.opencode/commands/app-squad.md +0 -135
- package/.opencode/commands/audit-squad.md +0 -158
- package/.opencode/commands/autoplan.md +0 -563
- package/.opencode/commands/cleanup-squad.md +0 -98
- package/.opencode/commands/config-squad.md +0 -106
- package/.opencode/commands/crud-squad.md +0 -87
- package/.opencode/commands/data-squad.md +0 -97
- package/.opencode/commands/debug-squad.md +0 -303
- package/.opencode/commands/doc-squad.md +0 -65
- package/.opencode/commands/handoff.md +0 -137
- package/.opencode/commands/health.md +0 -49
- package/.opencode/commands/help-agents.md +0 -151
- package/.opencode/commands/help-commands.md +0 -32
- package/.opencode/commands/help-faq.md +0 -29
- package/.opencode/commands/help-plugins.md +0 -28
- package/.opencode/commands/help-skills.md +0 -7
- package/.opencode/commands/help-tools.md +0 -40
- package/.opencode/commands/help.md +0 -28
- package/.opencode/commands/hotfix-squad.md +0 -112
- package/.opencode/commands/integration-squad.md +0 -82
- package/.opencode/commands/janitor-squad.md +0 -167
- package/.opencode/commands/learn-auto.md +0 -120
- package/.opencode/commands/learn.md +0 -120
- package/.opencode/commands/mcp-list.md +0 -27
- package/.opencode/commands/onboard-squad.md +0 -140
- package/.opencode/commands/plan-workspace.md +0 -732
- package/.opencode/commands/prd.md +0 -131
- package/.opencode/commands/project-status.md +0 -82
- package/.opencode/commands/publish.md +0 -138
- package/.opencode/commands/recap.md +0 -69
- package/.opencode/commands/restore.md +0 -64
- package/.opencode/commands/review-squad.md +0 -152
- package/.opencode/commands/save.md +0 -24
- package/.opencode/commands/stats.md +0 -19
- package/.opencode/commands/swarm.md +0 -210
- package/.opencode/commands/tool-builder.md +0 -39
- package/.opencode/commands/ws-pull.md +0 -44
- package/.opencode/opencode.json +0 -28
- package/SESSION-HANDOFF.md +0 -68
- package/inbox/2026-03-04-bot-config-patterns.md +0 -24
- package/scripts/postinstall.cjs +0 -64
- package/scripts/test-hal-tools.ts +0 -154
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Build backend integrations with Kenji, Ivan, and Tanya
|
|
3
|
-
argument-hint: "integration description"
|
|
4
|
-
allowed-tools: Task, Bash, Read
|
|
5
|
-
---
|
|
6
|
-
# Integration Squad
|
|
7
|
-
|
|
8
|
-
Sequential pipeline: Schema discovery, build integration, then verify with tests.
|
|
9
|
-
|
|
10
|
-
**Agents:**
|
|
11
|
-
1. **Kenji** - Schema discovery (workflow fields, types, IDs)
|
|
12
|
-
2. **Ivan** - Build integration (monolith webhooks, scheduled jobs, automations)
|
|
13
|
-
3. **Tanya** - Test runner (verify integration with tests)
|
|
14
|
-
|
|
15
|
-
**Goal:** $ARGUMENTS
|
|
16
|
-
|
|
17
|
-
## Protocol
|
|
18
|
-
|
|
19
|
-
### Step 1: Kenji (Schema Discovery)
|
|
20
|
-
|
|
21
|
-
Start with Kenji to gather workflow schema and field IDs needed for the integration:
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
Task(subagent_type="agent-kenji-data-reader", prompt="List all workflows and their fields relevant to: $ARGUMENTS. Include field IDs, types, and any existing integrations. Also identify webhook URLs and activity phase names needed.")
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Wait for result. Save the schema output - Ivan needs these IDs.
|
|
28
|
-
|
|
29
|
-
### Step 2: Ivan (Build Integration)
|
|
30
|
-
|
|
31
|
-
Spawn Ivan with the schema context from Kenji:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
Task(subagent_type="agent-ivan-monolith", prompt="Build a backend integration for: $ARGUMENTS.\n\nWorkflow schema from Kenji:\n[PASTE KENJI'S OUTPUT - workflow IDs, field IDs, types, phases]\n\nImplement in the hailer-integration monolith. Use correct IDs for webhooks, scheduled jobs, or automations.")
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Wait for result. If `"status": "ready_to_push"`:
|
|
38
|
-
- Run the push commands Ivan provides
|
|
39
|
-
|
|
40
|
-
### Step 3: Tanya (Test Runner)
|
|
41
|
-
|
|
42
|
-
Spawn Tanya to verify the integration works:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
Task(subagent_type="agent-tanya-test-runner", prompt="Test the integration for: $ARGUMENTS.\n\nTest coverage needed:\n- Webhook payload validation (if webhook)\n- Scheduled job execution (if scheduled)\n- Activity creation/phase transitions\n- Error handling and edge cases\n\nRun tests and report pass/fail counts.")
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Wait for result. If tests fail, report which ones and offer to have Ivan fix issues.
|
|
49
|
-
|
|
50
|
-
### Step 4: Report
|
|
51
|
-
|
|
52
|
-
```markdown
|
|
53
|
-
## Integration Squad Complete
|
|
54
|
-
|
|
55
|
-
### Kenji (Schema Discovery)
|
|
56
|
-
- Workflows found: [list]
|
|
57
|
-
- Fields mapped: [count]
|
|
58
|
-
- Phases identified: [list]
|
|
59
|
-
- Existing integrations: [list or "none"]
|
|
60
|
-
|
|
61
|
-
### Ivan (Monolith Integration)
|
|
62
|
-
- Integration type: [webhook/scheduled/automation]
|
|
63
|
-
- Files created/modified: [list]
|
|
64
|
-
- Endpoints: [list if webhook]
|
|
65
|
-
- Commands run: [list]
|
|
66
|
-
|
|
67
|
-
### Tanya (Tests)
|
|
68
|
-
- Tests: X passed, X failed
|
|
69
|
-
- Build: Pass/Fail
|
|
70
|
-
- [Failed test details if any]
|
|
71
|
-
|
|
72
|
-
### Next Steps
|
|
73
|
-
- Deploy to staging environment
|
|
74
|
-
- Test end-to-end in Hailer
|
|
75
|
-
- Monitor for errors in production logs
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Notes
|
|
79
|
-
|
|
80
|
-
- Kenji must run first to get real IDs - never let Ivan guess IDs
|
|
81
|
-
- Each agent in the pipeline depends on output from the previous step
|
|
82
|
-
- If tests fail, Ivan may need to revise the integration code
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Deep project cleanup - code, config, and data patterns
|
|
3
|
-
argument-hint: [scope or blank for full project]
|
|
4
|
-
allowed-tools: Task, Bash
|
|
5
|
-
---
|
|
6
|
-
# Janitor Squad
|
|
7
|
-
|
|
8
|
-
Deep project cleanup across code, configuration, and data. Discovers dead patterns and auto-fixes clear-cut removals.
|
|
9
|
-
|
|
10
|
-
**Agents:**
|
|
11
|
-
- **Lars** - Dead code detection (unused imports, unreachable code, type errors via LSP)
|
|
12
|
-
- **Bjorn** - Configuration audit (deprecated fields, broken references, unused workflows)
|
|
13
|
-
- **Viktor** - Data analysis (unpopulated fields, zero-activity workflows, silent insights)
|
|
14
|
-
- **Simple Writer** - Auto-fix confirmed dead code and unused imports (fix loop)
|
|
15
|
-
- **Code Simplifier** - Simplify complex code blocks identified during discovery (fix loop)
|
|
16
|
-
|
|
17
|
-
**Target:** $ARGUMENTS (if blank, scan full project)
|
|
18
|
-
|
|
19
|
-
**Changed files:** Orchestrator runs `git diff --name-only HEAD` to scope if needed.
|
|
20
|
-
|
|
21
|
-
## Protocol
|
|
22
|
-
|
|
23
|
-
### Step 1: Determine Scope
|
|
24
|
-
|
|
25
|
-
If `$ARGUMENTS` has specific files/directories, use those as the target.
|
|
26
|
-
Otherwise, scan the entire project.
|
|
27
|
-
|
|
28
|
-
If `$ARGUMENTS` contains `--code-only`:
|
|
29
|
-
- Skip Bjorn and Viktor
|
|
30
|
-
- Only run Lars in discovery phase
|
|
31
|
-
|
|
32
|
-
If `$ARGUMENTS` contains `--config-only`:
|
|
33
|
-
- Skip Lars and Viktor
|
|
34
|
-
- Only run Bjorn in discovery phase
|
|
35
|
-
|
|
36
|
-
If `$ARGUMENTS` contains `--report-only`:
|
|
37
|
-
- Skip all fix loop iterations
|
|
38
|
-
- Report findings only (no auto-fixes)
|
|
39
|
-
|
|
40
|
-
### Step 2: Launch Discovery Agents in Parallel
|
|
41
|
-
|
|
42
|
-
**Set:** `iteration = 1`
|
|
43
|
-
|
|
44
|
-
Spawn all three discovery agents simultaneously using multiple Task tool calls in a single message:
|
|
45
|
-
|
|
46
|
-
**Lars:**
|
|
47
|
-
```
|
|
48
|
-
Task(subagent_type="agent-lars-code-inspector", prompt="Inspect the project for dead code patterns: [TARGET]. Find:\n- Unused imports\n- Unreachable code blocks\n- Unused variables and functions\n- Type errors\n\nUse LSP if available, fall back to tsc/eslint. Return detailed findings grouped by file.")
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**Bjorn:**
|
|
52
|
-
```
|
|
53
|
-
Task(subagent_type="agent-bjorn-config-audit", prompt="Audit workspace configuration for zombie patterns: [TARGET]. Check:\n- Deprecated fields in workspace/fields.ts\n- Broken field references in phases\n- Unused workflows (defined but zero activities)\n- Broken enum references\n- Orphaned configuration entries\n\nReturn issues grouped by category with severity.")
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**Viktor:**
|
|
57
|
-
```
|
|
58
|
-
Task(subagent_type="agent-viktor-sql-insights", prompt="Analyze data patterns in workflows: [TARGET]. Find:\n- Fields that are defined but never populated (zero values across all activities)\n- Workflows with zero activities (created but unused)\n- Insights that return empty data (broken or obsolete)\n- Calculated fields that never execute\n- Orphaned data patterns\n\nReturn findings with field IDs, workflow IDs, and impact estimates.")
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Step 3: Categorize Findings
|
|
62
|
-
|
|
63
|
-
Collect results from all three agents. Categorize each finding as:
|
|
64
|
-
|
|
65
|
-
**AUTO-FIXABLE** (Simple Writer can safely remove):
|
|
66
|
-
- Unused imports identified by Lars
|
|
67
|
-
- Dead code blocks with no side effects
|
|
68
|
-
- Workflow definitions with zero activities (from Viktor + Bjorn)
|
|
69
|
-
- Deprecated enum references (from Bjorn)
|
|
70
|
-
- Never-populated fields that can be safely archived (from Viktor + Bjorn)
|
|
71
|
-
|
|
72
|
-
**NEEDS-HUMAN-REVIEW** (escalate to user):
|
|
73
|
-
- Architecture concerns
|
|
74
|
-
- Fields that are rarely used but intentional
|
|
75
|
-
- Complex logic entangled with dead code
|
|
76
|
-
- Data cleanup that affects reporting history
|
|
77
|
-
- Performance optimizations requiring design changes
|
|
78
|
-
|
|
79
|
-
### Step 4: Auto-Fix Loop (if auto-fixable items found AND `--report-only` not set AND `iteration < 3`)
|
|
80
|
-
|
|
81
|
-
If critical auto-fixable items exist, spawn two agents to clean up. If Simple Writer's fixes introduce new issues detected by re-audit, escalate remaining issues to user after max 2 iterations.
|
|
82
|
-
|
|
83
|
-
**Simple Writer:**
|
|
84
|
-
```
|
|
85
|
-
Task(subagent_type="agent-simple-writer", prompt="Remove confirmed dead code and unused imports from the project:\n\n[LIST AUTO-FIXABLE ITEMS WITH FILE PATHS AND LINE NUMBERS]\n\nFrom Lars:\n- [Unused imports with files]\n- [Dead code blocks with files]\n\nFrom Bjorn:\n- [Deprecated enum references with files]\n- [Unused workflow definitions with IDs]\n\nFrom Viktor:\n- [Never-populated field definitions with IDs]\n\nApply minimal removals only. Do not refactor or improve beyond confirmed dead patterns.")
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
**Code Simplifier:**
|
|
89
|
-
```
|
|
90
|
-
Task(subagent_type="agent-code-simplifier", prompt="After dead code removal, simplify complex code blocks identified as difficult to maintain: [TARGET].\n\nFocus on:\n- Variable naming clarity\n- Function complexity reduction\n- Comment clarity around remaining logic\n- Code organization in affected files\n\nReturn refactoring suggestions with before/after examples.")
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
After both finish:
|
|
94
|
-
- Increment `iteration`
|
|
95
|
-
- Go back to **Step 2** to re-run all discovery agents
|
|
96
|
-
- On re-discovery, tell agents to verify previous issues are resolved
|
|
97
|
-
- Max 2 re-check iterations (3 total discovery runs)
|
|
98
|
-
|
|
99
|
-
### Step 5: Report
|
|
100
|
-
|
|
101
|
-
```markdown
|
|
102
|
-
## Janitor Squad Report
|
|
103
|
-
|
|
104
|
-
### Loop Summary
|
|
105
|
-
- Discovery iterations: [count]
|
|
106
|
-
- Auto-fixes applied: [yes/no]
|
|
107
|
-
- Items removed: [count by category]
|
|
108
|
-
|
|
109
|
-
### Lars (Dead Code Detection)
|
|
110
|
-
- Unused imports: X (Y auto-removed)
|
|
111
|
-
- Dead code blocks: X (Y auto-removed)
|
|
112
|
-
- Type errors: X
|
|
113
|
-
- [Remaining issues grouped by file]
|
|
114
|
-
|
|
115
|
-
### Bjorn (Config Audit)
|
|
116
|
-
- Deprecated fields: X
|
|
117
|
-
- Broken references: X (Y auto-removed)
|
|
118
|
-
- Unused workflows: X (Y auto-removed)
|
|
119
|
-
- Orphaned config: X
|
|
120
|
-
- [Remaining issues grouped by category]
|
|
121
|
-
|
|
122
|
-
### Viktor (Data Analysis)
|
|
123
|
-
- Never-populated fields: X (Y marked for archival)
|
|
124
|
-
- Zero-activity workflows: X (Y removed)
|
|
125
|
-
- Silent insights: X
|
|
126
|
-
- Orphaned data patterns: X
|
|
127
|
-
- [Remaining items grouped by workflow]
|
|
128
|
-
|
|
129
|
-
### Auto-Fixes Applied
|
|
130
|
-
[If any fixes were made:]
|
|
131
|
-
- [File/ID]: [what was removed/archived]
|
|
132
|
-
- [File/ID]: [what was removed/archived]
|
|
133
|
-
|
|
134
|
-
### Remaining Issues (Manual Action Needed)
|
|
135
|
-
[Issues that require human review]
|
|
136
|
-
- [Category]: [Details]
|
|
137
|
-
|
|
138
|
-
### Recommended Cleanup Order
|
|
139
|
-
1. [Remove these orphaned items first]
|
|
140
|
-
2. [Archive these fields next]
|
|
141
|
-
3. [Review these design concerns]
|
|
142
|
-
|
|
143
|
-
### Summary
|
|
144
|
-
[Overall health assessment]
|
|
145
|
-
[Estimated time to apply remaining cleanup]
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
If any agent fails or times out, report partial results from successful agents, note which failed, and offer to re-run individually.
|
|
149
|
-
|
|
150
|
-
## Options
|
|
151
|
-
|
|
152
|
-
| Flag | Effect |
|
|
153
|
-
|------|--------|
|
|
154
|
-
| `--code-only` | Skip Bjorn and Viktor, just code cleanup via Lars |
|
|
155
|
-
| `--config-only` | Skip Lars and Viktor, just workspace config audit via Bjorn |
|
|
156
|
-
| `--report-only` | Report findings only, no auto-fix loop (discovery phase only) |
|
|
157
|
-
| `--bg` | Run all discovery agents in background mode |
|
|
158
|
-
|
|
159
|
-
If `--bg` is present, launch all discovery agents with `run_in_background: true` and tell the user they'll be notified when discovery is complete, then proceed with fix loop when they're ready.
|
|
160
|
-
|
|
161
|
-
## Notes
|
|
162
|
-
|
|
163
|
-
- Max 2 re-discovery iterations (3 total) to prevent infinite loops
|
|
164
|
-
- Simple Writer only removes clear-cut dead code - ambiguous items go to user review
|
|
165
|
-
- Data cleanup (Viktor findings) may affect reports/history - always prompt user before removal
|
|
166
|
-
- Each re-discovery is a full parallel sweep across all enabled agents
|
|
167
|
-
- The `--report-only` flag gives discovery results without auto-fixes
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Scan conversation for learnings and capture to inbox
|
|
3
|
-
argument-hint: [optional focus area]
|
|
4
|
-
---
|
|
5
|
-
# Auto-Learn
|
|
6
|
-
|
|
7
|
-
Scan conversation for potential learnings, present for confirmation, write to inbox.
|
|
8
|
-
|
|
9
|
-
## Trigger Patterns
|
|
10
|
-
|
|
11
|
-
Scan conversation for these signals:
|
|
12
|
-
|
|
13
|
-
### 1. Error → Fix Sequences
|
|
14
|
-
```
|
|
15
|
-
Pattern: Error/failure message followed by successful resolution
|
|
16
|
-
Signal: "Error:", "failed", "doesn't work" → later "fixed", "working now", "solved"
|
|
17
|
-
Extract: What was wrong, what fixed it
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### 2. User Corrections
|
|
21
|
-
```
|
|
22
|
-
Pattern: User corrects agent output or approach
|
|
23
|
-
Signal: "No, it should be...", "Actually, use...", "That's wrong, do..."
|
|
24
|
-
Extract: Wrong approach, correct approach
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### 3. Explicit Learning Signals
|
|
28
|
-
```
|
|
29
|
-
Pattern: User explicitly notes something important
|
|
30
|
-
Signal: "Good to know", "I'll remember that", "Important:", "Note to self"
|
|
31
|
-
Extract: The insight
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### 4. Agent Failures
|
|
35
|
-
```
|
|
36
|
-
Pattern: Agent returned error or wrong result
|
|
37
|
-
Signal: "status": "error", validation failures, user says "that's not right"
|
|
38
|
-
Extract: What failed, why, how to prevent
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### 5. Repeated Attempts
|
|
42
|
-
```
|
|
43
|
-
Pattern: Same operation tried multiple times before success
|
|
44
|
-
Signal: 2+ similar tool calls, retries with different parameters
|
|
45
|
-
Extract: What didn't work, what finally worked
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Instructions
|
|
49
|
-
|
|
50
|
-
### Step 1: Scan Conversation
|
|
51
|
-
|
|
52
|
-
Review the conversation for patterns above. For each potential learning, note:
|
|
53
|
-
- **Type**: error-fix | correction | insight | agent-failure | retry-pattern
|
|
54
|
-
- **Context**: What was happening
|
|
55
|
-
- **Learning**: The key takeaway
|
|
56
|
-
- **Category**: agent/X | skill/X | pattern | gotcha | bug
|
|
57
|
-
|
|
58
|
-
### Step 2: Present Findings
|
|
59
|
-
|
|
60
|
-
If learnings found, present to user:
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
Found [N] potential learnings from this session:
|
|
64
|
-
|
|
65
|
-
1. [agent/kenji] Field lookup should check enums.ts first
|
|
66
|
-
Context: Kenji made API call when data was available locally
|
|
67
|
-
|
|
68
|
-
2. [pattern] Date fields from Hailer come pre-formatted
|
|
69
|
-
Context: Tried to format already-formatted date, got wrong output
|
|
70
|
-
|
|
71
|
-
3. [gotcha] Push must complete before pull
|
|
72
|
-
Context: Pull overwrote local changes
|
|
73
|
-
|
|
74
|
-
Confirm which to save? (all / 1,2 / none)
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Use AskUserQuestion:
|
|
78
|
-
- "Save all"
|
|
79
|
-
- "Select specific (enter numbers)"
|
|
80
|
-
- "Skip - nothing worth saving"
|
|
81
|
-
|
|
82
|
-
### Step 3: Write to Inbox
|
|
83
|
-
|
|
84
|
-
For confirmed learnings, append to `inbox.md`:
|
|
85
|
-
|
|
86
|
-
```markdown
|
|
87
|
-
## Pending
|
|
88
|
-
|
|
89
|
-
- [<category>] <learning description> _(from: <project>, <date>, auto-learn)_
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
If in hub repo (hailer-claude-reference), write directly to `inbox.md`.
|
|
93
|
-
If in project repo, write to `docs/learnings.md` or project's inbox location.
|
|
94
|
-
|
|
95
|
-
### Step 4: Report
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
Captured [N] learnings to inbox:
|
|
99
|
-
- [agent/kenji] Field lookup should check enums.ts first
|
|
100
|
-
- [pattern] Date fields from Hailer come pre-formatted
|
|
101
|
-
|
|
102
|
-
Review later with /learn to apply fixes, or let Ada auto-process.
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## No Learnings Found
|
|
106
|
-
|
|
107
|
-
If conversation has no clear learnings:
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
No obvious learnings detected in this session.
|
|
111
|
-
|
|
112
|
-
To capture something manually: /learn <category> <description>
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## Notes
|
|
116
|
-
|
|
117
|
-
- This is DETECTION only - doesn't apply fixes (that's /learn or Ada's job)
|
|
118
|
-
- User confirms before anything is saved
|
|
119
|
-
- Bias toward false negatives (miss some) rather than false positives (noise)
|
|
120
|
-
- Works best at end of session when there's context to analyze
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Capture learning and apply fix to the right place
|
|
3
|
-
argument-hint: <category> <description>
|
|
4
|
-
---
|
|
5
|
-
# Learn & Apply
|
|
6
|
-
|
|
7
|
-
Capture a learning, ask clarifying questions, then apply the fix to the right place.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
`/learn <category> <description>`
|
|
11
|
-
|
|
12
|
-
## Categories
|
|
13
|
-
- `agent/<name>` - Agent behavior issue (e.g., `agent/kenji`)
|
|
14
|
-
- `skill/<name>` - Skill missing pattern (e.g., `skill/function-fields`)
|
|
15
|
-
- `pattern` - General pattern to document
|
|
16
|
-
- `bug` - Bug in code/config
|
|
17
|
-
- `gotcha` - Common mistake to prevent
|
|
18
|
-
|
|
19
|
-
## Examples
|
|
20
|
-
```
|
|
21
|
-
/learn agent/kenji should check enums.ts before API calls
|
|
22
|
-
/learn skill/insights JOIN syntax was wrong for linked fields
|
|
23
|
-
/learn pattern always verify push succeeded before continuing
|
|
24
|
-
/learn gotcha phase IDs change when workflow is copied
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Instructions
|
|
28
|
-
|
|
29
|
-
### Step 1: Parse & Understand
|
|
30
|
-
|
|
31
|
-
Parse the input:
|
|
32
|
-
- Category: first word (e.g., `agent/kenji`)
|
|
33
|
-
- Description: rest of the text
|
|
34
|
-
|
|
35
|
-
### Step 2: Ask Clarifying Questions
|
|
36
|
-
|
|
37
|
-
Use AskUserQuestion to gather details:
|
|
38
|
-
|
|
39
|
-
**For agent issues:**
|
|
40
|
-
- "What was the symptom?" (wrong output, error, missed step)
|
|
41
|
-
- "What should the agent do differently?"
|
|
42
|
-
- "Should this be a rule, a skill addition, or both?"
|
|
43
|
-
|
|
44
|
-
**For skill issues:**
|
|
45
|
-
- "What was missing or wrong?"
|
|
46
|
-
- "Can you give an example of correct vs incorrect?"
|
|
47
|
-
|
|
48
|
-
**For patterns/gotchas:**
|
|
49
|
-
- "What went wrong when this wasn't followed?"
|
|
50
|
-
- "Where should this be documented?" (skill, agent, CLAUDE.md)
|
|
51
|
-
|
|
52
|
-
### Step 3: Determine Target
|
|
53
|
-
|
|
54
|
-
Based on category and answers, decide where the fix goes:
|
|
55
|
-
|
|
56
|
-
| Category | Likely Target |
|
|
57
|
-
|----------|---------------|
|
|
58
|
-
| `agent/X` | `.claude/agents/agent-X.md` |
|
|
59
|
-
| `skill/X` | `.claude/skills/X/SKILL.md` |
|
|
60
|
-
| `pattern` | Relevant skill or CLAUDE.md |
|
|
61
|
-
| `bug` | Code fix + possibly skill |
|
|
62
|
-
| `gotcha` | Skill or agent rules section |
|
|
63
|
-
|
|
64
|
-
### Step 4: Apply the Fix
|
|
65
|
-
|
|
66
|
-
**Option A: Direct edit (if simple)**
|
|
67
|
-
- Edit the target file directly
|
|
68
|
-
- Add to appropriate section (rules, patterns, examples)
|
|
69
|
-
|
|
70
|
-
**Option B: Delegate to Ada (if complex)**
|
|
71
|
-
For complex changes, invoke Ada agent:
|
|
72
|
-
```
|
|
73
|
-
Task(subagent_type="agent-ada-skill-builder", prompt={
|
|
74
|
-
"task": "apply_learning",
|
|
75
|
-
"category": "<category>",
|
|
76
|
-
"learning": "<description>",
|
|
77
|
-
"details": "<clarification answers>",
|
|
78
|
-
"target": "<determined target>"
|
|
79
|
-
})
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Step 5: Log & Confirm
|
|
83
|
-
|
|
84
|
-
1. Log to `docs/learnings.md` for history:
|
|
85
|
-
```markdown
|
|
86
|
-
- [<category>] <description> → Applied to <target> _(YYYY-MM-DD)_
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
2. Report what was done:
|
|
90
|
-
```
|
|
91
|
-
Learning applied:
|
|
92
|
-
- Category: agent/kenji
|
|
93
|
-
- Fix: Added rule "Check enums.ts before making API calls"
|
|
94
|
-
- Location: .claude/agents/agent-kenji-data-reader.md
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## File Template
|
|
98
|
-
|
|
99
|
-
If creating `docs/learnings.md`:
|
|
100
|
-
|
|
101
|
-
```markdown
|
|
102
|
-
# Applied Learnings
|
|
103
|
-
|
|
104
|
-
History of fixes applied from learnings.
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## Log
|
|
109
|
-
|
|
110
|
-
- [agent/kenji] Check enums.ts first → Added to rules _(2026-01-31)_
|
|
111
|
-
- [skill/insights] JOIN syntax example → Added to SKILL.md _(2026-01-31)_
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Notes
|
|
115
|
-
|
|
116
|
-
- This command APPLIES fixes, not just logs them
|
|
117
|
-
- Ask questions to understand the real issue
|
|
118
|
-
- Small fixes: edit directly
|
|
119
|
-
- Complex fixes: delegate to Ada
|
|
120
|
-
- Always log what was done for history
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: List available and enabled MCP servers
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# List MCP Servers
|
|
6
|
-
|
|
7
|
-
Show available MCP servers and their status.
|
|
8
|
-
|
|
9
|
-
## Instructions
|
|
10
|
-
|
|
11
|
-
1. Read `~/.mcp.json` (global servers) - look for `mcpServers` keys
|
|
12
|
-
2. Read `./.mcp.json` (project servers) if it exists - look for `mcpServers` keys
|
|
13
|
-
3. Read `.claude/settings.local.json` to find enabled servers (`enabledMcpjsonServers` array)
|
|
14
|
-
4. Display a table showing all discovered servers:
|
|
15
|
-
|
|
16
|
-
| Server | Source | Status |
|
|
17
|
-
|--------|--------|--------|
|
|
18
|
-
| chrome-devtools | global | enabled/disabled |
|
|
19
|
-
| notebooklm | global | enabled/disabled |
|
|
20
|
-
| hailer | project | enabled/disabled |
|
|
21
|
-
|
|
22
|
-
A server is **enabled** if it's in `enabledMcpjsonServers` array.
|
|
23
|
-
|
|
24
|
-
Also show:
|
|
25
|
-
- `/mcp-enable <name>` to enable
|
|
26
|
-
- `/mcp-disable <name>` to disable
|
|
27
|
-
- Restart required after changes (`claude -c`)
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Bootstrap a new Hailer project end-to-end
|
|
3
|
-
argument-hint: "project description or PRD path"
|
|
4
|
-
allowed-tools: Task, Bash, Read
|
|
5
|
-
---
|
|
6
|
-
# Onboard Squad
|
|
7
|
-
|
|
8
|
-
Sequential pipeline: Create workspace infrastructure, scaffold the app, and verify everything is wired correctly.
|
|
9
|
-
|
|
10
|
-
**Agents:**
|
|
11
|
-
1. **Helga** - Workflow config (create workflows, fields, phases, teams, groups)
|
|
12
|
-
2. **Alejandro** - Function fields and nameFunction
|
|
13
|
-
3. **Giuseppe** - Scaffold first app with basic CRUD interface
|
|
14
|
-
4. **Bjorn** - Audit config accuracy and field references
|
|
15
|
-
|
|
16
|
-
**Goal:** $ARGUMENTS
|
|
17
|
-
|
|
18
|
-
## Protocol
|
|
19
|
-
|
|
20
|
-
### Step 1: Parse Requirements
|
|
21
|
-
|
|
22
|
-
Parse `$ARGUMENTS` to determine input type:
|
|
23
|
-
|
|
24
|
-
- **If it's a file path** (e.g., `docs/prd-onboarding.md`): Read it for requirements
|
|
25
|
-
- **Otherwise:** Use it as a project description
|
|
26
|
-
|
|
27
|
-
If `$ARGUMENTS` is a file path, read it first before proceeding to Helga.
|
|
28
|
-
|
|
29
|
-
### Step 2: Helga (Workspace Config)
|
|
30
|
-
|
|
31
|
-
Spawn Helga to create workspace infrastructure:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
Task(subagent_type="agent-helga-workflow-config", prompt="Bootstrap a new Hailer project: $ARGUMENTS\n\nCreate: workflows (at least 1), fields for each workflow, phases, teams, and groups as needed.")
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Wait for result. If Helga returns `"status": "ready_to_push"`:
|
|
38
|
-
- Run the push commands she provides (e.g., `npm run fields-push:force`)
|
|
39
|
-
- Then run `npm run pull` to refresh local workspace with new IDs
|
|
40
|
-
- **Important:** Helga ALWAYS spawns Alejandro for nameFunction. Check if her result indicates Alejandro was spawned and created nameFunction. If yes, Alejandro's work is done - skip to Step 3.
|
|
41
|
-
|
|
42
|
-
### Step 3: Alejandro (Function Fields) - Conditional
|
|
43
|
-
|
|
44
|
-
Only spawn if Helga indicates additional function fields are needed beyond what was created by Helga+Alejandro auto-spawn.
|
|
45
|
-
|
|
46
|
-
If needed, spawn Alejandro:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
Task(subagent_type="agent-alejandro-function-fields", prompt="Create additional function fields for workflows created in: [INSERT HELGA'S GOAL].\n\nHelga created these workflows: [SUMMARIZE HELGA'S RESULT - workflow names, IDs, field counts].\n\nFunction fields already created by Helga: [FROM HELGA'S RESULT].")
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Wait for result. If `"status": "ready_to_push"`:
|
|
53
|
-
- Run the push commands
|
|
54
|
-
- Run `npm run pull` to refresh workspace
|
|
55
|
-
|
|
56
|
-
### Step 4: Giuseppe (App Scaffold)
|
|
57
|
-
|
|
58
|
-
**Before spawning Giuseppe, enable builder mode:**
|
|
59
|
-
```
|
|
60
|
-
Bash: node .claude/hooks/app-edit-guard.cjs --agent-on
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Spawn Giuseppe to build the first app using the new workspace:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
Task(subagent_type="agent-giuseppe-app-builder", prompt="Scaffold the first Hailer app for this new project: $ARGUMENTS\n\nWorkspace created by Helga: [SUMMARIZE HELGA'S RESULT - workflow names, IDs, field counts]. Giuseppe: read workspace/ directly to discover exact field IDs, types, and team configurations. Do not guess IDs.\n\nBuild a basic CRUD interface using @hailer/app-sdk and Chakra UI. Start with the primary workflow. Use the Hailer Design System.\n\nNote: Assume Local Dev app exists (orchestrator checks this before spawning you). Build for local development at http://localhost:3000.")
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
**After Giuseppe completes, disable builder mode:**
|
|
70
|
-
```
|
|
71
|
-
Bash: node .claude/hooks/app-edit-guard.cjs --agent-off
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
Wait for result. If Giuseppe returns `"status": "ready_to_push"`:
|
|
75
|
-
- Run the push commands
|
|
76
|
-
|
|
77
|
-
### Step 5: Bjorn (Config Audit)
|
|
78
|
-
|
|
79
|
-
Spawn Bjorn to verify everything is configured correctly:
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
Task(subagent_type="agent-bjorn-config-audit", prompt="Audit this new Hailer project setup:\n\n1. Verify CLAUDE.md accuracy (check that project type detection works)\n2. Verify workspace configuration: workflows, fields, phases, teams all match workspace/ files\n3. Verify field references in the new app match workspace/ field definitions\n4. Check for missing imports, incorrect IDs, or type mismatches\n5. Verify that nameFunction is set on the primary workflow\n\nProject goal: $ARGUMENTS\n\nReport any misconfigurations. If iteration <= 1, recommend fixes to the orchestrator.")
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**Loop Control:**
|
|
86
|
-
- If Bjorn finds no critical issues: proceed to Step 6 (report)
|
|
87
|
-
- If Bjorn finds issues AND `iteration <= 1`:
|
|
88
|
-
- Increment `iteration`
|
|
89
|
-
- Determine which agent to fix it (usually Helga or Giuseppe)
|
|
90
|
-
- Run appropriate agent with the issues to fix
|
|
91
|
-
- Return to Step 5 (Bjorn re-audits)
|
|
92
|
-
- If Bjorn finds issues AND `iteration > 1`: escalate to user in Step 6
|
|
93
|
-
|
|
94
|
-
### Step 6: Report
|
|
95
|
-
|
|
96
|
-
```markdown
|
|
97
|
-
## Onboard Squad Complete
|
|
98
|
-
|
|
99
|
-
**Project Goal:** $ARGUMENTS
|
|
100
|
-
|
|
101
|
-
### Workspace Setup (Helga)
|
|
102
|
-
- Workflows created: [list with IDs]
|
|
103
|
-
- Fields created: [count]
|
|
104
|
-
- Phases: [count]
|
|
105
|
-
- Teams: [count]
|
|
106
|
-
- Alejandro auto-spawn: [nameFunction created? Y/N]
|
|
107
|
-
|
|
108
|
-
### Function Fields (Alejandro)
|
|
109
|
-
- Additional function fields created: [list or "None needed"]
|
|
110
|
-
- Skipped: [reason if skipped]
|
|
111
|
-
|
|
112
|
-
### App Scaffold (Giuseppe)
|
|
113
|
-
- App path: [path to new app]
|
|
114
|
-
- Build status: Pass/Fail
|
|
115
|
-
- Files created: [count/list]
|
|
116
|
-
- Local dev setup: [check local dev app name]
|
|
117
|
-
|
|
118
|
-
### Verification (Bjorn)
|
|
119
|
-
- Critical issues found: [count] or "None"
|
|
120
|
-
- Status: VERIFIED / NEEDS FIXES (if iteration > 1, see below)
|
|
121
|
-
|
|
122
|
-
[If iteration > 1 - escalated:]
|
|
123
|
-
### Remaining Issues
|
|
124
|
-
[List issues Bjorn found that weren't resolved in 1 fix iteration]
|
|
125
|
-
- Manual fixes recommended: [hints]
|
|
126
|
-
|
|
127
|
-
### Next Steps
|
|
128
|
-
1. Run `npm run dev` to test the app locally
|
|
129
|
-
2. Ensure "Local Dev" app exists in Hailer workspace
|
|
130
|
-
3. Test the app inside Hailer iframe at http://localhost:3000
|
|
131
|
-
4. Run `npm run pull` to ensure workspace/ is fully up to date
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## Notes
|
|
135
|
-
|
|
136
|
-
- Each agent in the pipeline needs IDs from the previous step. Always `npm run pull` between Helga→Alejandro→Giuseppe to refresh local workspace.
|
|
137
|
-
- Helga auto-spawns Alejandro for nameFunction. Check her result - only spawn Alejandro again in Step 3 if additional function fields are needed.
|
|
138
|
-
- Giuseppe needs real workflow and field IDs from workspace/ - always read the files and paste actual IDs, never let him guess.
|
|
139
|
-
- Bjorn's audit is the quality gate. If issues are found and you've iterated once, escalate remaining issues to the user rather than looping infinitely.
|
|
140
|
-
- Set `iteration = 1` at the start. Increment after each Bjorn audit if fixes are attempted.
|