Chapter 3: Install Your Specialist Team (Mr. Stark, Sherlock, Shakespeare)#
๐ TL;DR#
- You'll extend from 1 agent (Jarvis) to 4: Mr. Stark (Engineer), Sherlock (Researcher), Shakespeare (Writer).
- Every specialist follows the same 2-step install: save a key to
~/.openclaw/secrets/, then prompt Jarvis to do the rest. - Your API keys never touch Telegram. Your agent-install work never touches shell beyond the key file.
- ~$0-15/month for light personal use. Mix of Claude Sonnet (Claude Code CLI), Qwen3, DeepSeek.
- By the end: a 4-agent team coordinating through Jarvis in one Telegram chat.
๐ Meet the Team#
You started with Jarvis, your generalist orchestrator. Now you'll add three specialists who excel at specific work.
| Agent | Role | Model (Provider) | Cost Profile |
|---|---|---|---|
| Jarvis | Orchestrator & Generalist | Claude Opus (Anthropic) | Highest capability, highest per-token cost |
| Mr. Stark | Lead Engineer | Claude Sonnet via Claude Code CLI (Anthropic) | Solid capability, mid-tier cost |
| Sherlock | Research Specialist | Qwen3-235B via OpenRouter | Strong reasoning, low cost |
| Shakespeare | Writer | DeepSeek V3.2 via OpenRouter | Solid structured writing, very low cost |
| Brave Search | Search Backend | Free Tier API | ~2000 queries/month |
Why different models? Three reasons:
- Cost: Specialized models for research and writing cost far less than Opus for routine tasks.
- Specialty: Each model is tuned for its role โ Sonnet for code, Qwen3 for reasoning, DeepSeek for structured writing.
- Provider diversity: If one provider has an outage, your whole team doesn't go down.
โฑ๏ธ Time & Difficulty#
- Time: 45-75 minutes (most is waiting on Jarvis's install runs).
- Difficulty: Beginner. Each agent is ~15 minutes, same rhythm across all three.
๐ฏ The Install Rhythm#
Every specialist below uses the same two-step rhythm. You'll repeat it three times:
- Save the API key to
~/.openclaw/secrets/<provider>.env(quick shell work, keeps secrets off Telegram). - Ask Jarvis to install the agent (Jarvis does everything else โ installs binaries, writes wrappers, downloads scripts, registers in memory, runs smoke tests).
Your only shell work per agent is the key file. Jarvis handles the rest.
๐จโ๐ป Agent 1 โ Mr. Stark (Lead Engineer)#
Mr. Stark handles software engineering, scripting, debugging, and system automation. He runs via the Claude Code CLI, giving you a code-focused assistant that can write, test, and execute scripts directly.
Step 1 โ Save the Anthropic Key#
If you already created ~/.openclaw/secrets/anthropic.env in Chapter 2 (for Jarvis), you can skip this step โ Mr. Stark reuses the same key.
If you don't have it yet:
mkdir -p ~/.openclaw/secrets && chmod 700 ~/.openclaw/secrets
nano ~/.openclaw/secrets/anthropic.envInside nano, paste exactly one line:
ANTHROPIC_API_KEY=sk-ant-...
Save (Ctrl+O, Enter), exit (Ctrl+X), then lock down permissions:
chmod 600 ~/.openclaw/secrets/anthropic.envStep 2 โ Prompt Jarvis#
๐ฌ Try this
> Jarvis, let's add Mr. Stark โ our Lead Engineer. Here's the spec:
>
> โข Role: Software engineering, scripting, debugging, system automation.
> โข Runtime: Claude Code CLI (install globally via npm).
> โข Model: Claude Sonnet via Claude Code (keep Opus off by default โ Sonnet is plenty for most code work).
> โข API key: reuse mine from ~/.openclaw/secrets/anthropic.env.
> โข Wrapper: create ~/.openclaw/workspace/scripts/stark.sh that sources the env, supports a STARK_CWD override, and runs claude with bypassPermissions and print mode.
> โข Register him in your memory at ~/.openclaw/workspace/memory/mr-stark.md.
> โข Smoke test: have him write a one-liner Python script that prints today's date, save to /tmp/hello.py, run it, confirm the output.
โ What you should see
- Jarvis: "Got it โ installing Mr. Stark. ETA ~5 min."
- Telegram updates: โข "Installing @anthropic-ai/claude-code globally..." โข "Writing ~/.openclaw/workspace/scripts/stark.sh..." โข "Made stark.sh executable." โข "Saved agent profile to memory/mr-stark.md." โข "Smoke test: asking Mr. Stark to write /tmp/hello.py..." โข "Smoke test passed. Output matched today's date."
- Jarvis: "โ Mr. Stark is live. To use him, just ask me to delegate code work."
๐ The Wrapper Contract#
Jarvis builds a wrapper script for Mr. Stark. You don't need to type this, but here's what he creates so you can verify:
#!/bin/bash
set -e
SECRETS_FILE="${HOME}/.openclaw/secrets/anthropic.env"
[ -f "$SECRETS_FILE" ] || { echo "Missing $SECRETS_FILE" >&2; exit 1; }
set -a; source "$SECRETS_FILE"; set +a
[ -n "$STARK_CWD" ] && cd "$STARK_CWD"
exec claude --permission-mode bypassPermissions --print "$1"This wrapper:
- Sources your Anthropic key from the secrets file.
- Supports
STARK_CWDto change working directory. - Runs Claude Code with
bypassPermissions(so it can execute code) andprintmode.
๐งช Verify Mr. Stark Works#
๐ฌ Try this
> Jarvis, who's on the team now?
โ What you should see Jarvis lists himself + Mr. Stark with roles and models.
๐ฌ Try this
> Jarvis, have Mr. Stark write a Python script that counts words in a text file. Save it to ~/scripts/wordcount.py.
โ What you should see
- Jarvis: "Handing off to Mr. Stark."
- Mr. Stark works, writes the file, tests it, reports back via Jarvis.
- Final: "โ
~/scripts/wordcount.pyis ready. Usage:python3 ~/scripts/wordcount.py FILE."
Note: You'll register Mr. Stark with Mission Control when you build it in Chapter 4. For now, Jarvis knowing about him via memory/mr-stark.md is sufficient.
๐ Agent 2 โ Sherlock (Research Specialist)#
Sherlock handles web research with synthesis. He's your go-to for daily news briefs and ad-hoc topic research, using Qwen3-235B for reasoning and Brave Search for data.
Step 1 โ Save OpenRouter + Brave Keys#
First, get your keys:
- OpenRouter: Browse to openrouter.ai, sign up, add $5 credits, create a key starting with
sk-or-v1-. - Brave Search: Go to brave.com/search/api, sign up for the Free plan (2000 queries/month), and create a Subscription Token (Brave's name for the API key). It starts with
BSAfollowed by a string of letters and numbers.
Back on your Pi terminal:
nano ~/.openclaw/secrets/openrouter.envPaste exactly one line:
OPENROUTER_API_KEY=sk-or-v1-...
Save, exit, then:
chmod 600 ~/.openclaw/secrets/openrouter.env
nano ~/.openclaw/secrets/brave.envPaste exactly one line:
BRAVE_SEARCH_API_KEY=BSA_YourActualTokenHere
Save, exit, then:
chmod 600 ~/.openclaw/secrets/brave.envStep 2 โ Prompt Jarvis#
๐ฌ Try this
> Jarvis, let's add Sherlock โ our Research Specialist. Here's the spec:
>
> โข Role: Web research with synthesis. Used for daily news briefs and ad-hoc topic research.
> โข Model: Qwen3-235B via OpenRouter.
> โข Search backend: Brave Search API.
> โข Keys already saved: ~/.openclaw/secrets/openrouter.env and ~/.openclaw/secrets/brave.env.
> โข Install the sherlock research + topic scripts to ~/.openclaw/workspace/scripts/.
> โข Register him in memory/sherlock.md.
> โข Save outputs to ~/.openclaw/workspace/writing/research/ and send a Telegram summary.
> โข Smoke test: ask Sherlock "What are today's top 3 AI news stories?" and confirm a research doc lands.
โ What you should see
- Jarvis: "On it โ handing to Mr. Stark for the install work."
- Mr. Stark progress: โข "Installing sherlock-research.py and sherlock-topic.py to ~/.openclaw/workspace/scripts/" โข "Writing memory/sherlock.md" โข "Running smoke test..." โข "Test passed. Research saved to writing/research/YYYY-MM-DD-HHMM-ai-news.md"
- Jarvis: "โ Sherlock is live. Use him by asking me for research."
๐งช Try Sherlock#
๐ฌ Try this
> Jarvis, have Sherlock research the best cheap mechanical keyboards of 2026.
โ
What you should see
Within 60-120 seconds, a research doc in Telegram: bulleted summary with brands, price ranges, standout features, and links. Also saved to writing/research/.
โ๏ธ Agent 3 โ Shakespeare (Writer)#
Shakespeare drafts BRDs, business cases, LinkedIn posts, Instagram captions, emails, skill definitions, and project docs. He uses DeepSeek V3.2 for structured, consistent writing.
Step 1 โ No New Key Needed#
Perk of the unified pattern: Shakespeare reuses the same OpenRouter key you saved for Sherlock. No additional shell work required.
Step 2 โ Prompt Jarvis#
๐ฌ Try this
> Jarvis, let's add Shakespeare โ our Writer. Here's the spec:
>
> โข Role: Drafts BRDs, business cases, LinkedIn posts, Instagram captions, emails, skill definitions, and project docs.
> โข Model: DeepSeek V3.2 via OpenRouter (reuse my OpenRouter key from Sherlock setup).
> โข Install the shakespeare script to ~/.openclaw/workspace/scripts/.
> โข Register him in memory/shakespeare.md.
> โข Save outputs to ~/.openclaw/workspace/writing/<category>/ and send a Telegram delivery.
> โข Smoke test: write a short LinkedIn post about shipping side projects.
โ What you should see
- Jarvis confirms and hands off.
- Mr. Stark installs the script (reuses OpenRouter key), runs smoke test, delivers the draft.
- Jarvis: "โ Shakespeare is live. Use him for writing work."
๐งช Try Shakespeare#
๐ฌ Try this
> Jarvis, have Shakespeare write a short email declining a sales demo request politely.
โ
What you should see
Within ~60 seconds, a polished 5-7 sentence email in Telegram, with a link to the saved copy in writing/emails/.
๐ How the Team Coordinates#
All coordination flows through Jarvis in your single Telegram chat:
graph LR
You[You] --> Jarvis
Jarvis --> Stark[Mr. Stark]
Jarvis --> Sherlock
Jarvis --> Shakespeare
Stark --> Jarvis
Sherlock --> Jarvis
Shakespeare --> Jarvis
Jarvis --> YouHere's how it works:
- You ask Jarvis for any task โ coding, research, writing.
- Jarvis routes to the right specialist based on role and availability.
- Agents emit status events as they work (
task.claimed,task.completed,doc.created) โ you'll see these flow live once Mission Control is up in Chapter 4. - Jarvis delivers the final output back to you in Telegram, with links to saved files.
๐ฌ Multi-Agent Prompts to Try#
Now that your team is complete, try these coordinated workflows:
Example 1: Research + Write
> Jarvis, have Sherlock research the latest developments in personal AI agents, then have Shakespeare draft a LinkedIn post summarizing the most exciting insight.
Example 2: Build + Document
> Jarvis, have Mr. Stark write a Python script that backs up my ~/Documents folder to a timestamped ZIP, then have Shakespeare write a one-page README explaining how to use it.
๐ Save These for Later#
Your setup creates these key assets:
| Path | Purpose |
|---|---|
~/.openclaw/secrets/ | All API keys (anthropic.env, openrouter.env, brave.env) |
~/.openclaw/workspace/memory/mr-stark.md | Mr. Stark's agent profile (role, model, invocation) |
~/.openclaw/workspace/memory/sherlock.md | Sherlock's agent profile |
~/.openclaw/workspace/memory/shakespeare.md | Shakespeare's agent profile |
~/.openclaw/workspace/scripts/stark.sh | Mr. Stark's invocation wrapper |
~/.openclaw/workspace/scripts/sherlock-research.py and sherlock-topic.py | Sherlock's scripts |
~/.openclaw/workspace/scripts/shakespeare.py | Shakespeare's script |
~/.openclaw/workspace/writing/research/ | Sherlock's output directory |
~/.openclaw/workspace/writing/<category>/ | Shakespeare's output directories (emails, social, projects, etc.) |
Your roster: Jarvis + Mr. Stark + Sherlock + Shakespeare.
โ What You Just Accomplished#
- Installed three specialists using the same 2-step pattern โ save key, prompt Jarvis โ three times in a row.
- Kept every API key out of Telegram. Secrets live only in
~/.openclaw/secrets/withchmod 600. - Only shell work per agent:
nanoone env file. Everything else โ binary installs, wrapper scripts, memory profiles, smoke tests โ was agent-driven. - Verified each specialist with a real deliverable (a script, a research doc, an email).
- Your team is ready to build Mission Control in Chapter 4.
๐ Troubleshooting#
If you hit a snag, ask Jarvis first. Use the shell fallbacks only when the agent path is genuinely unavailable.
| Symptom | Agent-First Fix (Try This First) | Shell Fallback (If Needed) |
|---|---|---|
Mr. Stark install: claude: command not found after Jarvis reports success. | > Jarvis, verify Mr. Stark's install path. Check that claude is on PATH and re-run the smoke test. | On the Pi: npm root -g tells you where globals live. Ensure that directory is on your PATH (edit ~/.bashrc and re-source). |
| OpenRouter returns 401 Unauthorized during Sherlock or Shakespeare install. | > Jarvis, OpenRouter is rejecting the key. Re-read ~/.openclaw/secrets/openrouter.env and try again. | Open the env file with nano, check for stray whitespace at the end of the key line. Re-chmod 600 if you edited. |
| Brave rate-limits Sherlock (free tier caps at ~2000 queries/month). | > Jarvis, Sherlock is hitting Brave rate limits. Pause research jobs for 24 hours. | Wait for the monthly reset, or upgrade your Brave plan. |
| Jarvis says "I don't know how to install X." | > Jarvis, reload your skills and confirm you can install a new specialist agent. If still stuck, restart the main Jarvis session to pick up any new skills. | Check that Jarvis's agent-provisioning skill is present and discoverable in his skills directory. |
| Smoke test passes, but later Jarvis can't invoke the agent. | > Jarvis, run a sanity check on <agent>: invoke him with a tiny test and show me what happens. | Check ~/.openclaw/workspace/memory/<agent>.md exists and the script is executable (ls -la ~/.openclaw/workspace/scripts/). |
Mr. Stark's stark.sh is missing bypassPermissions or STARK_CWD support. | > Jarvis, rebuild stark.sh from the contract in Chapter 3 โ it needs bypassPermissions, --print, STARK_CWD, and env sourcing. | โ |
| An agent replies but output isn't saving to disk. | > Jarvis, check <agent>'s output directory exists and is writable. | Ensure ~/.openclaw/workspace/writing/<category>/ exists; create with mkdir -p if not. |
โก๏ธ What's Next#
Chapter 4: Build Your Own Mission Control. Now that you've got a 4-agent team, you'll have them build you a custom web dashboard to watch their work in real time โ using the same agent-first rhythm you just learned.