Agency Agents Beginner’s Guide: Turn Claude Code into a Dream Team with 100+ AI Expert Personas

June 13, 2026

We all know that writing prompts is a craft. The same Claude model can produce wildly different results when you ask it to “write me a React component” versus “from the perspective of a senior frontend engineer, follow the WCAG 2.1 AA guidelines, and write an accessible virtualized table using TypeScript + React 18.”

Agency Agents exists specifically to solve this pain point. It pre-arranges 16 departments and 100+ AI expert role personas (Frontend Developer, Backend Architect, Security Auditor, Reddit Community Ninja …), along with their setup, workflows, deliverables, and success metrics—so you just activate the relevant role, and the AI automatically switches into “professional mode.”

What’s even better: the repository comes with convert.sh and install.sh. With one click, you can sync the exact same role definitions to 10+ tools—Claude Code, OpenClaw, Cursor, OpenCode, Codex, Gemini CLI, and more—without having to maintain multiple configurations.

In this article, we’ll run it from scratch together, and demonstrate how to activate a role in OpenClaw to complete real requirements.

Project Overview

msitarzewski/agency-agents started as a discussion in a Reddit post—“If you could hire a team of AI employees, what positions would you want?” After months of iteration, it has evolved into a fairly complete library of AI agent roles.:

  • 16 departments: engineering, design, marketing, finance, security, sales, testing… covering almost all roles a software company typically needs
  • 100+ roles: from Frontend Developer and Backend Architect to roles like Whimsy Injector and Reality Checker—characters with personality “temperature”
  • Measurable deliverables: every role specifies success metrics, deliverables, and critical rules—not vague prompts
  • Multi-tool compatibility: the same Markdown source file can be converted into formats like Claude Code subagent, OpenClaw workspace, Cursor rules, OpenCode agent, Codex TOML, and more

The biggest difference from a normal prompt template is that here each role has a fully personalized setup (tone, style, memory mechanism) + a business workflow (mission / workflow / deliverables), making it more like a “job description.”

Difficulty / Time / What You’ll Get

  • Difficulty: ⭐⭐ (just use the command line—no coding barrier)
  • Time: 15–30 minutes (first install + activate a role + complete a real use case)
  • Outcome: turn Claude Code / OpenClaw into a multi-role AI team that can be “scheduled on demand,” while keeping professional personas stable over the long run

Target Audience

  • Developers who want to boost productivity with AI, but find writing prompts too tedious
  • Frontend / Backend / Full-stack / Security / Testing engineers with 1–5 years of experience
  • Practitioners already using AI programming tools like Claude Code, Cursor, OpenClaw, Codex, etc.
  • Technical leads who want to roll out an “AI collaboration standard” within a team

Core Dependencies and Environment

ToolMinimum VersionNotes
Git2.30+Clone the repository
Bash4.0+Run convert.sh / install.sh (Windows needs Git Bash or WSL)
Node.js18+Some target tools (OpenClaw, Codex) require it
Target IDE / CLILatest versionChoose one: Claude Code, OpenClaw, Cursor, OpenCode

TIP

If you’re already using OpenClaw (a CLI gateway that unifies dispatching multiple large models), you can get the whole article running at zero cost.

TIP

About call costs: behind each expert role in Agency Agents are top-tier models (Claude Opus 4.8, GPT-5.4, Gemini 2.5 Pro). Activating 1 role and running 20 rounds of React component iterations won’t be cheap—even the official rates can add up to more than ten dollars. If you want to run the same models at official half price, you can try Defapi—an LLM API relay platform. Its advantage is that essentially all models are compatible with these three protocol sets: v1/chat/completions, v1/messages, and v1beta/models/. That means you don’t need to change any business code—just point the base_url in your OpenClaw configuration to Defapi’s endpoint and you can save money immediately. It’s especially friendly for individual developers and small teams. Official website entry: defapi.org.

Complete Project Directory Tree

