Inventory: Agent Fleet Agent Fleet Inventory — SENTINEL Audit 2026-05-09 Auditor: sentinel-architect Scope: ~/.claude/agents/ vs specialist-mapping.json vs persona dirs vs chains vs definitions dual-store Status: READ-ONLY. No files modified. 1. 66 vs 29 vs 12 Reconciliation Raw counts (tool-verified) Store Count Notes ~/.claude/agents/*.md 66 Includes 0.md, Explore.md, Plan.md as named agents specialist-mapping.json mappings 29 Key: mappings object specialist-mapping.json companies 9 ALAI, AgentForge, CodeCraft, Finverge, FlowForge, Proveo, Securion, Skybound, Vizu Persona dirs in ~/system/agents/personas/ 12 AgentForge, Axiom, CodeCraft, Datavera, Finverge, FlowForge, Lexicon, Proveo, Resolver, Securion, Skybound, Vizu Critical gap: 3 persona companies are completely absent from specialist-mapping.json: Axiom — not in company_summary, zero agents mapped Datavera — not in company_summary, zero agents mapped Resolver — not in company_summary, zero agents mapped Lexicon — not in company_summary, zero agents mapped (persona dir exists, skillforge.md maps to "Skillforge" not Lexicon) So the real company gap is 4 out of 12 personas have no presence in specialist-mapping.json. Mapped agents (29 in specialist-mapping.json) Agent file Company On disk (~/.claude/agents/)? alem-clone.md ALAI MISSING angie-jones.md Proveo YES anthropic-chief-architect.md AgentForge MISSING brad-frost.md Vizu YES bruce-momjian.md CodeCraft YES builder.md CodeCraft YES chip-huyen.md AgentForge YES claude-code-guide.md AgentForge YES codecraft.md CodeCraft YES dorota-huizinga.md Proveo MISSING georgi-gerganov.md AgentForge YES hadi-hariri.md CodeCraft MISSING james-bach.md Proveo MISSING kelsey-hightower.md FlowForge YES lea-verou.md Vizu YES lee-robinson.md CodeCraft MISSING lisa-crispin.md Proveo MISSING markos-zachariadis.md Finverge YES martin-kleppmann.md CodeCraft YES parisa-tabriz.md Securion YES paul-hudson.md Skybound YES petter-graff.md CodeCraft YES proveo.md Proveo YES sentinel-architect.md Securion YES sentinel-ba.md Skybound YES sentinel-developer.md CodeCraft YES sentinel-tester.md Proveo YES sentinel-validator.md Proveo YES skillforge.md Skillforge YES 7 agents mapped in specialist-mapping.json but MISSING from ~/.claude/agents/: alem-clone.md — exists in definitions/, not synced to ~/.claude/agents/ anthropic-chief-architect.md — NOT in definitions/ either; completely phantom dorota-huizinga.md — exists in definitions/, not synced hadi-hariri.md — exists in definitions/, not synced james-bach.md — exists in definitions/, not synced lee-robinson.md — exists in definitions/, not synced lisa-crispin.md — exists in definitions/, not synced anthropic-chief-architect.md is the worst case: mapped in specialist-mapping.json, NOT in definitions/, NOT in ~/.claude/agents/ — fully phantom, cannot be dispatched. 42 unmapped agents (in ~/.claude/agents/ but NOT in specialist-mapping.json) Classification: ORPHAN = nowhere used | DUPLICATE = covered by mapped peer | NEEDS-MAPPING = used in chains/skills but unmapped Agent Classification Reasoning 0.md ORPHAN No name, no description, artifact agentforge.md NEEDS-MAPPING Company persona file; Axiom/Datavera/Resolver equivalents all exist — AgentForge has a persona dir but no company-level mapping entry backend-builder.md DUPLICATE Covered by builder.md (CodeCraft, mapped) backend-dev.md DUPLICATE Covered by codecraft.md + builder.md baseline-comparator.md NEEDS-MAPPING Active agent (Veritas baseline, MLX-backed); used in verify-fix-loop skill; no mapping code-reviewer.md DUPLICATE Covered by petter-graff.md / sentinel-developer.md code-simplifier.md DUPLICATE Covered by sentinel-developer.md database-dev.md DUPLICATE Covered by bruce-momjian.md datavera.md NEEDS-MAPPING Company persona file for Datavera (persona dir exists, 0 mapped agents) design-builder.md DUPLICATE Covered by brad-frost.md / lea-verou.md devils-advocate.md NEEDS-MAPPING Pre-action blocker used in 0 chain yamls but referenced in mehanik flow; unregistered devops-dev.md DUPLICATE Covered by kelsey-hightower.md distiller.md NEEDS-MAPPING Used in 21 chain yaml steps (highest after builder/validator); no mapping. CRITICAL gap. dr-sarah-chen.md ORPHAN No description parsed; no chain/skill references found dzevad-jahic.md NEEDS-MAPPING Bosnian linguistic QA (Lexicon company, per CLAUDE.md); not in specialist-mapping.json despite CLAUDE.md routing directive evidence-verifier.md NEEDS-MAPPING Active Veritas agent (gemma-4-26b @ FORGE); triggers on mc.js done for H tasks; no mapping Explore.md ORPHAN Capital E; appears to be a stub finverge.md NEEDS-MAPPING Company persona file for Finverge; persona dir mapped but no company-level agent entry fix-builder.md NEEDS-MAPPING Write-only counterpart to verifier; used in verify-fix-loop skill; no mapping flowforge.md NEEDS-MAPPING Company persona file for FlowForge; only kelsey-hightower.md individual is mapped frontend-builder.md DUPLICATE Covered by lea-verou.md / lee-robinson.md frontend-dev.md DUPLICATE Covered by lea-verou.md fullstack-dev.md DUPLICATE Covered by codecraft.md helixsupport.md ORPHAN Role=coordinator; 0 skill/chain references found indy-dandev.md ORPHAN AI research agent (Indian AI + Dan Abramov persona); no chain/skill references; not used in current system integration-dev.md DUPLICATE Covered by codecraft.md jake-wharton.md NEEDS-MAPPING Android/Kotlin expert (Jake Wharton persona); no AgentForge/Skybound mapping entry lexicon.md NEEDS-MAPPING Company persona file for Lexicon (documentation company per CLAUDE.md); 0 agents in specialist-mapping.json maria-santos.md ORPHAN No description parsed; no chain/skill references found mehanik.md NEEDS-MAPPING Core orchestration gate; referenced in 7 skill files; CLAUDE.md cites /mehanik command as mandatory pre-dispatch gate; completely absent from specialist-mapping.json meta-agent.md ORPHAN No chain/skill references found Plan.md ORPHAN Capital P; appears to be a stub proxima.md NEEDS-MAPPING Marketing/content agent; referenced in 10 skill files; no company assignment rag-builder.md ORPHAN No chain/skill references; likely superseded by AgentForge rag-tuning-agent.yaml redzo-reviewer.md ORPHAN No chain/skill references found resolver.md NEEDS-MAPPING Company persona for Resolver (persona dir exists, 8 internal agents; 0 in specialist-mapping.json) securion.md NEEDS-MAPPING Company persona for Securion; parisa-tabriz.md + sentinel-architect.md individually mapped, but no company-level dispatcher skybound.md NEEDS-MAPPING Company persona for Skybound; individual members mapped but no company dispatcher thaer-sabri.md ORPHAN No description parsed; no chain/skill references found validator.md NEEDS-MAPPING Used in 44 skill files and 22 chain yaml steps; one of the most-used agents in the entire system; NOT in specialist-mapping.json. CRITICAL gap. verifier.md NEEDS-MAPPING 2 skill file references; verify-fix-loop skill; not mapped vizu.md NEEDS-MAPPING Company persona for Vizu; brad-frost.md + lea-verou.md individually mapped, no company dispatcher Summary of 42 unmapped: ORPHAN: 10 (0.md, dr-sarah-chen.md, Explore.md, helixsupport.md, indy-dandev.md, maria-santos.md, meta-agent.md, Plan.md, rag-builder.md, redzo-reviewer.md, thaer-sabri.md) — wait, 11 counting redzo Actually: 0.md, dr-sarah-chen.md, Explore.md, helixsupport.md, indy-dandev.md, maria-santos.md, meta-agent.md, Plan.md, rag-builder.md, redzo-reviewer.md, thaer-sabri.md = 11 ORPHAN DUPLICATE: backend-builder.md, backend-dev.md, code-reviewer.md, code-simplifier.md, database-dev.md, design-builder.md, devops-dev.md, frontend-builder.md, frontend-dev.md, fullstack-dev.md, integration-dev.md = 11 DUPLICATE NEEDS-MAPPING: 20 (agentforge, baseline-comparator, datavera, devils-advocate, distiller, dzevad-jahic, evidence-verifier, finverge, fix-builder, flowforge, jake-wharton, lexicon, mehanik, proxima, resolver, securion, skybound, validator, verifier, vizu) Note: counts = 11+11+20 = 42. The original "37 unmapped" figure understates by 5 because it excludes alem-clone.md (mapped but disk-missing) and overcounts mapped agents that are actually absent. 2. Persona Dirs Deep Dive All 12 persona dirs have a consistent structure: agents/ , blueprints/ , brand/ , CLAUDE.md , company.json , config.json , legal/ , ops/ , README.md , skills/ , state/ , tools/ . Persona Has README Has CLAUDE.md Has company.json Agents inside (count) Owner in company.json In specialist-mapping.json AgentForge YES YES YES (domain: AI) 8 N/A Partial (3 individuals mapped, no company dispatcher) Axiom YES YES YES (domain: ARCHITECTURE) 5 N/A NO — completely absent CodeCraft YES YES YES (domain: DEVELOPMENT) 8 N/A Partial (6 individuals mapped) Datavera YES YES YES (domain: DATA) 8 N/A NO — completely absent Finverge YES YES YES (domain: FINANCE) 9 N/A Partial (1 individual mapped) FlowForge YES YES YES (domain: DEVOPS) 10 N/A Partial (1 individual mapped) Lexicon YES YES YES (domain: DOCUMENTATION) 9 N/A NO — skillforge.md maps to "Skillforge" not Lexicon Proveo YES YES YES (domain: QA) 8 N/A Partial (6 individuals mapped) Resolver YES YES YES (domain: SYSTEMIC) 8 N/A NO — completely absent Securion YES YES YES (domain: SECURITY) 8 N/A Partial (2 individuals mapped) Skybound YES YES YES (domain: PRODUCT) 7 N/A Partial (2 individuals mapped) Vizu YES YES YES (domain: DESIGN) 7 N/A Partial (2 individuals mapped) Structural finding: All company.json files report owner: N/A . No human/agent owner is recorded for any virtual company. This means there is no machine-readable way to route escalation or accountability. Persona vs mapping mismatch: 87 total agents inside persona dirs (sum of agent subdirs across 12 companies) — none of these internal PI agents (builder.yaml, lead.yaml, reviewer.yaml, etc.) appear in specialist-mapping.json. specialist-mapping.json only tracks the "celebrity" individual agents, not the PI agent swarms inside each company. 3. Chain Coverage Agents referenced in chains Agent Times referenced in chains In specialist-mapping.json? Disk present? builder 25 YES YES validator 22 NO YES distiller 21 NO YES sentinel-validator 9 YES YES minion 5 NO NOT in ~/.claude/agents/ (in definitions/ only) planner 4 NO NOT in ~/.claude/agents/ at all Critical: minion and planner are referenced in chains but have NO corresponding .md in ~/.claude/agents/. minion.md exists in ~/system/agents/definitions/ but was never synced forward planner does not exist in definitions/ or ~/.claude/agents/ — it is a phantom agent referenced in 3 chains (plan-build.yaml, plan-build-review.yaml, plan-review-plan.yaml) Dead chains (0 references anywhere in skills/ or system/) Chains that are never invoked via skills or daemons: Chain Skill refs System refs Verdict codecraft-api-backend.yaml 0 0 DEAD codecraft-nextjs-app.yaml 0 0 DEAD full-review.yaml 0 0 DEAD minion-bugfix.yaml 0 0 DEAD minion-docs.yaml 0 0 DEAD minion-one-shot.yaml 0 0 DEAD minion-refactor.yaml 0 0 DEAD minion-security-fix.yaml 0 0 DEAD plan-build-review.yaml 0 0 DEAD plan-build.yaml ~1 (plan-build-test skill ref) 0 BORDERLINE plan-review-plan.yaml 0 0 DEAD scout-flow.yaml 0 0 DEAD securion-security-review.yaml 0 0 DEAD Note: The skill-*.yaml chains in the chains/ dir are not invoked by name in skills/. They appear to be template definitions, not live dispatch chains. Chains are not invoked via a chain runner — skills embed agents directly via agent: field inline. The chain YAML format appears to be an aspirational DAG definition language that has no runtime executor wired up. Effectively ALL 35 chain YAMLs are dead — there is no chain runner in the skill system. Skills call agents directly, not via chain files. 4. Dual-Store Consistency Files in both ~/.claude/agents/ and ~/system/agents/definitions/ 48 files exist in both stores. ALL 48 are byte-for-byte SYNCED (diff returned empty for every shared file). The sync script at ~/bin/agent-definitions-sync.sh is working correctly for the files it covers. Sync gaps 16 files ONLY in ~/.claude/agents/ (not in definitions/) — not covered by sync: baseline-comparator.md claude-code-guide.md devils-advocate.md dr-sarah-chen.md dzevad-jahic.md evidence-verifier.md Explore.md fix-builder.md indy-dandev.md jake-wharton.md maria-santos.md mehanik.md Plan.md redzo-reviewer.md thaer-sabri.md verifier.md 8 files ONLY in definitions/ (not synced to ~/.claude/agents/) — these agents are UNREACHABLE by Claude Code: dorota-huizinga.md ← mapped in specialist-mapping.json, should be in ~/.claude/agents/ hadi-hariri.md ← mapped in specialist-mapping.json, should be in ~/.claude/agents/ james-bach.md ← mapped in specialist-mapping.json, should be in ~/.claude/agents/ lee-robinson.md ← mapped in specialist-mapping.json, should be in ~/.claude/agents/ lisa-crispin.md ← mapped in specialist-mapping.json, should be in ~/.claude/agents/ minion.md ← referenced in 5 chain yaml steps, unreachable sentry-code-simplifier.md ← not in mapping, not in chains sp-code-reviewer.md ← not in mapping, not in chains The first 5 are mapped and therefore expected to be dispatched — they cannot be. Any dispatch attempt for dorota-huizinga, hadi-hariri, james-bach, lee-robinson, or lisa-crispin will silently fail or fall back. 5. Skill → Agent Linkage Sample of 10 skills with agent dispatch analysis: Skill Agent referenced Agent in ~/.claude/agents/? In specialist-mapping.json? hop-build No sub-agent dispatch (marker-only skill) N/A N/A build builder (3 parallel), rag-context-for-builder.js (tool) YES YES code-review code-reviewer , securion sub-agent, sentinel-architect code-reviewer YES (unmapped), securion YES (unmapped dispatcher), sentinel-architect YES (mapped) debugging No agent dispatch found in instructions N/A N/A deploy-verify No agent (runs Playwright directly) N/A N/A design-system No agent dispatch N/A N/A doc-coauthoring No named agent dispatch N/A N/A fiken-agent Self-referential meta-skill; dispatches sub-task SKILL.md files Indirect N/A financial-overview No agent dispatch found N/A N/A incident-response References securion agent (remediation) securion.md YES (unmapped dispatcher) NO Flags: code-review skill dispatches code-reviewer (unmapped, 44 skill refs) and securion (unmapped company dispatcher) directly by name incident-response references securion as a response agent — but securion.md is NOT in specialist-mapping.json (only individual members are mapped) validator is the most-used agent (44 skill files, 22 chain steps) with NO mapping entry Open Questions Chain runner : Is there a chain executor anywhere in the system (~/system/tools/, ~/projects/, pi-orchestrator)? If not, the entire chains/ directory is documentation-only, not executable automation. planner agent : Referenced in 3 chains (plan-build, plan-build-review, plan-review-plan) but does not exist on disk anywhere. Was it renamed to distiller or mehanik ? Axiom, Datavera, Resolver : Three fully-formed virtual companies with persona dirs, README, CLAUDE.md, 5-8 internal agents each — but zero presence in specialist-mapping.json. Are these active companies being used via direct session invocation (not via John routing)? anthropic-chief-architect.md : Mapped in specialist-mapping.json, absent from both ~/.claude/agents/ AND definitions/. Was this agent removed intentionally or is it a sync failure? company.json owner=N/A : All 12 companies have no human owner. Is there a separate ownership registry, or is this a gap in accountability chain? Lexicon vs Skillforge naming : CLAUDE.md routing table names the company "Lexicon" and lists "Dževad Jahić" as its agent. specialist-mapping.json has skillforge.md mapping to company "Skillforge". These are two different names for what appears to be the same documentation company. Which is canonical? ~/.claude/agents/*.md priority : Claude Code loads subagents from ~/.claude/agents/. The definitions/ store is a backup. But 8 mapped agents live only in definitions/ and are therefore unreachable. Is ~/bin/agent-definitions-sync.sh being run on any schedule? Architectural Concerns (no auto-fix) A. Mapping covers only 29 of 66 agents (44%) — the layer is too thin to be a reliable routing table. The specialist-mapping.json is supposed to be John's source of truth for "who builds this?" routing. But the two highest-usage agents in the entire system ( validator with 44 skill refs, distiller with 21 chain refs) are absent. Routing decisions based on this file are structurally incomplete. B. 7 mapped agents unreachable at runtime. Agents marked as mapped (specialist-mapping.json claims them) but missing from ~/.claude/agents/ will fail silently when dispatched. The mapping implies reachability but does not enforce it. No health check validates the mapping → disk correspondence. C. The chain YAML layer has no executor. 35 chain YAML files define multi-step agent pipelines, but skills invoke agents directly by name — not via the chain files. The chains/ directory is a documentation artifact, not live infrastructure. All automation currently runs through inline skill → agent calls. This creates a documentation drift risk: chain files will diverge from actual behavior with no mechanism to detect it. D. 4 virtual companies are phantom — infrastructure without routing. Axiom, Datavera, Resolver, Lexicon each have: persona dir, README, CLAUDE.md, company.json, 5-9 internal agents. None appear in specialist-mapping.json or John's routing table. They consume disk and cognitive space but cannot be dispatched through the normal John → discover.js → specialist route. Direct session invocation (naming the company in a prompt) is the only access path — undocumented and unreliable. E. Dual-store sync is manual and partial. 16 agents exist only in ~/.claude/agents/ (single source of truth but no backup). 8 agents exist only in definitions/ (backed up but unreachable). The sync script does not auto-run; it must be manually invoked. This creates continuous drift pressure. F. planner is a phantom agent in live chains. Three chains reference an agent named planner that has no .md file anywhere on disk. If these chains were ever executed, planner steps would fail with no error at the mapping layer. G. No machine-readable owner for any virtual company. company.json owner: N/A across all 12 companies means there is no way to auto-route escalation, billing, or accountability. This is a governance gap, not a code gap.