feat(llm-assistants): enrich subagent config with effort, memory, and team presets#65
Merged
feat(llm-assistants): enrich subagent config with effort, memory, and team presets#65
Conversation
… team presets Add frontmatter parameters (effort, memory, permissionMode, background, maxTurns, isolation) to all Claude Code subagent definitions for cost-aware model routing and persistent cross-session knowledge. DRY up the frontmatter renderer with a declarative renderField helper. Add named coordination patterns (feature-dev, parallel-review, investigation, research-swarm) to CLAUDE.md instructions with subagent-vs-team mode annotations, de-duplicating the previous separate sections. Add persistent memory prompts to all seven agent roles.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
effort,memory,permissionMode,background,maxTurns,isolation) to all Claude Code subagent definitions, enabling cost-aware model routing, persistent cross-session knowledge, and formal read-only enforcementhighfor deep-reasoning agents (architect, reviewer, debugger, implementer),mediumfor balanced agents (tester, usability-reviewer),lowfor speed-oriented agents (researcher, codex-worker)permissionMode: planon the four agents that were previously read-only by behavioral convention only (architect, researcher, reviewer, usability-reviewer)background: trueon researcher and codex-worker as default non-blocking execution for exploratory tasksmaxTurns: 30safety cap on codex-worker to prevent runaway haiku-tier delegation loopsrenderFieldhelper that reduces 8 repetitivelib.optionallines to a singleconcatMapover a field spec list, making new fields a one-liner additiontoolsrendering from YAML list to comma-separated format (tools: Read, Grep, Glob) matching Anthropic's docs style, applied to both the renderer andcodex-worker.mdArchitecture
effortper agent: The blog post and Anthropic docs describe effort as a cost-quality lever orthogonal to model selection. A haiku researcher atloweffort returns fast lookups cheaply; an opus architect athigheffort produces thorough analysis. Combined with model choice, this gives fine-grained control over cost per delegation.memory: local: Local scope (.claude/agent-memory-local/) keeps agent knowledge project-specific without adding files to version control. All agents benefit from accumulated knowledge — the debugger remembers failed approaches, the implementer remembers codebase conventions, the researcher remembers file locations. The cost is a directory on disk; the benefit compounds over sessions.permissionMode: planoverdisallowedTools: The four read-only agents were previously constrained by prompt instructions alone.permissionMode: planformalizes this at the runtime level while still allowing boundary exceptions when genuinely needed (unlike a hard tool denylist).renderFieldhelper: The previous 8lib.optionallines followed an identical pattern differing only in field name and formatter. The declarative spec list makes the field set scannable, and adding a new field is a one-liner. String entries default totoString(works for strings and ints); onlybackgroundneedslib.boolToString.Test plan
nix fmtpasses on all modified Nix filesstatix checkpasses (no anti-patterns)deadnix --failpasses (no unused bindings)nix build '.#homeConfigurations.hakula-linux.activationPackage' --dry-runsucceedsnix eval '.#nixosConfigurations.us-4.config.system.build.toplevel.drvPath'succeeds