@hailer/mcp 1.1.13 → 1.1.15

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 (176) hide show
  1. package/.claude/.context-watchdog.json +1 -0
  2. package/.claude/.session-checked +1 -0
  3. package/.claude/CLAUDE.md +370 -0
  4. package/.claude/agents/agent-ada-skill-builder.md +94 -0
  5. package/.claude/agents/agent-alejandro-function-fields.md +342 -0
  6. package/.claude/agents/agent-bjorn-config-audit.md +103 -0
  7. package/.claude/agents/agent-builder-agent-creator.md +130 -0
  8. package/.claude/agents/agent-code-simplifier.md +53 -0
  9. package/.claude/agents/agent-dmitri-activity-crud.md +159 -0
  10. package/.claude/agents/agent-giuseppe-app-builder.md +208 -0
  11. package/.claude/agents/agent-gunther-mcp-tools.md +39 -0
  12. package/.claude/agents/agent-helga-workflow-config.md +204 -0
  13. package/.claude/agents/agent-igor-activity-mover-automation.md +125 -0
  14. package/.claude/agents/agent-ingrid-doc-templates.md +261 -0
  15. package/.claude/agents/agent-ivan-monolith.md +154 -0
  16. package/.claude/agents/agent-kenji-data-reader.md +86 -0
  17. package/.claude/agents/agent-lars-code-inspector.md +102 -0
  18. package/.claude/agents/agent-marco-mockup-builder.md +110 -0
  19. package/.claude/agents/agent-marcus-api-documenter.md +323 -0
  20. package/.claude/agents/agent-marketplace-publisher.md +280 -0
  21. package/.claude/agents/agent-marketplace-reviewer.md +309 -0
  22. package/.claude/agents/agent-permissions-handler.md +208 -0
  23. package/.claude/agents/agent-simple-writer.md +48 -0
  24. package/.claude/agents/agent-svetlana-code-review.md +171 -0
  25. package/.claude/agents/agent-tanya-test-runner.md +333 -0
  26. package/.claude/agents/agent-ui-designer.md +100 -0
  27. package/.claude/agents/agent-viktor-sql-insights.md +212 -0
  28. package/.claude/agents/agent-web-search.md +55 -0
  29. package/.claude/agents/agent-yevgeni-discussions.md +45 -0
  30. package/.claude/agents/agent-zara-zapier.md +159 -0
  31. package/.claude/agents/ragnar.md +68 -0
  32. package/.claude/commands/app-squad.md +135 -0
  33. package/.claude/commands/audit-squad.md +158 -0
  34. package/.claude/commands/autoplan.md +563 -0
  35. package/.claude/commands/cleanup-squad.md +98 -0
  36. package/.claude/commands/config-squad.md +106 -0
  37. package/.claude/commands/crud-squad.md +87 -0
  38. package/.claude/commands/data-squad.md +97 -0
  39. package/.claude/commands/debug-squad.md +303 -0
  40. package/.claude/commands/doc-squad.md +65 -0
  41. package/.claude/commands/handoff.md +137 -0
  42. package/.claude/commands/health.md +49 -0
  43. package/.claude/commands/help.md +29 -0
  44. package/.claude/commands/help:agents.md +151 -0
  45. package/.claude/commands/help:commands.md +78 -0
  46. package/.claude/commands/help:faq.md +79 -0
  47. package/.claude/commands/help:plugins.md +50 -0
  48. package/.claude/commands/help:skills.md +93 -0
  49. package/.claude/commands/help:tools.md +75 -0
  50. package/.claude/commands/hotfix-squad.md +112 -0
  51. package/.claude/commands/integration-squad.md +82 -0
  52. package/.claude/commands/janitor-squad.md +167 -0
  53. package/.claude/commands/learn-auto.md +120 -0
  54. package/.claude/commands/learn.md +120 -0
  55. package/.claude/commands/mcp-list.md +27 -0
  56. package/.claude/commands/onboard-squad.md +140 -0
  57. package/.claude/commands/plan-workspace.md +732 -0
  58. package/.claude/commands/prd.md +130 -0
  59. package/.claude/commands/project-status.md +82 -0
  60. package/.claude/commands/publish.md +138 -0
  61. package/.claude/commands/recap.md +69 -0
  62. package/.claude/commands/restore.md +64 -0
  63. package/.claude/commands/review-squad.md +152 -0
  64. package/.claude/commands/save.md +24 -0
  65. package/.claude/commands/stats.md +19 -0
  66. package/.claude/commands/swarm.md +210 -0
  67. package/.claude/commands/tool-builder.md +39 -0
  68. package/.claude/commands/ws-pull.md +44 -0
  69. package/.claude/skills/SDK-activity-patterns/SKILL.md +428 -0
  70. package/.claude/skills/SDK-document-templates/SKILL.md +1033 -0
  71. package/.claude/skills/SDK-function-fields/SKILL.md +542 -0
  72. package/.claude/skills/SDK-generate-skill/SKILL.md +92 -0
  73. package/.claude/skills/SDK-init-skill/SKILL.md +127 -0
  74. package/.claude/skills/SDK-insight-queries/SKILL.md +787 -0
  75. package/.claude/skills/SDK-ws-config-skill/SKILL.md +1139 -0
  76. package/.claude/skills/agent-structure/SKILL.md +98 -0
  77. package/.claude/skills/api-documentation-patterns/SKILL.md +474 -0
  78. package/.claude/skills/chrome-mcp-reference/SKILL.md +370 -0
  79. package/.claude/skills/delegation-routing/SKILL.md +202 -0
  80. package/.claude/skills/frontend-design/SKILL.md +254 -0
  81. package/.claude/skills/hailer-activity-mover/SKILL.md +213 -0
  82. package/.claude/skills/hailer-api-client/SKILL.md +518 -0
  83. package/.claude/skills/hailer-app-builder/SKILL.md +1440 -0
  84. package/.claude/skills/hailer-apps-pictures/SKILL.md +269 -0
  85. package/.claude/skills/hailer-design-system/SKILL.md +231 -0
  86. package/.claude/skills/hailer-monolith-automations/SKILL.md +686 -0
  87. package/.claude/skills/hailer-permissions-system/SKILL.md +121 -0
  88. package/.claude/skills/hailer-project-protocol/SKILL.md +488 -0
  89. package/.claude/skills/hailer-rest-api/SKILL.md +61 -0
  90. package/.claude/skills/hailer-rest-api/hailer-activities.md +184 -0
  91. package/.claude/skills/hailer-rest-api/hailer-admin.md +473 -0
  92. package/.claude/skills/hailer-rest-api/hailer-calendar.md +256 -0
  93. package/.claude/skills/hailer-rest-api/hailer-feed.md +249 -0
  94. package/.claude/skills/hailer-rest-api/hailer-insights.md +195 -0
  95. package/.claude/skills/hailer-rest-api/hailer-messaging.md +276 -0
  96. package/.claude/skills/hailer-rest-api/hailer-workflows.md +283 -0
  97. package/.claude/skills/insight-join-patterns/SKILL.md +174 -0
  98. package/.claude/skills/integration-patterns/SKILL.md +421 -0
  99. package/.claude/skills/json-only-output/SKILL.md +72 -0
  100. package/.claude/skills/lsp-setup/SKILL.md +160 -0
  101. package/.claude/skills/mcp-direct-tools/SKILL.md +153 -0
  102. package/.claude/skills/optional-parameters/SKILL.md +72 -0
  103. package/.claude/skills/publish-hailer-app/SKILL.md +221 -0
  104. package/.claude/skills/testing-patterns/SKILL.md +630 -0
  105. package/.claude/skills/tool-builder/SKILL.md +250 -0
  106. package/.claude/skills/tool-parameter-usage/SKILL.md +126 -0
  107. package/.claude/skills/tool-response-verification/SKILL.md +92 -0
  108. package/.claude/skills/zapier-hailer-patterns/SKILL.md +581 -0
  109. package/.opencode/agent/agent-ada-skill-builder.md +35 -0
  110. package/.opencode/agent/agent-alejandro-function-fields.md +39 -0
  111. package/.opencode/agent/agent-bjorn-config-audit.md +36 -0
  112. package/.opencode/agent/agent-builder-agent-creator.md +39 -0
  113. package/.opencode/agent/agent-code-simplifier.md +31 -0
  114. package/.opencode/agent/agent-dmitri-activity-crud.md +40 -0
  115. package/.opencode/agent/agent-giuseppe-app-builder.md +37 -0
  116. package/.opencode/agent/agent-gunther-mcp-tools.md +39 -0
  117. package/.opencode/agent/agent-helga-workflow-config.md +204 -0
  118. package/.opencode/agent/agent-igor-activity-mover-automation.md +46 -0
  119. package/.opencode/agent/agent-ingrid-doc-templates.md +39 -0
  120. package/.opencode/agent/agent-ivan-monolith.md +46 -0
  121. package/.opencode/agent/agent-kenji-data-reader.md +53 -0
  122. package/.opencode/agent/agent-lars-code-inspector.md +28 -0
  123. package/.opencode/agent/agent-marco-mockup-builder.md +42 -0
  124. package/.opencode/agent/agent-marcus-api-documenter.md +53 -0
  125. package/.opencode/agent/agent-marketplace-publisher.md +44 -0
  126. package/.opencode/agent/agent-marketplace-reviewer.md +42 -0
  127. package/.opencode/agent/agent-permissions-handler.md +50 -0
  128. package/.opencode/agent/agent-simple-writer.md +45 -0
  129. package/.opencode/agent/agent-svetlana-code-review.md +39 -0
  130. package/.opencode/agent/agent-tanya-test-runner.md +57 -0
  131. package/.opencode/agent/agent-ui-designer.md +56 -0
  132. package/.opencode/agent/agent-viktor-sql-insights.md +34 -0
  133. package/.opencode/agent/agent-web-search.md +42 -0
  134. package/.opencode/agent/agent-yevgeni-discussions.md +37 -0
  135. package/.opencode/agent/agent-zara-zapier.md +53 -0
  136. package/.opencode/commands/app-squad.md +135 -0
  137. package/.opencode/commands/audit-squad.md +158 -0
  138. package/.opencode/commands/autoplan.md +563 -0
  139. package/.opencode/commands/cleanup-squad.md +98 -0
  140. package/.opencode/commands/config-squad.md +106 -0
  141. package/.opencode/commands/crud-squad.md +87 -0
  142. package/.opencode/commands/data-squad.md +97 -0
  143. package/.opencode/commands/debug-squad.md +303 -0
  144. package/.opencode/commands/doc-squad.md +65 -0
  145. package/.opencode/commands/handoff.md +137 -0
  146. package/.opencode/commands/health.md +49 -0
  147. package/.opencode/commands/help-agents.md +151 -0
  148. package/.opencode/commands/help-commands.md +32 -0
  149. package/.opencode/commands/help-faq.md +29 -0
  150. package/.opencode/commands/help-plugins.md +28 -0
  151. package/.opencode/commands/help-skills.md +7 -0
  152. package/.opencode/commands/help-tools.md +40 -0
  153. package/.opencode/commands/help.md +28 -0
  154. package/.opencode/commands/hotfix-squad.md +112 -0
  155. package/.opencode/commands/integration-squad.md +82 -0
  156. package/.opencode/commands/janitor-squad.md +167 -0
  157. package/.opencode/commands/learn-auto.md +120 -0
  158. package/.opencode/commands/learn.md +120 -0
  159. package/.opencode/commands/mcp-list.md +27 -0
  160. package/.opencode/commands/onboard-squad.md +140 -0
  161. package/.opencode/commands/plan-workspace.md +732 -0
  162. package/.opencode/commands/prd.md +131 -0
  163. package/.opencode/commands/project-status.md +82 -0
  164. package/.opencode/commands/publish.md +138 -0
  165. package/.opencode/commands/recap.md +69 -0
  166. package/.opencode/commands/restore.md +64 -0
  167. package/.opencode/commands/review-squad.md +152 -0
  168. package/.opencode/commands/save.md +24 -0
  169. package/.opencode/commands/stats.md +19 -0
  170. package/.opencode/commands/swarm.md +210 -0
  171. package/.opencode/commands/tool-builder.md +39 -0
  172. package/.opencode/commands/ws-pull.md +44 -0
  173. package/.opencode/opencode.json +21 -0
  174. package/package.json +1 -1
  175. package/scripts/postinstall.cjs +64 -0
  176. package/scripts/test-hal-tools.ts +154 -0