agency-agents/
├── academic/                       # Academic research directions
├── design/                         # UI/UX design
├── engineering/                    # Engineering (the largest department, 30+ roles)
├── finance/                        # Finance
├── game-development/               # Game development
├── gis/                            # Geographic information
├── marketing/                      # Marketing
├── paid-media/                     # Paid media
├── product/                        # Product
├── project-management/           # Project management
├── sales/                          # Sales
├── security/                       # Security
├── spatial-computing/            # Spatial computing
├── specialized/                    # Specialized experts
├── strategy/                       # Strategy
├── support/                        # Customer support
├── testing/                        # Testing
├── integrations/                   # Multi-tool integration outputs
│   ├── openclaw/                   # OpenClaw workspace (SOUL.md + AGENTS.md + IDENTITY.md)
│   ├── opencode/                   # OpenCode agent (.md + YAML frontmatter)
│   ├── claude-code/                # Claude Code subagent
│   ├── cursor/                     # Cursor rule (.mdc)
│   ├── codex/                      # Codex custom agent (TOML)
│   ├── gemini-cli/                 # Gemini CLI subagent
│   ├── github-copilot/             # GitHub Copilot
│   ├── aider/                      # Aider CONVENTIONS.md
│   ├── windsurf/                   # Windsurf .windsurfrules
│   ├── kimi/                       # Kimi Code CLI
│   ├── qwen/                       # Qwen Code SubAgent
│   └── mcp-memory/                 # MCP long-term memory
├── scripts/
│   ├── convert.sh                  # Role definitions → tool format converter
│   ├── install.sh                  # One-click install to local
│   ├── lib.sh                      # Shared functions
│   └── lint-agents.sh              # Lint role definitions
├── README.md
└── CONTRIBUTING.md

Step-by-Step

Below, we’ll use OpenClaw as the example to demonstrate the full workflow. For other tools, you only need to replace --tool with the corresponding name.

Step 1: Clone the repository

git clone https://github.com/msitarzewski/agency-agents.git
cd agency-agents

If your network is restricted, you can fork to Gitee / your own GitHub first, then clone:

git clone https://github.com/<your-fork>/agency-agents.git
cd agency-agents

Step 2: See installable departments and roles

install.sh provides a handy “list” mode:

./scripts/install.sh --list teams

You’ll see output like this:

engineering          33 agents
design               12 agents
marketing            18 agents
security              9 agents
testing              11 agents
...

If you only want to install a few departments (e.g., engineering + security), filter using --division later.

Step 3: Generate OpenClaw-format integration files

convert.sh splits the source Markdown into the three files OpenClaw expects: SOUL.md (persona) + AGENTS.md (workflow) + IDENTITY.md (identity):

./scripts/convert.sh --tool openclaw

After a successful run, under integrations/openclaw/ you’ll see 100+ subdirectories:

ls integrations/openclaw/ | head -20
# agency-frontend-developer
# agency-backend-architect
# agency-security-auditor
# agency-reddit-community-ninja
# agency-whimsy-injector
# ...

Each subdirectory looks like this:

agency-frontend-developer/
├── SOUL.md        # Persona: identity, memory, tone, style
├── AGENTS.md      # Business workflow: mission, deliverables, workflow
└── IDENTITY.md    # Identity card: emoji + name + vibe

Step 4: One-click install to OpenClaw

# Install everything (about 100+ roles)
./scripts/install.sh --tool openclaw

# Recommended: pick departments to install (avoid loading too many at once)
./scripts/install.sh --tool openclaw --division engineering,security

The scripts automatically copy the workspace into ~/.openclaw/agency-agents/ and register it with the OpenClaw gateway.

Step 5: Restart the OpenClaw gateway to activate new roles

WARNING

If your OpenClaw gateway has been running continuously, you must restart it to load the newly registered roles—otherwise you’ll get “agent not found.”

openclaw gateway restart

Step 6: Activate Frontend Developer in OpenClaw

openclaw chat --agent agency-frontend-developer

Or in the config file, change the default agent to agency-frontend-developer, and OpenClaw will enter that role automatically each time you start.

Step 7: Run a real requirement

We’ll ask the freshly activated Frontend Developer to write an accessible virtualized table component:

openclaw chat --agent agency-frontend-developer <<'EOF'
Write a DataTable component using React 18 + TypeScript, with these requirements:
1. Use @tanstack/react-virtual for virtualized scrolling
2. Meet the WCAG 2.1 AA accessibility standards
3. Support custom rendering for cells
4. Make row click handlers configurable
5. Provide complete runnable code
EOF

You’ll notice the output code style is extremely consistent—because the role definition already “locks in” constraints like “WCAG 2.1 AA,” “memo wrapping,” and “Core Web Vitals optimizations.” We don’t have to repeat these requirements in prompts every time.

Step 8: Cross-tool demonstration (optional)

With the same role definition, converting to Cursor is just one line:

./scripts/convert.sh --tool cursor
./scripts/install.sh --tool cursor --agent frontend-developer,backend-architect

TIP

In Cursor mode, roles are stored in the form .cursor/rules/<slug>.mdc. Cursor loads them on demand based on file globs. For example, writing globs: "**/*.tsx" ensures the frontend roles apply only to TSX files and won’t pollute backend files.

Common Troubleshooting

Q1: install.sh reports permission denied

Usually it means install.sh doesn’t have execute permissions. For macOS / Linux users:

chmod +x scripts/install.sh scripts/convert.sh scripts/lib.sh
./scripts/install.sh --tool openclaw

