-
-
Notifications
You must be signed in to change notification settings - Fork 5
Agents System
Organ: neurons — specialist personas that supply the WHO, firing when the connectome routes a task to their domain.
The agent layer is Octorato's roster of specialist personas. Where a Skills-System answers how a task is done, an agent answers who does it. This page explains how that distinction works, how agents are activated, the rules they inherit, and how to add a new one. For the full agent roster (160+ personas across the divisions), see Agents.
Octorato separates three concerns that other agent frameworks routinely collapse into one. Keeping them orthogonal is what lets the same technique serve many roles and the same role serve many clients without cross-contamination.
| Axis | Layer | Lives in | Answers | Example |
|---|---|---|---|---|
| WHO | Agent / persona | ~/.claude/agents/ |
What role, judgment, and priorities are in play? | Database Optimizer |
| HOW | Skill | ~/.claude/skills/ |
What is the concrete technique or procedure? | explain-analyze-validation |
| FOR WHOM | Arm | <CLIENT>/.claude/ |
What client context, data, and constraints apply? | a sealed client repo |
The activation stack assembles these top-down:
Brain → AGENT (persona / WHO) → SKILLS (technique / HOW) → ARM (client context / FOR WHOM)
A persona without a technique is opinion without execution; a technique without a persona is a tool with no hand on it. Octorato insists on both, scoped to exactly one arm at a time.
An agent is not a bundle of code. It is a role definition: domain priorities, a point of view, a quality bar, and the judgment to choose among techniques. The actual doing still flows through skills.
- An agent decides that a slow query needs an index and that the index must ship without locking the table.
- A skill (
index-creation-concurrently) carries out theCREATE INDEX CONCURRENTLYprocedure correctly, edge cases and all.
Remove the agent and the skill still runs — you just lose the judgment about whether and when. Remove the skill and the agent still reasons — it just has no validated procedure to lean on and may improvise. The two are designed to be loaded together, which is exactly what the activation protocol does.
Mental model: the agent is the senior engineer in the room; the skills are the runbooks on the shelf; the arm is the client whose system is on the screen. Octorato is the team lead that puts the right person, the right runbook, and the right client together for the task in front of it.
The registry (~/.claude/agents/REGISTRY.md) organizes personas into 13 divisions that contain agents, plus 2 reference directories that hold orchestration material rather than individual personas — 15 top-level groupings in all. Each line below is the division's scope in one sentence.
| # | Division | Scope (one line) |
|---|---|---|
| 1 | Academic | Research-grade analysis across anthropology, geography, history, narratology, and psychology. |
| 2 | Design | Brand, UI, UX architecture and research, visual storytelling, inclusive and delightful interfaces. |
| 3 | Engineering | The largest division — backend/frontend/mobile build, data, security, SRE, DevOps, firmware, smart contracts, and docs. |
| 4 | Game Development | Engine-specific build for Unity, Unreal, Godot, Roblox, and Blender — design, scripting, shaders, multiplayer, audio. |
| 5 | Marketing | Content, SEO/AEO, and platform strategy across Western and Chinese social/commerce ecosystems. |
| 6 | Paid Media | Paid-acquisition specialists — PPC, paid social, programmatic, creative, tracking, and account audits. |
| 7 | Product | Product management, roadmap and sprint prioritization, feedback synthesis, trend and behavioral research. |
| 8 | Project Management | Delivery orchestration — specs-to-tasks, scope, cross-functional coordination, studio operations and production. |
| 9 | Sales | Full B2B motion — outbound, discovery, deal strategy, sales engineering, proposals, pipeline, and coaching. |
| 10 | Spatial Computing | XR / visionOS / macOS-Metal immersive interfaces, spatial interaction, and terminal integration. |
| 11 | Specialized | Cross-domain experts — compliance, MCP building, Salesforce, civil engineering, identity graphs, payments, and more. |
| 12 | Support | Analytics reporting, executive summaries, finance tracking, infra maintenance, legal compliance, customer support. |
| 13 | Testing | Quality gates — accessibility, API, performance, evidence collection, reality checks, and workflow optimization. |
| # | Directory | Holds |
|---|---|---|
| 14 | Strategy | Multi-agent orchestration docs, phase playbooks, and scenario runbooks (the NEXUS coordination material) — not individual agents. |
| 15 | Examples | End-to-end workflow walkthroughs (book chapter, landing page, startup MVP, memory-enabled flows) — not individual agents. |
The per-agent breakdown, emoji, file paths, and trigger keywords for every persona live in Agents.
There are three ways a persona comes online. All three converge on the same end state: persona + relevant skills, scoped to the active arm.
The brain reads the registry and activates the best-fit agent on its own when any of these hold:
- A task matches an agent's trigger keywords (each registry row carries a trigger list, e.g. "schema design, query optimization, indexing, PostgreSQL" for the Database Optimizer).
- The agent's expertise is needed for the current arm's work.
- Multi-step work requires a specialist handoff mid-flow.
This is wired into the 2D Delegate Gate that fires at the start of every non-trivial task:
| Q | Question | Tool |
|---|---|---|
| Q1 | ¿Quién sabe? (graph search) | query_connectome.py query "<task>" |
| Q3 | ¿Quién lo hace? (rule match) | delegate-check "<task>" |
The combined verdict is one of:
- ACTIVATE — load the agent persona plus its skills plus apply the arm context.
- LOAD — skills only; no specialist persona warranted.
- SELF — general knowledge; chosen only when Q1 and Q3 both return no strong match.
The operator can name a persona directly:
Activate Database Optimizer for this task
Use Security Engineer mode
Manual activation overrides the automatic verdict — useful when you want a specific lens applied even if the keywords didn't trip.
Activation is never "persona alone." When an agent comes online it pulls in the skills relevant to the active arm. The registry maintains an explicit Agent ↔ Skills cross-reference so this binding is deterministic rather than guessed. For example:
- Brain activates the Database Optimizer persona.
- Persona loads
explain-analyze-validation,index-creation-concurrently,autovacuum-bloat-management, and related skills. - The arm supplies the client-specific schema, connection, and constraints.
- Result: specialist judgment + validated technique + the right client context — assembled for this one task.
A persona is a lens, not an escape hatch. Activating an agent never relaxes a single brain rule. Every agent inherits the full constraint set from ~/.claude/CLAUDE.md:
- The 4D Paradigm — Describe → Delegate → Diligent → Disclose governs every action an agent takes. An activated persona still presents a Change Manifest at the 4D Gate before writing files, still validates output at the 3D Diligent Gate, and still discloses its Impact Radius. The persona changes what gets prioritized, never whether the gates fire.
- Security (non-negotiable) — no secrets committed, no user secrets echoed back, inputs sanitized. A persona cannot opt out of this.
- Arm Isolation (mandatory) — and this is the hard wall.
The single most important inherited rule. An agent operating inside one arm cannot read, reference, or carry data from any other arm — an arm does not even know other arms exist. Personas are generic by construction (see Adding an Agent below) precisely so the same Database Optimizer can serve every arm without becoming a bridge between them. Only the human operator moves knowledge across arms, and only deliberately; the agent never does it autonomously. The full information-flow contract lives in Architecture (§5) and Security (§4).
The connectome (~/.claude/neural_map.json) is the brain's TF-IDF + cosine-similarity graph over every skill and agent — see Architecture (§8) for how it is built and maintained.
In agent selection it powers Q1 of the 2D Delegate Gate (query_connectome.py query "<task>"): the task description is vectorized and scored against the graph to surface the closest personas and skills by semantic similarity, not just literal keyword hits. This catches the cases where a task's wording doesn't match a trigger list verbatim but is conceptually adjacent to a persona's domain.
Beyond per-task selection, the connectome also drives:
- Skill loading — once a persona is chosen, the graph helps pull the most-related skills for it.
- Gap detection — clusters with weak coverage flag where the roster (or skill set) is thin and a new persona or skill might be warranted.
Together with delegate-check (the deterministic rule match in Q3), the connectome gives selection two independent signals — semantic similarity and explicit rules — that must agree before the brain commits to ACTIVATE.
Agents live in the public, open-source brain. The cardinal rule therefore applies: a persona must be 100% generic — no client data, no client names, no internal codenames, no ticket IDs, nothing the Architecture policy forbids. If a need arose from a specific client engagement, distill it to its generic professional essence before it enters the brain.
Steps:
-
Confirm the gap is real. Run the task through the connectome (
query_connectome.py) and skim Agents. If an existing persona already covers it, extend that one rather than adding a near-duplicate. -
Pick the division. Place the persona under the right division directory in
~/.claude/agents/<division>/. Use the existing file-naming convention (<division>-<role>.md). - Write the persona file (generic). Define the role's mission, judgment, priorities, quality bar, and communication style — the way the Studio Producer or Database Optimizer files read. Describe the role, never a specific client's situation.
-
Register it in
REGISTRY.md. Add a row to the division's table with: emoji, agent name, file link, and a focused trigger keyword list. The triggers are what the automatic activation path keys on — make them specific and non-overlapping. - Cross-reference complementary skills. If the persona pairs naturally with existing skills, add it to the Agents ↔ Existing Skills table so combined activation is deterministic. If no skill fits, that's a signal a new skill may be warranted (see Skills-System).
- Update the statistics block (totals + per-division count) at the foot of the registry.
-
ai-push. This regenerates the connectome so the new persona becomes discoverable by Q1 semantic search, and runs the generic-content guardrails (check-generic.pyat commit-time,pre-pushat push-time). A blocklist hit blocks the commit — no exceptions.
Once pushed, the persona is immediately live: the next matching task will surface it automatically, or the operator can summon it by name.
- Agents — the full roster: every persona, division-by-division, with emoji, file paths, and trigger keywords.
- Skills-System — how the HOW layer works, and how skills bind to personas.
- Architecture — the octopus model, the layers, arm isolation, and the brain-stays-generic policy that personas inherit.
Octorato — open-source AI Agent OS · productized at dataqbs.com Built by Carlos Carrillo — data & AI engineering. Open to work & collaboration. Found this useful? 💜 Sponsor / Donate · MIT licensed · Report a security issue
- Home (central brain)
- Architecture (anatomy)
- The-4D-Paradigm (nervous system)
- Skills (230+) · Skills-System
- Agents (160+) · Agents-System
- Arms-and-Sync (limbs)
- Self-Growth (neurogenesis)
- FinOps (metabolism)
- Security (immune)
- Glossary (genome index)
- Getting-Started (embryology)