@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.
- package/.claude/.context-watchdog.json +1 -0
- package/.claude/.session-checked +1 -0
- package/.claude/CLAUDE.md +370 -0
- package/.claude/agents/agent-ada-skill-builder.md +94 -0
- package/.claude/agents/agent-alejandro-function-fields.md +342 -0
- package/.claude/agents/agent-bjorn-config-audit.md +103 -0
- package/.claude/agents/agent-builder-agent-creator.md +130 -0
- package/.claude/agents/agent-code-simplifier.md +53 -0
- package/.claude/agents/agent-dmitri-activity-crud.md +159 -0
- package/.claude/agents/agent-giuseppe-app-builder.md +208 -0
- package/.claude/agents/agent-gunther-mcp-tools.md +39 -0
- package/.claude/agents/agent-helga-workflow-config.md +204 -0
- package/.claude/agents/agent-igor-activity-mover-automation.md +125 -0
- package/.claude/agents/agent-ingrid-doc-templates.md +261 -0
- package/.claude/agents/agent-ivan-monolith.md +154 -0
- package/.claude/agents/agent-kenji-data-reader.md +86 -0
- package/.claude/agents/agent-lars-code-inspector.md +102 -0
- package/.claude/agents/agent-marco-mockup-builder.md +110 -0
- package/.claude/agents/agent-marcus-api-documenter.md +323 -0
- package/.claude/agents/agent-marketplace-publisher.md +280 -0
- package/.claude/agents/agent-marketplace-reviewer.md +309 -0
- package/.claude/agents/agent-permissions-handler.md +208 -0
- package/.claude/agents/agent-simple-writer.md +48 -0
- package/.claude/agents/agent-svetlana-code-review.md +171 -0
- package/.claude/agents/agent-tanya-test-runner.md +333 -0
- package/.claude/agents/agent-ui-designer.md +100 -0
- package/.claude/agents/agent-viktor-sql-insights.md +212 -0
- package/.claude/agents/agent-web-search.md +55 -0
- package/.claude/agents/agent-yevgeni-discussions.md +45 -0
- package/.claude/agents/agent-zara-zapier.md +159 -0
- package/.claude/agents/ragnar.md +68 -0
- package/.claude/commands/app-squad.md +135 -0
- package/.claude/commands/audit-squad.md +158 -0
- package/.claude/commands/autoplan.md +563 -0
- package/.claude/commands/cleanup-squad.md +98 -0
- package/.claude/commands/config-squad.md +106 -0
- package/.claude/commands/crud-squad.md +87 -0
- package/.claude/commands/data-squad.md +97 -0
- package/.claude/commands/debug-squad.md +303 -0
- package/.claude/commands/doc-squad.md +65 -0
- package/.claude/commands/handoff.md +137 -0
- package/.claude/commands/health.md +49 -0
- package/.claude/commands/help.md +29 -0
- package/.claude/commands/help:agents.md +151 -0
- package/.claude/commands/help:commands.md +78 -0
- package/.claude/commands/help:faq.md +79 -0
- package/.claude/commands/help:plugins.md +50 -0
- package/.claude/commands/help:skills.md +93 -0
- package/.claude/commands/help:tools.md +75 -0
- package/.claude/commands/hotfix-squad.md +112 -0
- package/.claude/commands/integration-squad.md +82 -0
- package/.claude/commands/janitor-squad.md +167 -0
- package/.claude/commands/learn-auto.md +120 -0
- package/.claude/commands/learn.md +120 -0
- package/.claude/commands/mcp-list.md +27 -0
- package/.claude/commands/onboard-squad.md +140 -0
- package/.claude/commands/plan-workspace.md +732 -0
- package/.claude/commands/prd.md +130 -0
- package/.claude/commands/project-status.md +82 -0
- package/.claude/commands/publish.md +138 -0
- package/.claude/commands/recap.md +69 -0
- package/.claude/commands/restore.md +64 -0
- package/.claude/commands/review-squad.md +152 -0
- package/.claude/commands/save.md +24 -0
- package/.claude/commands/stats.md +19 -0
- package/.claude/commands/swarm.md +210 -0
- package/.claude/commands/tool-builder.md +39 -0
- package/.claude/commands/ws-pull.md +44 -0
- package/.claude/skills/SDK-activity-patterns/SKILL.md +428 -0
- package/.claude/skills/SDK-document-templates/SKILL.md +1033 -0
- package/.claude/skills/SDK-function-fields/SKILL.md +542 -0
- package/.claude/skills/SDK-generate-skill/SKILL.md +92 -0
- package/.claude/skills/SDK-init-skill/SKILL.md +127 -0
- package/.claude/skills/SDK-insight-queries/SKILL.md +787 -0
- package/.claude/skills/SDK-ws-config-skill/SKILL.md +1139 -0
- package/.claude/skills/agent-structure/SKILL.md +98 -0
- package/.claude/skills/api-documentation-patterns/SKILL.md +474 -0
- package/.claude/skills/chrome-mcp-reference/SKILL.md +370 -0
- package/.claude/skills/delegation-routing/SKILL.md +202 -0
- package/.claude/skills/frontend-design/SKILL.md +254 -0
- package/.claude/skills/hailer-activity-mover/SKILL.md +213 -0
- package/.claude/skills/hailer-api-client/SKILL.md +518 -0
- package/.claude/skills/hailer-app-builder/SKILL.md +1440 -0
- package/.claude/skills/hailer-apps-pictures/SKILL.md +269 -0
- package/.claude/skills/hailer-design-system/SKILL.md +231 -0
- package/.claude/skills/hailer-monolith-automations/SKILL.md +686 -0
- package/.claude/skills/hailer-permissions-system/SKILL.md +121 -0
- package/.claude/skills/hailer-project-protocol/SKILL.md +488 -0
- package/.claude/skills/hailer-rest-api/SKILL.md +61 -0
- package/.claude/skills/hailer-rest-api/hailer-activities.md +184 -0
- package/.claude/skills/hailer-rest-api/hailer-admin.md +473 -0
- package/.claude/skills/hailer-rest-api/hailer-calendar.md +256 -0
- package/.claude/skills/hailer-rest-api/hailer-feed.md +249 -0
- package/.claude/skills/hailer-rest-api/hailer-insights.md +195 -0
- package/.claude/skills/hailer-rest-api/hailer-messaging.md +276 -0
- package/.claude/skills/hailer-rest-api/hailer-workflows.md +283 -0
- package/.claude/skills/insight-join-patterns/SKILL.md +174 -0
- package/.claude/skills/integration-patterns/SKILL.md +421 -0
- package/.claude/skills/json-only-output/SKILL.md +72 -0
- package/.claude/skills/lsp-setup/SKILL.md +160 -0
- package/.claude/skills/mcp-direct-tools/SKILL.md +153 -0
- package/.claude/skills/optional-parameters/SKILL.md +72 -0
- package/.claude/skills/publish-hailer-app/SKILL.md +221 -0
- package/.claude/skills/testing-patterns/SKILL.md +630 -0
- package/.claude/skills/tool-builder/SKILL.md +250 -0
- package/.claude/skills/tool-parameter-usage/SKILL.md +126 -0
- package/.claude/skills/tool-response-verification/SKILL.md +92 -0
- package/.claude/skills/zapier-hailer-patterns/SKILL.md +581 -0
- package/.opencode/agent/agent-ada-skill-builder.md +35 -0
- package/.opencode/agent/agent-alejandro-function-fields.md +39 -0
- package/.opencode/agent/agent-bjorn-config-audit.md +36 -0
- package/.opencode/agent/agent-builder-agent-creator.md +39 -0
- package/.opencode/agent/agent-code-simplifier.md +31 -0
- package/.opencode/agent/agent-dmitri-activity-crud.md +40 -0
- package/.opencode/agent/agent-giuseppe-app-builder.md +37 -0
- package/.opencode/agent/agent-gunther-mcp-tools.md +39 -0
- package/.opencode/agent/agent-helga-workflow-config.md +204 -0
- package/.opencode/agent/agent-igor-activity-mover-automation.md +46 -0
- package/.opencode/agent/agent-ingrid-doc-templates.md +39 -0
- package/.opencode/agent/agent-ivan-monolith.md +46 -0
- package/.opencode/agent/agent-kenji-data-reader.md +53 -0
- package/.opencode/agent/agent-lars-code-inspector.md +28 -0
- package/.opencode/agent/agent-marco-mockup-builder.md +42 -0
- package/.opencode/agent/agent-marcus-api-documenter.md +53 -0
- package/.opencode/agent/agent-marketplace-publisher.md +44 -0
- package/.opencode/agent/agent-marketplace-reviewer.md +42 -0
- package/.opencode/agent/agent-permissions-handler.md +50 -0
- package/.opencode/agent/agent-simple-writer.md +45 -0
- package/.opencode/agent/agent-svetlana-code-review.md +39 -0
- package/.opencode/agent/agent-tanya-test-runner.md +57 -0
- package/.opencode/agent/agent-ui-designer.md +56 -0
- package/.opencode/agent/agent-viktor-sql-insights.md +34 -0
- package/.opencode/agent/agent-web-search.md +42 -0
- package/.opencode/agent/agent-yevgeni-discussions.md +37 -0
- package/.opencode/agent/agent-zara-zapier.md +53 -0
- package/.opencode/commands/app-squad.md +135 -0
- package/.opencode/commands/audit-squad.md +158 -0
- package/.opencode/commands/autoplan.md +563 -0
- package/.opencode/commands/cleanup-squad.md +98 -0
- package/.opencode/commands/config-squad.md +106 -0
- package/.opencode/commands/crud-squad.md +87 -0
- package/.opencode/commands/data-squad.md +97 -0
- package/.opencode/commands/debug-squad.md +303 -0
- package/.opencode/commands/doc-squad.md +65 -0
- package/.opencode/commands/handoff.md +137 -0
- package/.opencode/commands/health.md +49 -0
- package/.opencode/commands/help-agents.md +151 -0
- package/.opencode/commands/help-commands.md +32 -0
- package/.opencode/commands/help-faq.md +29 -0
- package/.opencode/commands/help-plugins.md +28 -0
- package/.opencode/commands/help-skills.md +7 -0
- package/.opencode/commands/help-tools.md +40 -0
- package/.opencode/commands/help.md +28 -0
- package/.opencode/commands/hotfix-squad.md +112 -0
- package/.opencode/commands/integration-squad.md +82 -0
- package/.opencode/commands/janitor-squad.md +167 -0
- package/.opencode/commands/learn-auto.md +120 -0
- package/.opencode/commands/learn.md +120 -0
- package/.opencode/commands/mcp-list.md +27 -0
- package/.opencode/commands/onboard-squad.md +140 -0
- package/.opencode/commands/plan-workspace.md +732 -0
- package/.opencode/commands/prd.md +131 -0
- package/.opencode/commands/project-status.md +82 -0
- package/.opencode/commands/publish.md +138 -0
- package/.opencode/commands/recap.md +69 -0
- package/.opencode/commands/restore.md +64 -0
- package/.opencode/commands/review-squad.md +152 -0
- package/.opencode/commands/save.md +24 -0
- package/.opencode/commands/stats.md +19 -0
- package/.opencode/commands/swarm.md +210 -0
- package/.opencode/commands/tool-builder.md +39 -0
- package/.opencode/commands/ws-pull.md +44 -0
- package/.opencode/opencode.json +21 -0
- package/package.json +1 -1
- package/scripts/postinstall.cjs +64 -0
- 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
|