Harness Configuration Reference
Maintained by: Ada (Agentic Pattern Designer) + Ivan (Infrastructure Engineer)
Last updated: 2026-03-29
Decision: TFD-0014 (Component Taxonomy — Category 4)
Overview
Claude Code is both our factory tool and our product deployment format. This reference documents every configurable aspect of the harness — what each component does, when to use it, and how to configure it for different talent profiles.
Key insight: "Every harness component encodes an assumption about what the model can't do on its own." — Anthropic. Configure only what the model needs. Review assumptions at each major model release.
1. CLAUDE.md — The Brain
The core configuration file. Defines agent identity, rules, and workspace.
Standard Structure (9 Sections)
| Section |
Purpose |
Required |
Complexity Scaling |
| 1. Role Definition |
"You are a {type} agent for {client}" |
Always |
Fixed — 1-2 sentences |
| 2. Workspace Rules |
File safety, conventions, language, safety |
Always |
Low — standard rules + client language |
| 3. Structure |
Directory layout |
Always |
Low — standard + client-specific dirs |
| 4. Skills Table |
All commands: name, usage, input, output, model |
Always |
Scales with skill count (10-40 rows) |
| 5. Workflow |
Standard pipeline for this product type |
If multi-step |
Medium — depends on orchestration |
| 6. Conventions |
Naming patterns, request numbering, decision format |
Always |
Low — client-specific naming |
| 7. Model Selection |
Cost optimization matrix, per-skill assignments |
Always |
Low — reference model catalog |
| 8. Permissions |
Autonomous / confirm / deny levels |
Always |
Low — standard tiers |
| 9. Known Issues |
Caveats, workarounds |
If applicable |
Low — shrinks over time |
Complexity Profiles
| Profile |
Sections Active |
Typical Size |
Example Product |
| Simple |
1-4, 6-8 |
~100 lines |
Data validator, simple advisor |
| Standard |
1-8 |
~200 lines |
EA agent, compliance agent |
| Complex |
All 9, expanded workflow |
~300+ lines |
Multi-framework orchestrated talent |
Template Location
production-lines/digital-talent/templates/CLAUDE-template.md
2. Settings — Runtime Behavior
settings.json ships with the talent. settings.local.json is dev-only (never ships).
Permission Modes
| Mode |
Behavior |
When to Use |
default |
Prompts user for each tool call |
New/untested talents, security-sensitive |
bypassPermissions |
Allows all (with deny list) |
Development only — never ship this |
allowedTools (allowlist) |
Only listed tools permitted |
Production talents — explicit whitelist |
Permission Model Tiers
| Tier |
Allow |
Confirm |
Deny |
Use Case |
| Trusted |
Read, Write, Edit, Glob, Grep, Bash (safe) |
External API calls |
Destructive ops, credentials access |
Internal tools, non-sensitive domains |
| Standard |
Read, Glob, Grep |
Write, Edit, Bash |
Destructive ops, system commands |
Most client deployments |
| Restricted |
Read, Glob, Grep |
— |
Everything else |
Read-only analysis talents |
Deny List (Always Include)
{
"deny": [
"Bash(git push --force *)",
"Bash(git reset --hard *)",
"Bash(rm -rf *)",
"Bash(sudo *)",
"Read(.env)",
"Read(*credentials*)",
"Read(*secret*)",
"Read(*.pem)"
]
}
3. Hooks — Event-Driven Validation
Hooks fire on tool use events. Three types: PreToolUse, PostToolUse, Stop.
Hook Architecture
User Request → Tool Call → PreToolUse Hook → [ALLOW/BLOCK] → Tool Executes → PostToolUse Hook → Result
Available Hook Patterns
| Pattern |
Type |
Matcher |
Purpose |
Factory Example |
| Terminology enforcement |
PreToolUse |
Write|Edit |
Block writes that violate brand terms |
"digital talent" not "digital employee" |
| Naming convention |
PreToolUse |
createJiraIssue |
Validate artifact names before creation |
Jira summary format, Epic prefix codes |
| Content standards |
PreToolUse |
createJiraIssue |
Require mandatory sections in content |
AC + DoD in stories/bugs |
| Output validation |
PostToolUse |
Write |
Verify output matches expected format |
Template compliance check |
| Safety guard |
PreToolUse |
Bash |
Block dangerous commands |
Deny destructive operations |
| Session reminder |
SessionStart |
— |
Display onboarding info at start |
Token-saving tips |
Hook Complexity Guide
| Talent Profile |
Hooks Recommended |
Examples |
| Simple |
0-1 |
Session start reminder only |
| Standard |
1-3 |
Terminology + naming conventions |
| Complex |
3-5 |
Terminology + naming + content standards + output validation |
| Regulated |
5+ |
All above + compliance checks + audit logging |
Hook Template
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit",
"hook": {
"type": "prompt",
"prompt": "Check this content against [rules]. If it violates any rule, respond BLOCK with the violation. Otherwise respond ALLOW."
}
}
]
}
}
4. Skills — Executable Capabilities
Skills live in .claude/commands/ as markdown files with frontmatter.
Skill Anatomy
| Component |
Required |
Purpose |
| Frontmatter |
Yes |
Name, description, usage, model recommendation |
| Input specification |
Yes |
What the skill expects, path resolution rules |
| Processing steps |
Yes |
Numbered steps the agent follows |
| Output specification |
Yes |
File name pattern, format, destination |
| Quality checks |
Yes |
Verification criteria before completion |
| Model recommendation |
Yes |
Which model tier for this skill |
Skill Count by Talent Profile
| Profile |
Typical Count |
Breakdown |
| Simple |
5-10 |
Core domain skills only |
| Standard |
15-25 |
Domain + utility + workflow skills |
| Complex |
25-40 |
Domain + utility + workflow + orchestration + validation skills |
Reusability
Skills fall into three reuse categories:
| Category |
Reuse Level |
Examples |
| Generic |
Cross-product |
Orientation, status check, help |
| Domain |
Within product type |
EA-specific, compliance-specific |
| Client |
Single deployment |
Client naming, tool-specific integration |
5. MCP Servers — External Integration
See: departments/engineering/infrastructure-engineer-ivan/integration-catalog.md
MCP configuration ships in .mcp.json alongside the talent. Each server requires:
- Server package installation
- Authentication configuration
- Permission allowlisting in
settings.json
6. Memory — Persistence Across Sessions
Memory Patterns
| Pattern |
Mechanism |
Persistence |
Use Case |
| Stateless |
No memory config |
None |
Simple single-shot skills |
| Per-request |
Working directory per request (e.g., demandes-ae/DAE-NNNN/) |
Request lifetime |
Stateful workflows with file-based handoffs |
| Session memory |
memory/MEMORY.md + index |
Cross-session |
Talents that learn preferences over time |
| Shared state |
Common files read/written by multiple skills |
Within talent |
Orchestrated talents with multiple phases |
Memory Configuration Guide
| Talent Profile |
Recommended Pattern |
Setup |
| Simple |
Stateless or per-request |
Working directory convention in CLAUDE.md |
| Standard |
Per-request |
Directory structure + naming convention |
| Complex |
Per-request + session memory |
MEMORY.md + request directories |
| Orchestrated |
Shared state + session memory |
Structured artifacts for phase handoffs |
7. Structured Storage & Context Historization
Not all talents can rely on file-based persistence. When a talent needs to query, aggregate, or track temporal state, structured storage is required.
When Files Aren't Enough
| Signal |
Problem |
Storage Needed |
| Talent queries data with filters/aggregates |
Reading all files is slow, context-heavy |
SQLite or structured store |
| Talent must search documents semantically |
Reading every file wastes tokens |
Vector store + embeddings (RAG) |
| Talent must maintain audit trail |
Git history is implicit, not queryable |
Structured historization (SQLite + timestamps) |
| Multi-agent talent shares state |
File locks, race conditions |
Shared state DB or Mem0 MCP |
| Talent switches between models |
Context must transfer across model boundaries |
External persistence layer (Mem0, LangGraph) |
Storage Options Catalog
| Option |
Type |
Complexity |
Best For |
MCP Available |
| File-based (markdown/JSON) |
Flat files |
None |
Simple state, per-request dirs |
N/A (native) |
| SQLite |
Embedded relational DB |
Low |
Structured queries, audit trails, FTS5 search |
Context Mode MCP (score 3.0) |
| Mem0 MCP |
Universal memory layer |
Medium |
Cross-session memory, model-switching persistence |
Yes — OpenMemory MCP (score 3.4) |
| LangGraph Persistence |
Checkpoint store |
Medium |
Multi-agent state checkpoints, workflow recovery |
PostgreSQL/Redis/DynamoDB backends |
| Vector store (Chroma, Pinecone) |
Embedding index |
High |
Semantic search, RAG over large doc sets |
Varies |
| Knowledge graph (Zep) |
Temporal graph |
High |
Entity relationships, temporal reasoning |
Not recommended (600K+ token footprint) |
Decision Tree: Do You Need Structured Storage?
Can the talent work with files only (read/write markdown, JSON)?
YES → File-based persistence (default)
NO → What kind of queries?
Structured (filter, aggregate, join) → SQLite
Semantic (find similar, search meaning) → Vector store + RAG
Temporal (what changed, when, audit trail) → SQLite with timestamps
Cross-model (persist across Claude ↔ local LLM) → Mem0 MCP
Multi-agent shared state → Mem0 MCP or LangGraph checkpoints
Context Historization Pattern
For talents that need audit trails or decision history:
| Component |
Implementation |
| Event log |
SQLite table: (id, timestamp, actor, action, input_hash, output_hash, decision) |
| Decision trail |
Each skill appends a decision record with rationale |
| Query interface |
Skill that queries historization DB for past decisions, patterns, or conflicts |
| Pruning policy |
Age-based or size-based cleanup to prevent unbounded growth |
Maturity Note
Structured storage is R&D territory for product use. Riley evaluated the options (RD-0011, RD-0008). Currently:
- File-based is the only production-proven pattern
- SQLite is evaluated, not yet deployed in a talent
- Mem0 MCP is evaluated, recommended for Phase 3b (model-switching use case)
- Vector stores are not yet evaluated for factory use
References
- RD-0011: External context persistence evaluation (Mem0, LangGraph, Zep)
- RD-0008: Context Mode MCP evaluation (SQLite-backed)
- Agentic pattern: Retrieval-Augmented Generation (
patterns/memory/retrieval-augmented-generation.md)
- Agentic pattern: Shared State (
patterns/memory/shared-state.md)
- Agentic pattern: Memory Management (
patterns/memory/memory-management.md)
8. Context Management
Strategies
| Strategy |
When to Use |
How |
| Natural |
Simple talents, short interactions |
No special config — Claude manages context |
| File-based handoffs |
Multi-phase workflows |
Each phase writes output files; next phase reads them |
| Structured artifacts |
Complex orchestration |
JSON/markdown state files passed between agents |
| Context resets |
Long-running talents |
Start fresh sessions with state loaded from files |
Anti-Patterns
- Conversation-dependent state: Don't rely on conversation history for critical state. Write to files.
- Monolithic context: Don't load everything upfront. Load per-skill as needed.
- Compaction reliance: Don't trust automatic compaction to preserve critical details. Use explicit file state.
8. Plugins — Shareable Bundles
Plugins bundle skills, hooks, agents, and MCP configs. Current factory plugins:
| Plugin |
Contents |
Status |
superpowers |
Brainstorming, planning, TDD, debugging workflows |
Active (factory) |
telegram |
Telegram channel integration |
Active (factory) |
toolkit-catalog |
Cross-project reusable skills |
Active (factory) |
Product use: Not yet. Plugins could package entire talent configurations for easier deployment — R&D opportunity.
Configuration Decision Tree
New talent → Start here:
1. CLAUDE.md → Which complexity profile? (simple/standard/complex)
2. Permissions → Which tier? (trusted/standard/restricted)
3. Hooks → How many validation layers? (0-5+)
4. Skills → How many skills? (5-10 / 15-25 / 25-40)
5. Memory → Which persistence pattern? (stateless / per-request / session / shared)
6. MCP → Which integrations? (none / read-only / read-write)
7. Model routing → Per-skill assignments from model catalog
Update Triggers
| Trigger |
Action |
| New Claude Code feature (hooks, plugins, etc.) |
Riley reports; Ada updates this reference |
| New MCP server available |
Ivan tests; Ada adds to integration options |
| Production feedback (config issue) |
Pablo reports; Ada adjusts guidance |
| New talent profile emerges |
Ada adds profile to complexity guides |
| Anthropic harness evolution |
Riley evaluates; Ada stress-tests assumptions |
References
- Assembly guide:
production-lines/digital-talent/assembly.md
- CLAUDE template:
production-lines/digital-talent/templates/CLAUDE-template.md
- Skill template:
production-lines/digital-talent/templates/skill-template.md
- Factory settings:
.claude/settings.json
- Model catalog:
departments/it-architecture/agentic-pattern-designer-ada/model-routing-catalog.md
- Integration catalog:
departments/engineering/infrastructure-engineer-ivan/integration-catalog.md
- Design principles:
docs/superpowers/specs/2026-03-29-component-taxonomy-design.md (Section 3.2)