Operating · 23 subagents
MNDA Studio
A digital studio operated by 23 Claude Code subagents, where nothing is produced, published or paid for without a person approving it.
A small studio, four lines of work, one person who approves.
MNDA Estudio produces short videos and carousels for several brands, builds websites and apps, and runs a virtual children’s artist. The goal was to let agents do the research, drafting, production and measurement, while the owner keeps every decision that commits the brand or spends money.
So the approvals are not a convention in a prompt: they are states the scripts refuse to cross on their own.
Five teams of subagents, one pipeline per kind of work.
Each agent is a Claude Code subagent definition with its own role and tools: research (TikTok, Instagram and YouTube benchmarks), scripting, video and design production, editing, publishing, analytics and paid ads; web and app development; and music (benchmark, composition, mastering, A&R originality review and distribution). A main session orchestrates them and tracks every request the owner makes.
Content · video and carousels
- benchmark
- proposals
- Human gate: approve proposal
- production
- Human gate: approve piece
- publish
Web and apps
- brief
- concept
- Human gate: approve concept
- design
- Human gate: approve design
- development
- Human gate: approve launch
Music · songs
- benchmark
- proposal
- Human gate: approve proposal
- master + A&R
- Human gate: approve master
- release package
- Human gate: approve launch
Paid ads
- proposal over organic median
- Human gate: approve spend
- active · caps in MXN
The code, not the prompt, holds the gate.
State changes go through small Node scripts. A gate transition requires a --usuario flag that only the commands the owner invokes pass; publishing refuses any piece that is not in the approved state; and a song master cannot go to review without an A&R approval on that same file.
// Puertas de aprobación del usuario: [desde, hacia]. export const PUERTAS = [ ['concepto_pendiente_aprobacion', 'diseno'], ['diseno_pendiente_aprobacion', 'desarrollo'], ['en_revision', 'aprobado_lanzar'], ]; // …dentro de cambiarEstado(id, nuevo, nota, { usuario }) if ((esPuerta(actual, nuevo) || reanudaAprobado) && !usuario) { throw new Error( `${id}: ${actual} → ${nuevo} es una puerta de aprobación del usuario. ` + 'Solo /aprobar o /lanzar (que invoca el usuario) pueden hacerla.' ); }
Abridged from the studio repository (identifiers are in Spanish; the error says only the user-invoked /aprobar or /lanzar commands can cross this gate).
Gates the scripts enforce
Proposal, piece, concept, design, master and launch approvals are states only user commands can set.
No spend without approval
Paid ads activate only through the owner’s approval command, and still have daily, monthly and per-campaign caps.
Storyboard before video
Expensive video generation waits for a storyboard the owner approves in the panel.
Spend caps
Per video, per design and per day for the studio (default US$5/day).
Originality check
A&R compares lyrics against references and blocks a song if there is risk.
Every request tracked
Each request has a status and says what is pending and from whom.
Only what has a source.
| What | Value | Source |
|---|---|---|
| Claude Code subagents defined | 23 | equipos.json · .claude/agents/ |
| Teams | 5 | Content 9 · Web 3 · Apps 3 · Shared 3 · Music 5 (equipos.json) |
| Human gates in the code | 2 · 3 · 3 | Content · web/apps · music (CLAUDE.md, scripts) |
| Songs released through the music pipeline | 1 | “Cierra los ojos, viajero”, 2026-10-09 (see La Chiva Chabela) |
| Hours saved per piece | Not measured yet | — |
| Approval rate of proposals | Not measured yet | — |