Architecture: Pal-E Agency Org Chart
Overview
The Pal-E Agency org chart. Five agents, one commander, clear hierarchy. Each agent owns its MCP tools and skills. Ava coordinates. Lucas decides.
Agent Tool Map
| Agent | Role | MCP Servers | Skills |
|---|---|---|---|
| <strong>Ava</strong> | Coordination, board management, agent dispatch | pal-e-docs-mcp, forgejo-mcp, woodpecker-mcp | — |
| <strong>Penny</strong> | Email, calendar, social, external KBs | gmail-mcp, gcal-mcp, linkedin-mcp-scheduler, notion-mcp | — |
| <strong>Dev</strong> | All domains — frontend, backend, infra. Writes code, opens PRs. | forgejo-mcp | — |
| <strong>QA</strong> | Reviews PRs — generic + dynamic domain expertise. Read-only. | forgejo-mcp | — |
| <strong>Dottie</strong> | Doc librarian, audits, alignment | pal-e-docs-mcp | — |
Shared Infrastructure
| Repo | Role | Used By |
|---|---|---|
| <code>claude-custom</code> | Hooks, skills, agent configs, commands | All agents (hardlinked to <code>~/.claude/</code>) |
| <code>mcp-remote-auth</code> | Shared OAuth library for remote MCP services | Penny's remote MCP services |
| <code>forgejo-sdk</code> | Python SDK for Forgejo API | forgejo-mcp |
| <code>woodpecker-sdk</code> | Python SDK for Woodpecker CI API (117 endpoints) | woodpecker-mcp |
Integration Triplet Pattern
Each external service follows the same architecture:
- SDK — typed Python client for the service API (PyPI published)
- MCP (stdio) — MCP server wrapping the SDK for local Claude Code use
- MCP Remote (HTTP) — Streamable HTTP connector for Claude.ai (OAuth, deployed to k8s)
This is the repeatable pattern. Every new integration follows it. All currently owned by Penny.
Separation of Concerns
| Concern | Agent | What they touch | What they never touch |
|---|---|---|---|
| Coordination | Ava | pal-e-docs, Forgejo issues, boards, agent dispatch | Writing code in project repos |
| Code (all domains) | Dev | Frontend, backend, infra — whatever the issue specifies | pal-e-docs notes, external comms |
| Code review | QA | PR diffs (read-only) — correctness, SOP compliance, domain-specific quality | Writing code, docs, external comms |
| External comms | Penny | Email, calendar, social, external KBs | Code, docs, repos |
| Documentation | Dottie | pal-e-docs notes | Code, external comms |
Hierarchy Principles
- Lucas decides. Ava presents options, Lucas chooses.
- Ava coordinates. She owns boards, docs, and agent dispatch. She never writes code.
- Penny communicates. All external-facing actions. No code, no docs.
- Dev builds everything. All domains — frontend, backend, infra. One agent, dynamic expertise. Scoped by the issue, not by specialization.
- QA reviews everything. Generic + dynamic domain expertise. Reads PR diffs, posts verdicts. Never writes code.
- Dottie documents. Docs only. No code, no external comms.
- Execution agents are action-biased. Hooks enforce SOP compliance mechanically.
- QA agents are quality-biased. Domain experts that review quality, flag process gaps, and drive pipeline automation.
- Separation of concerns is enforced via agent frontmatter (
disallowedTools,mcpServers).
Deprecated Agents
agent-betty-sue— renamed toagent-ava(2026-03-28)agent-issue-creator— replaced by Ava creating issues directlyagent-dev-frontend,agent-dev-backend,agent-devops— consolidated into singleagent-dev(specialization constrained Claude Opus)agent-frontend-qa,agent-dev-qa,agent-devops-qa— consolidated into singleagent-qawith dynamic domain expertise
Related
agent-ava,agent-penny,agent-dev,agent-qa,agent-dottieenforcement-architecture— how frontmatter enforces separationagent-spawn-conventions— when and how to spawn each agenttemplate-agent— agent note structure