You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add Agent Teams support with intent-level modes and dynamic hat discovery
Move operating modes from individual hats to the intent level, enabling
consistent permission models across all teammates when using Claude Code's
Agent Teams. Hats now carry descriptions for dynamic discovery during
elaboration. Skills and commands updated to use han CLI instead of MCP tools.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Analyst |HITL |Evaluate results and implement fix |
266
+
| Hat | Focus |
267
+
|-----|-------|
268
+
| Observer | Gather data about the bug |
269
+
| Hypothesizer | Form theories about the cause |
270
+
| Experimenter | Test hypotheses systematically |
271
+
| Analyst | Evaluate results and implement fix |
270
272
271
273
## State Management
272
274
@@ -289,7 +291,7 @@ Session-scoped, cleared on `/reset`:
289
291
|`scratchpad.md`| Learnings and progress notes |
290
292
|`blockers.md`| Documented blockers |
291
293
292
-
> **Note:**Commands use `han_keep_save()`and `han_keep_load()` syntax which are **MCP tool calls**, not CLI commands. Claude executes these as MCP tool invocations. The hooks use `han keep` CLI commands directly.
294
+
> **Note:**Both commands and hooks use `han keep`CLI commands (`han keep save`, `han keep load`, `han keep delete`, `han keep list`) for state management.
293
295
294
296
## Customization
295
297
@@ -310,7 +312,7 @@ Create `.ai-dlc/hats/` in your project to override or add hats:
310
312
<!-- .ai-dlc/hats/researcher.md -->
311
313
---
312
314
name: "Researcher"
313
-
mode: HITL
315
+
description: "Investigate before implementing. Research existing solutions and make recommendations."
# Subagent reads/writes to its own branch (current branch)
410
+
han keep load scratchpad.md --quiet
411
+
han keep save scratchpad.md"..."
415
412
```
416
413
417
414
**Why this matters:** When a subagent runs in a worktree on branch `ai-dlc/{intent}/{unit}`, it saves its own working notes to its unit branch. The orchestrator runs on the intent branch and manages intent-level state there.
Copy file name to clipboardExpand all lines: commands/elaborate.md
+6-20Lines changed: 6 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -372,26 +372,12 @@ This ensures:
372
372
373
373
Intent-level state is saved to the current branch (which is now the intent branch):
374
374
375
-
```javascript
376
-
// Intent-level state → current branch (intent branch)
377
-
han_keep_save({
378
-
scope:"branch",
379
-
key:"intent-slug",
380
-
content:"{intent-slug}"
381
-
})
382
-
383
-
// Intent-level state → current branch (intent branch)
384
-
han_keep_save({
385
-
scope:"branch",
386
-
key:"iteration.json",
387
-
content:JSON.stringify({
388
-
iteration:1,
389
-
hat:"{first-hat-after-elaborator}",
390
-
workflowName:"{workflow}",
391
-
workflow: ["{hat1}", "{hat2}", ...],
392
-
status:"active"
393
-
})
394
-
})
375
+
```bash
376
+
# Intent-level state → current branch (intent branch)
377
+
han keep save intent-slug "{intent-slug}"
378
+
379
+
# Intent-level state → current branch (intent branch)
380
+
han keep save iteration.json '{"iteration":1,"hat":"{first-hat-after-elaborator}","workflowName":"{workflow}","workflow":["{hat1}","{hat2}"],"status":"active"}'
0 commit comments