Windows users: if you’re seeing this error in Git Bash, first confirm the repository was downloaded via git clone (don’t unzip a ZIP archive), and run the scripts using Git Bash.

Q2: OpenClaw shows “agent not found” or “not registered”

In 99% of cases, after installing roles you didn’t restart the gateway:

openclaw gateway restart
openclaw agent list | grep frontend-developer
# Output indicates registration succeeded

If it still doesn’t work, check whether ~/.openclaw/agency-agents/ really contains the file agency-frontend-developer/SOUL.md:

ls ~/.openclaw/agency-agents/agency-frontend-developer/
# You should see SOUL.md  AGENTS.md  IDENTITY.md

Q3: OpenCode installs too many roles, but only shows the first 119

This is a known bug in OpenCode upstream (issue #27988)—at runtime it only registers about 119 subagents, and any extras get silently discarded.

Solution: split installation using --division so the total roles stay within 119:

./scripts/install.sh --tool opencode --division engineering
./scripts/install.sh --tool opencode --division marketing --out ~/.opencode-extra/

When the script detects the count exceeds the threshold, it will emit a warning. You can also do a dry run first:

./scripts/install.sh --tool opencode --division engineering --dry-run

Q4: Role frontmatter missing required fields causes convert to skip

convert.sh skips source files that don’t include the name field. If you forked a role yourself but don’t see it under integrations/openclaw/:

# 1. Check source file frontmatter
head -10 engineering/your-custom-agent.md

# 2. At minimum, include:
#    ---
#    name: Your Agent Name
#    description: One-line description
#    ---

# 3. Re-convert
./scripts/convert.sh --tool openclaw

Q5: Windows: bash script line ending errors

If you copied scripts from a ZIP archive on Windows, the files may have CRLF line endings, and bash will error with something like \r: command not found:

# Option A: use git clone instead of downloading the ZIP
git clone https://github.com/msitarzewski/agency-agents.git

# Option B: convert line endings manually (Git Bash)
dos2unix scripts/*.sh

Q6: Persona conflicts between roles / context bleeding

If you activate Frontend Developer and then Security Auditor within the same session, you may notice the tone from the previous role lingering in the context. This is because most CLI tools inject agents at the “system prompt” level, and switching agents doesn’t automatically clear the conversation history.

Solution:

# Switch agent after starting a new session
openclaw chat --new-session --agent agency-security-auditor

Or enable “switching agents archives old sessions automatically” in your OpenClaw configuration.

Further Reading / Advanced Directions

1. Custom role templates

engineering/engineering-frontend-developer.md is a great template. Try forking it and renaming to something like engineering-frontend-developer-chinese.md:

---
name: Frontend Engineer (Chinese Version)
description: A frontend engineer specialized in React/Vue, UI implementation, and performance optimization; output Chinese comments
color: cyan
emoji: 🖥️
vibe: Output in Chinese, follow ByteDance frontend conventions
---

# Frontend Engineer (Chinese Version)

You are a **frontend engineer**, focused on modern web technologies……

## 🧠 Your identity and memory
- Role: expert in modern web applications and UI implementation
- Personality: detail-oriented, performance-sensitive, user-first
- Memory: remember common UI patterns and accessibility best practices

Then run ./scripts/convert.sh --tool openclaw, and the new role will appear under integrations/openclaw/.

2. Add long-term memory to roles using MCP-Memory

Under integrations/mcp-memory/, there’s a set of MCP memory server configurations. After activation, roles can preserve preferences across sessions (for example: “this team prefers pnpm over npm”). See mcp-memory/README.md in the repository for configuration details.

3. Multi-agent collaboration workflows

Single-agent performance is already impressive, but what’s even more exciting is orchestrating them into collaboration chains. For example:

Requirement → [Product Manager] splits tasks
             → [Frontend Developer] + [Backend Architect] implement in parallel
             → [Code Reviewer] auto reviews
             → [QA Test Engineer] runs tests
             → [Technical Writer] generates PR descriptions

OpenClaw’s built-in “workflow” feature can chain these roles together—see the OpenClaw official documentation.

4. Reduce calling costs

As mentioned earlier, the expert roles in Agency Agents are backed by top-tier models, and the long-term cost isn’t low. If you want to run the same models at official half price, you can directly integrate Defapi (the “Core Dependencies” section above has detailed information)—no code changes required.


This article is written based on the current main branch of msitarzewski/agency-agents (commit date up to 2026-06-13). The repository may later add departments or adjust script interfaces; it’s recommended to run git pull before you start to sync the latest version.

Updated June 13, 2026
    Agency Agents Beginner’s Guide: Turn Claude Code into a Dream Team with 100+ AI Expert Personas | OpenClaw API Documentation - Open Source AI Assistant Integration Guide