@@ -0,0 +1,75 @@
1
+ ---
2
+ description: MCP tools reference for Hailer MCP
3
+ ---
4
+
5
+ # MCP Tools Reference
6
+
7
+ Display MCP tools reference to the user.
8
+
9
+ ## Output
10
+
11
+ ```
12
+ ╭─────────────────────────────────────────╮
13
+ │ HAILER MCP - TOOLS REFERENCE │
14
+ ╰─────────────────────────────────────────╯
15
+
16
+ MCP tools provide direct access to Hailer APIs. These are used by
17
+ agents but can also be called directly.
18
+
19
+ WORKFLOW TOOLS:
20
+ list_workflows - List all workflows in workspace
21
+ list_workflows_minimal - Compact workflow list with counts
22
+ list_workflow_phases - Get phases for a workflow
23
+ get_workflow_schema - Get field definitions for a workflow
24
+ install_workflow - Create workflow from template
25
+
26
+ ACTIVITY TOOLS:
27
+ list_activities - List activities in a workflow phase
28
+ show_activity_by_id - Get single activity details
29
+ create_activity - Create new activity (single or bulk)
30
+ update_activity - Update activity (single or bulk)
31
+ count_activities - Count activities in workflow
32
+
33
+ DISCUSSION TOOLS:
34
+ list_my_discussions - List discussions you're in
35
+ fetch_discussion_messages - Read messages from discussion
36
+ add_discussion_message - Post to a discussion
37
+ join_discussion - Join a discussion
38
+ leave_discussion - Leave a discussion
39
+ invite_discussion_members - Invite users to discussion
40
+
41
+ INSIGHT TOOLS:
42
+ list_insights - List all insights
43
+ create_insight - Create SQL-like insight
44
+ preview_insight - Test insight query
45
+ get_insight_data - Execute insight and get results
46
+ update_insight - Modify existing insight
47
+
48
+ APP TOOLS:
49
+ list_apps - List apps in workspace
50
+ create_app - Create app entry
51
+ update_app - Update app properties
52
+ scaffold_hailer_app - Generate app from template
53
+ publish_hailer_app - Deploy app to production
54
+
55
+ FILE TOOLS:
56
+ upload_files - Upload files to Hailer
57
+ download_file - Download file from Hailer
58
+
59
+ USER TOOLS:
60
+ search_workspace_users - Find users by name
61
+
62
+ TEMPLATE TOOLS:
63
+ list_templates - List marketplace templates
64
+ get_template - Get template details
65
+ install_template - Install template to workspace
66
+ publish_template - Publish workspace as template
67
+
68
+ USAGE:
69
+ Tools are called via the MCP protocol. The orchestrator and
70
+ agents use them automatically based on your requests.
71
+
72
+ SEE ALSO:
73
+ /help agents - How agents use these tools
74
+ /help commands - Slash commands available
75
+ ```
@@ -0,0 +1,112 @@
1
+ ---
2
+ description: Quick bug fix with Tanya, Simple Writer, and Svetlana
3
+ argument-hint: "bug description"
4
+ allowed-tools: Task, Bash
5
+ ---
6
+ # Hotfix Squad
7
+
8
+ Sequential pipeline with iterative loop: Reproduce bug, apply fix, verify, review. Loops back if review fails.
9
+
10
+ **Agents:**
11
+ 1. **Tanya** - Test runner (create failing test, verify fix)
12
+ 2. **Simple Writer** - Code editor (apply minimal fix)
13
+ 3. **Svetlana** - Code review (security audit of the fix)
14
+
15
+ **Goal:** $ARGUMENTS
16
+
17
+ ## Protocol
18
+
19
+ ### Step 1: Tanya (Reproduce Bug)
20
+
21
+ Spawn Tanya to create a test that demonstrates the bug:
22
+
23
+ ```
24
+ Task(subagent_type="agent-tanya-test-runner", prompt="Create a test that reproduces this bug: $ARGUMENTS.\n\nThe test should:\n- Fail with the current code (red)\n- Clearly demonstrate the bug\n- Be minimal and focused\n\nDo NOT fix the bug yet. Just create the failing test and report the failure.")
25
+ ```
26
+
27
+ Wait for result. The test should be failing (RED state).
28
+
29
+ ### Step 2: Fix-Verify-Review Loop
30
+
31
+ Track iteration count. Max **3 iterations** before escalating to user with remaining issues.
32
+
33
+ **Set:** `iteration = 1`
34
+
35
+ #### Step 2a: Simple Writer (Apply Fix)
36
+
37
+ Spawn Simple Writer with accumulated context from all previous iterations:
38
+
39
+ ```
40
+ Task(subagent_type="agent-simple-writer", prompt="Fix the bug in: $ARGUMENTS.\n\nContext:\nTanya created a failing test that reproduces the bug:\n[PASTE TANYA'S TEST CODE AND FAILURE OUTPUT]\n\n[IF iteration > 1: Include ALL accumulated feedback:\n- Tanya's latest test results (pass/fail details)\n- Svetlana's review feedback (if review was reached in previous iteration)\n- What was already tried and why it didn't fully work\nThis prevents repeating previous mistakes.]\n\nMake the MINIMAL change needed to make the test pass (GREEN state). Do not refactor or improve surrounding code.")
41
+ ```
42
+
43
+ #### Step 2b: Tanya (Verify Fix)
44
+
45
+ Run the test to confirm the fix works:
46
+
47
+ ```
48
+ Task(subagent_type="agent-tanya-test-runner", prompt="Re-run the test for: $ARGUMENTS. Confirm it now passes with Simple Writer's fix. Also run any related tests to check for regressions.")
49
+ ```
50
+
51
+ If tests FAIL:
52
+ - If `iteration < 3`: increment iteration, go back to **Step 2a** with the test failure output
53
+ - If `iteration >= 3`: escalate to user (see Step 3)
54
+
55
+ #### Step 2c: Svetlana (Security Review)
56
+
57
+ Tests passed. Spawn Svetlana to audit the fix:
58
+
59
+ ```
60
+ Task(subagent_type="agent-svetlana-code-review", prompt="Security review of the hotfix for: $ARGUMENTS.\n\nFix applied by Simple Writer:\n[PASTE SIMPLE WRITER'S CHANGES]\n\nIteration: [iteration] of 3\n\nCheck for:\n- Security vulnerabilities\n- Data validation issues\n- Authentication/authorization concerns\n- Edge cases that could be exploited\n\nReturn verdict: APPROVED or REQUEST_CHANGES with specific issues to fix.")
61
+ ```
62
+
63
+ **If APPROVED:** proceed to Step 3 (report).
64
+
65
+ **If REQUEST_CHANGES:**
66
+ - If `iteration < 3`: increment iteration, go back to **Step 2a** with Svetlana's feedback
67
+ - If `iteration >= 3`: escalate to user (see Step 3)
68
+
69
+ ### Step 3: Report
70
+
71
+ ```markdown
72
+ ## Hotfix Squad Complete
73
+
74
+ ### Loop Summary
75
+ - Iterations: [count] of 3 max
76
+ - Final status: FIXED / ESCALATED
77
+
78
+ ### Tanya (Test)
79
+ - Bug reproduced: YES
80
+ - Test status before fix: FAILED
81
+ - Test status after fix: PASSED / STILL FAILING
82
+ - Regressions found: [yes/no]
83
+
84
+ ### Simple Writer (Fix)
85
+ - Files modified: [list]
86
+ - Lines changed: [count]
87
+ - Approach: [brief description]
88
+
89
+ ### Svetlana (Security)
90
+ - Verdict: APPROVED / REQUEST_CHANGES
91
+ - Critical issues: [count]
92
+ - Warnings: [count]
93
+ - [If REQUEST_CHANGES: list remaining issues]
94
+
95
+ ### Next Steps
96
+ [If FIXED:]
97
+ - Deploy to staging
98
+ - Monitor error logs
99
+
100
+ [If ESCALATED after 3 iterations:]
101
+ - Manual intervention needed
102
+ - Remaining issues: [list from Svetlana/Tanya]
103
+ - Attempted fixes: [summary of what was tried]
104
+ ```
105
+
106
+ ## Notes
107
+
108
+ - RED -> GREEN -> REVIEW loop ensures quality
109
+ - Fix must be minimal - no refactoring
110
+ - Max 3 iterations prevents infinite loops
111
+ - Each iteration passes previous feedback to Simple Writer so it doesn't repeat mistakes
112
+ - Security check is mandatory before reporting success
@@ -0,0 +1,82 @@
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
@@ -0,0 +1,167 @@
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
@@ -0,0 +1,120 @@
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
@@ -0,0 +1,120 @@
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