# How I'm setting up a personal agent team on Grok Bot

Author: Daniel Netzer
Published: 2026-09-12
Canonical: https://www.danielnetzer.com/build-log/how-im-setting-up-a-personal-agent-team-on-grok-bot

I researched Grok Bot like a hire: FTE seat contracts, The Studio floor, labels, provisioning, site iteration, and what a $20 Cursor week actually cost.

### At a glance

- **What this is:** A build log of standing up a personal agent team on Grok Bot.
- **Who it’s for:** Operators who want contracts and human-in-the-loop gates — not a roster screenshot.
- **Takeaway:** Write the seat contract and approval boundary before you hire the fifth bot.

### What I researched before hiring anyone

I started with xAI’s official Grok Bot docs — [overview](https://docs.x.ai/grok-bot/overview), [create and manage Bots](https://docs.x.ai/grok-bot/bots), [skills and routines](https://docs.x.ai/grok-bot/skills-routines-and-automations), and [approvals, security, and privacy](https://docs.x.ai/grok-bot/approvals-security-and-privacy) — plus practitioner write-ups on running a small agent team without losing control.

The parts that stuck:

- A Bot’s **description** is a durable operating contract. Chat messages are temporary assignments.
- Separate Bots when the work has a distinct goal, sources, working style, approval boundary, or schedule.
- Build order: one task → correct it → save a skill → retest → only then routines → then handoffs → then expand the roster.
- Keep publish, send, spend, and delete behind explicit approval.
- A useful description answers six questions: job owned, sources, deliverable shape, evidence, approval boundary, when to stop and ask.

We also borrowed a Hermes-style file split (soul / user / memory / agents) and mapped it onto Grok Bot: description ≈ seat contract + voice; shared markdown on disk ≈ studio operating rules; profile and log memory for stable facts. That map lives in a shared `studio-os` folder next to this build log.

### Who I was watching while building this

A short agentic-inspiration shelf for this piece:

- [Claire Vo](https://www.youtube.com/@howiaipodcast) / *How I AI* — especially [7 Grok Bot agents I use every day](https://www.youtube.com/watch?v=QBmgF1kJSK4) (seat-shaped bots, CoS hub, migrate-and-specialize)
- [Peter Yang](https://www.youtube.com/@PeterYangYT) — craft tutorials plus his **no-ai-slop** edit pass (mandatory on our drafts)

Borrow the operating pattern. Leave the persona alone.


### Skills and connectors before the org chart

Before I treated the roster as done, we hunted skills and connectors per seat.

Installed on day one: Peter Yang’s **no-ai-slop** skill — mandatory pass on drafts before publish review.

Already connected for the hub: Gmail and Google Calendar.

![Grok Bot Plugins marketplace showing Gmail, Google Calendar, and Drive installed](https://www.danielnetzer.com/build-log/post1/03-marketplace-plugins.png)

*Plugins: mail and calendar first, not a dozen toys.*

![Grok Bot marketplace Bots tab listing available bot templates](https://www.danielnetzer.com/build-log/post1/04-marketplace-bots.png)

*Bots marketplace — hire when the job is distinct, not when you’re bored.*

Mapped, not all installed: Vercel for the site seat; Canva later; no first-party LinkedIn/X connector, so distribution stays draft-then-HITL. We skipped mega “content engine” packs that would fight a voice guide, and anything that auto-posts.

Tools follow jobs.

### Descriptions as contracts (FTE seats, not single-purpose bots)

Instead of single-function bots (“email listener,” “calendar watcher,” “LinkedIn drafter”), I hired **full-time seats**: FTE-shaped roles with a mandate, sources, deliverable shape, and a hard approval boundary.

Every hire pastes from the same six-question template — job owned, sources, deliverable, evidence, approval boundary, stop-and-ask. The description is the contract. Chat is for the week’s assignment.

| Seat | Owns |
|------|------|
| Managing Partner | Hub. Priorities, handoffs, human-in-the-loop broker. Only seat I talk to day to day for studio HITL. |
| Brand Strategist | Positioning, narrative arcs, what we say and don’t say. |
| Editor-in-Chief | Voice, long-form, this build log. |
| Technical Producer | Personal site and demos. |
| Social Producer | Native LinkedIn (and later X) cuts from the canonical piece. |
| Creative Director | Visual system — pastel/pixel, OG, avatars (hired after v1). |
| Personal Assistant | Life-ops calendar + inbox (separate from brand seats). |

Shared rules sit in `STUDIO.md`. Specialists escalate through the Managing Partner as: context → ask → options → recommendation.

### The Agentic Studio room vs Partner DMs

There is a group channel — **The Studio** — and there are 1:1 chats with the Managing Partner.

The floor is for work more than one seat needs: handoffs, locks (palette, OG, favicon, hero), skill installs, classified flags, status the whole studio should hear. Tag the owner. Attach file paths.

1:1 Partner DMs are for private HITL escalations to me and for noisy WIP that would spam the floor.

Silent peer DMs for floor-visible work are out of bounds. That rule is in `STUDIO.md` — five agents inventing five parallel truths is worse than a noisy floor.

![Managing Partner chat thread with floor rules and studio direction](https://www.danielnetzer.com/build-log/post1/01-partner-chat-floor-rule.png)

*Partner 1:1 — direction, locks, and the path to my yes.*

![The Studio group chat with specialist seats listed on the floor](https://www.danielnetzer.com/build-log/post1/02-pr-studio-room.png)

*The floor — cross-seat work stays visible.*

### Labels and other small levers

Grok Bot is flexible in the boring places that matter.

Example: the Personal Assistant owns Gmail triage with a fixed label set she applies during digests — `PA/Action`, `PA/VIP`, `PA/Waiting`, `PA/FYI`, `PA/Noise`. Those labels are part of her contract. She doesn’t invent new ones without asking.

Same pattern elsewhere: title chips, sidebar sections, skills, routines. The system lets agents create and update structure when the job needs it — with approval boundaries still written into the description.

### Agents can provision (with a human gate)

The roster didn’t freeze at five brand seats. Agents can create new seats (we added Creative Director and a Personal Assistant), update descriptions when the contract changes, and set up labels and skills as the work demands.

Create/delete agents and material rule changes still need Managing Partner → me. The gate is how you grow the floor without losing the plot.

### Operating system

This matches how Grok Bot’s own [approvals docs](https://docs.x.ai/grok-bot/approvals-security-and-privacy) frame consequential actions — we just wrote it into seat contracts.

Human yes before:

1. Publishing or scheduling anything public  
2. Sending as me on outside platforms  
3. Spending money or binding commitments  
4. Creating or deleting agents, or changing the rules in a material way  
5. Anything hard to undo  

Drafting stays cheap; shipping stays gated.

Weekly, the Managing Partner runs a studio review: what shipped, what’s stuck, which descriptions or skills need a patch. Files are living contracts, not wallpaper.

Private constraints stay private. If a fact isn’t sourced, we stop instead of inventing one.

### What it cost (the scar)

Standing the studio and the first site passes up burned through about **70% of my weekly usage on the $20 Cursor plan** in a day. That is the bill for researching, hiring seats, writing contracts, shipping copy, and iterating the site — not a productivity trophy.

![Cursor sidebar showing about 71% weekly usage beside the Partner chat](https://www.danielnetzer.com/build-log/post1/06-usage-71pct-and-chat.png)

*~71% of the weekly meter — the scar, not the badge.*

If you copy this setup, budget for that. The interesting part is still the contracts and the approval boundary. The meter just makes the tradeoff visible.

### The site kept moving (and I almost missed a version)

Technical Producer shipped a first build-log home on [danielnetzer.com](https://danielnetzer.com). Then the site kept evolving in public-ish previews while we were still writing:

1. **First deploy** — thin Home / About / Build log scaffold  
2. **Pastel restyle** — Creative’s pixel-adjacent system (Lab implements; prose stays operator)  
3. **Hero full-pillar map** — Home blurb covers the whole lane (agents in real work, dark factories, new tools, maker projects, company moves), not a Grok-only brochure  
4. **Heart footer + agentic mirrors** — sitewide `Built with ❤️ by Daniel Netzer and his agentic studio.` · About clause with “I approve what ships” · `llms.txt` + `.md` mirrors so other agents can read the pages  

I almost skimmed past a newer preview and reviewed an older hero. Iteration is fine. Missing the current version is how you ship the wrong sentence. Open the live URL.

![danielnetzer.com Build log index listing dated notes](https://www.danielnetzer.com/build-log/post1/05-site-build-log-page.png)

*Build log index — dated notes, not a takes feed.*


### Paste this into Grok Bot

This page is meant to be readable by agents as well as humans.

Paste this URL (or the markdown mirror) into a new Grok Bot chat:

`https://www.danielnetzer.com/build-log/how-im-setting-up-a-personal-agent-team-on-grok-bot`

Markdown: `https://www.danielnetzer.com/build-log/how-im-setting-up-a-personal-agent-team-on-grok-bot.md`

Then try:

**Hire a hub**

```
Read that build-log URL. Help me create a Managing Partner bot whose description is a six-question contract (job owned, sources, deliverable, evidence, approval boundary, stop-and-ask). I am the only human who can approve publish, send, spend, or roster changes.
```

**Approval boundary**

```
Turn the HITL list from that post into an approval boundary I can paste into every bot description. Keep it concrete. No auto-publish.
```

You’re not copying my roster. You’re borrowing the pattern: description as contract, skills before routines, human yes before irreversible moves.

If you’re setting up your own Grok Bot team, start with the contract and the approval boundary. Copy those before you screenshot the roster.

More on this site: [Home](https://www.danielnetzer.com/) · [About](https://www.danielnetzer.com/about) · [Build log](https://www.danielnetzer.com/build-log).

