plugins/utopia-internal-agents/skills/agent-persona-builder/SKILL.md
Design persistent AI agent personas with distinct voices, durable memory, and clear operating rules. Use when the user wants to build an internal AI agent for a portco or fund workflow, asks 'help me create an agent for X', mentions building an agent persona, wants to formalize a recurring AI workflow as a named agent (e.g. 'Ada the DD analyst'), or asks how to design agents that don't sound generic. Based on Jack & Jill's agent-builder methodology — 25 questions across 5 phases, producing SOUL.md (personality), AGENTS.md (operating manual), MEMORY.md (cross-session knowledge), and BOOTSTRAP.md (first-boot orientation).
npx skillsauth add The-Utopia-Studio/skills agent-persona-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A framework for designing internal AI agents with distinct, persistent personalities. Adapted from Jack & Jill's agent-builder-skill.
For each agent, four core files in agents/<name>/:
| File | Purpose |
|------|---------|
| SOUL.md | Personality, voice, signature phrases, anti-patterns |
| AGENTS.md | Operating manual — triggers, permissions, services, workflows, escalation |
| MEMORY.md | Durable cross-session knowledge — URLs, workarounds, gotchas, contacts |
| BOOTSTRAP.md | First-boot orientation guide (archived after setup) |
| references/ | Optional workflow procedures (one .md per major workflow) |
Plus a SKILL.md so the agent is invokable from the marketplace.
Memory is explicit, not implicit. Until something is written into MEMORY.md, the agent doesn't know it. Document gotchas the moment they're discovered.
Opinionated defaults beat blank templates. A weak persona drifts toward generic-AI voice. Be specific: "Always opens with the bottom line, never asks for confirmation before running queries."
Start with one validated workflow. Don't design the agent's entire scope upfront. Ship one workflow, use it 5+ times, then expand.
Strong personality is non-negotiable. Agents without distinct voices become generic and ineffective. Naming the agent is the smallest part of building one — the bigger work is making them sound like someone rather than something.
Walk through these questions interactively with the user. Don't ask all 25 at once — group by phase, get answers, summarize, then move to the next phase.
Q1. What is the agent's name and one-line role?
Example: "Ada — Utopia's technical due diligence analyst."
Q2. What archetype best describes them? (analyst / coach / builder / guardian / scribe / hunter / sage / etc.)
Q3. What domain language do they live in? (engineering, design, finance, sales, science…)
Q4. What's their emotional baseline? (calm / urgent / skeptical / warm / dry / playful)
Note: this should map to the work, not just the founder's taste. A DD analyst should be skeptical; a fellow coach should be warm.
Q5. What are 3-5 signature phrases the agent uses?
Example for Ada: "What does the code actually do?" / "I don't see evidence for that" / "Let me check before I commit to a position"
Q6. What are 3-5 anti-patterns the agent avoids?
Example for Ada: Never accepts founder claims at face value. Never produces vaguely positive DD without specific risks called out. Never skips the security audit.
Q7. Who would the agent NOT sound like?
Example: Not generic ChatGPT. Not McKinsey-deck consultant. Not a sycophantic AI assistant.
→ Write Phase 1 outputs to SOUL.md.
Q8. How does the agent get invoked? (slash command / natural language trigger / event-driven / via another agent)
Q9. What trigger phrases call this agent?
Example: "run DD on this", "review this startup", "audit this repo"
Q10. What external services / APIs does this agent need access to?
Q11. What file system permissions does the agent need? (read-only / read-write to specific paths / no fs access)
Q12. What other skills does this agent invoke or compose?
Q13. What credentials does the agent need, and where are they stored?
Q14. What's the versioning strategy for this agent? (semver / date-versioned / mutable single-file)
→ Write Phase 2 outputs to AGENTS.md (Operations section).
Q15. Where do the agent's outputs land? (Notion page / Slack channel / a file / a Proof doc / a deck / direct response)
Q16. What's the structure of a typical message from this agent?
Example: "1) Bottom line in one sentence. 2) Three specific risks. 3) What I'd verify next."
Q17. When does the agent escalate to a human?
Example for Ada: When she finds a Critical Risk that would block investment. When the codebase is unreadable. When the founder has misrepresented something.
Q18. What metrics does the agent track to evaluate its own work?
→ Write Phase 3 outputs to AGENTS.md (Communication section).
Q19. What system facts must the agent always remember?
Example: "The Utopia Studio is a venture studio based in Qatar. Studio Cobuild has 9 modules. Karan is the CGTO."
Q20. What recurring patterns or gotchas should be documented?
Example: "Most portcos with Railway have a higher chance of being engineering-led founders. Be aware of bias."
Q21. What contacts / escalation points should be remembered?
Example: "Karan (CGTO) for investment decisions. Maxime (engineering lead) for technical override calls."
Q22. What lessons-learned should persist across sessions?
→ Write Phase 4 outputs to MEMORY.md.
Q23. What's the FIRST validated workflow this agent will run?
Resist the urge to design comprehensively. Pick one.
Q24. What does success look like for that workflow?
Specific, measurable outputs.
Q25. What happens if the workflow fails?
Example: Falls back to asking a human. Logs the failure to MEMORY.md so it doesn't repeat.
→ Write Phase 5 outputs to AGENTS.md (Workflows section) and create references/workflow-<name>.md with step-by-step procedures.
After the 25 questions, generate this folder structure:
agents/<agent-name>/
├── SOUL.md # Personality, voice, anti-patterns
├── AGENTS.md # Operating manual
├── MEMORY.md # Persistent cross-session knowledge
├── BOOTSTRAP.md # First-boot orientation (archive after setup)
└── references/
└── workflow-<name>.md
And add a marketplace-invocable wrapper:
skills/agents/<agent-name>/
├── SKILL.md # Trigger conditions + load instructions
└── (symlinks or includes to SOUL/AGENTS/MEMORY)
Before declaring the agent ready, verify:
See:
These three are the canonical examples. Read them before designing your own.
development
Create professional equity research earnings update reports (8-12 pages, 3,000-5,000 words) analyzing quarterly results for companies already under coverage. Fast-turnaround format focusing on beat/miss analysis, key metrics, updated estimates, and revised thesis. Includes 1-3 summary tables and 8-12 charts. Use when user requests "earnings update", "quarterly update", "earnings analysis", "Q1/Q2/Q3/Q4 results", or post-earnings report.
development
Updates a presentation with new numbers — quarterly refreshes, earnings updates, comp rolls, rebased market data. Use whenever the user asks to "update the deck with Q4 numbers", "refresh the comps", "roll this forward", "swap in the new earnings", "change all the $485M to $512M", or any request to swap figures across an existing deck without rebuilding it.
development
Real DCF (Discounted Cash Flow) model creation for equity valuation. Retrieves financial data from SEC filings and analyst reports, builds comprehensive cash flow projections with proper WACC calculations, performs sensitivity analysis, and outputs professional Excel models with executive summaries. Use when users need to value a company using DCF methodology, request intrinsic value analysis, or ask for detailed financial modeling with growth projections and terminal value calculations.
tools
Build professional financial services data packs from various sources including CIMs, offering memorandums, SEC filings, web search, or MCP servers. Extract, normalize, and standardize financial data into investment committee-ready Excel workbooks with consistent structure, proper formatting, and documented assumptions. Use for M&A due diligence, private equity analysis, investment committee materials, and standardizing financial reporting across portfolio companies. Do not use for simple financial calculations or working with already-completed data packs.