Getting started with Legate
Legate is where a team writes posts for its X accounts, reviews them together and sends them out. Each post is drafted in its account's own voice, a person approves it, and then it publishes now or at a time you pick. Nothing goes to X until someone approves it.
This guide walks through the app in the order you'll meet it. The last sections cover drafting from an AI agent (Claude Code, Hermes or any MCP client) and from a script.
1. The words you'll meet
- Space - your team's shared place in Legate. Accounts, campaigns, posts and settings all belong to one space. You can be in several and switch between them from the top of the sidebar.
- Account - an X account you write as. Each account is a column on the board, with its own voice guide that tells the AI how it sounds.
- Campaign - a board. Home is the space's everyday campaign; start another for a launch or a series and choose which accounts appear on it as columns.
- Card - one post, a thread, or a long-form X article. Note and checklist cards sit beside them for planning. A card carries a status (Idea, Drafted, Flagged, Approved, Sent back, Marked as posted) and can carry tags, an owner and a planned date.
- Scratchpad - a side panel for loose drafts and an AI chat about the board. Drafts sent from an agent land there unless you name a column.
2. Your first ten minutes
- Sign in at legate.social with Google.
- Create a space, or accept the invite a teammate sent you. Invites wait at the top of the first screen.
- Add an X account under Settings, Accounts. It becomes a column on Home.
- Write your first post: + Draft in the account's column opens a card ready to type in.
A setup checklist on Home follows these steps. Once AI is connected it adds two more: the account's voice guide and a note about your product.
3. Connect AI
AI is optional. Without it you write by hand and everything else works.
- Free runs AI on your own provider key. A space manager adds it on the Team page, under AI provider.
- Pro and Team include AI on a managed key with a monthly allowance, nothing to set up. Their "bring your own key" versions use your key instead.
With AI connected you can:
- Generate drafts for the board's accounts, each in its own voice, from the campaign brief or an angle you type.
- Draft from this: start from a post you admire (from Research or the swipe file) or a play from a research brief. Legate learns its shape, never its words.
- Rewrite a selection, and run a voice check on an article.
- Ask the scratchpad about the board, and have it draft for you.
4. Teach Legate each account's voice
Everything the AI knows when it writes lives on the Context page:
- Voice guides, one per account. Start from the template, or pull the account's recent posts to build one from its best posts that Research has read. Try it drafts a sample in the guide's voice so you can judge it before relying on it.
- Context files for the team (Team context), each campaign and each account: facts, positioning, what to avoid. A pinned file is sent first.
- Writing style (on the Team page): British or American spelling, and whether em dashes are allowed. British spelling and hyphens by default; an account's voice guide can set its own.
The Context page shows what the AI reads for each account, so nothing reaches a prompt that you can't see.
5. Drafting
- The board has a column per account. Drag cards to reorder them or move them between accounts. Kanban, Timeline and Canvas show the same cards another way.
- Filters sit in the top bar: status (pick several), owner (including Mine), account, tag and words. Saved keeps a set you use again, named from what it holds, such as "Flagged · Mine". The same filters apply on the calendar.
- Threads, images, GIFs, video and quote posts are built on the card. The character count follows X's rules for links and emoji.
- Articles open in a full editor with a cover, captions, alt text and a preview at X's width. An image X won't take is outlined and named as you add it.
- History: posts and articles keep earlier versions as you write, and any version can be restored.
- Select several cards with Shift- or Cmd-click to set their status, approve them, give them an owner, a tag or a date, move them to another board or archive them, all at once.
6. Review and approval
- Request review from a card's share-and-publish menu, optionally asking one approver by name. It then appears on the Review desk; For me narrows the desk to what asks for you.
- Comment on any passage, or suggest replacement text that the writer can Apply (and undo). Reply to keep a thread going, and @-mention a teammate to bring them in.
- Share links let people outside the space read a post and comment by name, with no account needed. The share panel says how often the link was opened and how many comments came through it.
- Comment emails: Legate emails you about a reviewer's comment, a comment that mentions you, and comments on posts you own or were asked to review - at most once an hour, and not while you're on Review. Turn it off per space on the Team page.
- Approve: people with the approver role approve a version. If the post changes after that, it needs approving again.
7. Publishing (Pro and Team)
- Connect the account to X under Settings, Accounts.
- Approve the post.
- Publish now, or Auto-publish at a time. The time picker says which time zone it uses, and flags when that differs from your profile's.
The Publish desk lists what is ready, scheduled and failed, and retries a failed post or gives it a new time. The Calendar shows planned and scheduled posts across every campaign; drag a card to another day to re-plan it. Evergreen slots publish approved posts from a library on each account's recurring days.
Publishing uses X credits, which come with the plan and can be topped up. The balance and rates are on the Billing page.
8. Research (Pro and Team)
- Track creators and read their latest posts, each scored against the creator's own baseline, so the posts that did unusually well stand out.
- Watch topics: saved X searches, ranked the same way.
- Weekly brief and daily digest: what worked and what to try, from the creators you track.
- Swipe file: keep posts worth learning from, and Draft from this on any of them.
9. Results
Open Results and Legate reads the public numbers of what each account published. Pick an account or All accounts, and a range. Each post opens a panel with its views over time against the account's middle post at the same age. Posted cards show their latest views and likes too.
10. On a phone
On a small screen the rail becomes tabs along the bottom: Draft, Calendar, Research, Context and More. Review and Publish sit under More, which shows a count when a post waits on you. On the Draft tab, switch campaigns from the menu at the left of the row under the title; its Manage campaigns opens the full list, where you start, rename and archive them and switch spaces. Review shows one post at a time with Approve and Send back under your thumb. Add Legate to your home screen and it opens on your board.
11. Help and shortcuts
- The ? at the foot of the rail has this guide, the keyboard shortcuts, the developer docs and a way to write to us.
- Ctrl+K (Cmd+K on a Mac) opens the palette: jump to a campaign or view, or start a draft for an account.
12. Draft from an AI agent
This lets you say "draft this and put it on my Legate board" from Claude Code, Hermes, Codex or any other MCP-capable tool. There is one mechanism, the Model Context Protocol (MCP); only where you paste the config differs per client.
12.1 Create an API key (once)
- Open the Team page, then API keys.
- Create key, give it a name (for example "Claude Code - laptop"), optionally set an expiry, and create it.
- Copy the key now. It is shown once. It looks like
legate_sk_....
A key belongs to one space: anything created with it lands there, and nothing in a request can reach another space. Keys can be revoked at any time and given an expiry. The legate_sk_ prefix lets secret scanners spot one that leaks, so treat it like a password.
12.2 Where drafts land
Every client offers the same three tools. The main one is create_draft:
- Leave out account and campaign and the draft lands in your scratchpad for you to place. That's the safe default when the agent doesn't know your board.
- Give both (
accountas a key or@handle,campaignas a name or id) and it goes straight into that board column. - Use
bodyfor a single post, orthread(a list of posts) for a thread.
list_accounts and list_campaigns let the agent find valid targets first.
12.3 Claude Code
The Legate plugin (recommended):
/plugin marketplace add Bartega/legate-plugin
/plugin install legate@legate
It asks for your API key during install, and adds a /legate-draft command and a drafting skill:
/legate-draft a teaser about the new lend vault, for @kamino on the launch campaign
Or connect the hosted server directly:
claude mcp add --transport http legate https://legate.social/api/mcp \
--header "Authorization: Bearer legate_sk_..."
12.4 Hermes
Hermes reads MCP servers from ~/.hermes/config.yaml under mcp_servers. The hosted form needs nothing installed:
mcp_servers:
legate:
url: "https://legate.social/api/mcp"
headers:
Authorization: "Bearer legate_sk_..."
Or run the published local server:
mcp_servers:
legate:
command: "npx"
args: ["-y", "legate-mcp"]
env:
LEGATE_API_KEY: "legate_sk_..."
Then /reload-mcp inside a Hermes session, and hermes mcp catalog to check it connected.
12.5 Codex and any other MCP client
Hosted (HTTP): point the client at https://legate.social/api/mcp with the header Authorization: Bearer legate_sk_....
Local (stdio):
{
"mcpServers": {
"legate": {
"command": "npx",
"args": ["-y", "legate-mcp"],
"env": { "LEGATE_API_KEY": "legate_sk_..." }
}
}
}
12.6 The tools
| Tool | What it does |
|---|---|
create_draft | Creates a draft. body (or thread for two or more posts), and optionally account (key or @handle), campaign (name or id), template, notes. Leave out account and campaign for the scratchpad; give both for a column. |
list_accounts | The space's accounts, with their keys and handles. |
list_campaigns | The space's campaigns, with their names and ids. |
The agent won't invent live numbers or links. It leaves placeholders like <TBD>, which the card shows as fill-before-posting chips.
13. Drafting from a script (REST)
The same API is a plain REST endpoint. The full reference is at legate.social/developers.
# Into the scratchpad
curl -X POST https://legate.social/api/v1/drafts \
-H "Authorization: Bearer legate_sk_..." \
-H "Content-Type: application/json" \
-d '{"body":"my draft"}'
# Straight into a board column
curl -X POST https://legate.social/api/v1/drafts \
-H "Authorization: Bearer legate_sk_..." \
-H "Content-Type: application/json" \
-d '{"body":"my draft","account":"xBartega","campaign":"Launch"}'
# Find valid targets
curl https://legate.social/api/v1/accounts -H "Authorization: Bearer legate_sk_..."
curl https://legate.social/api/v1/campaigns -H "Authorization: Bearer legate_sk_..."
14. Good to know
- The API never publishes. It only creates drafts. Publishing happens in Legate, on Pro or Team, after someone approves the post.
- One key works everywhere: the plugin, the hosted MCP server, the local package and the REST API.
- Revoking a key on the Team page stops anything using it at once.
Quick reference
| You want to... | Do this |
|---|---|
| Add an X account | Settings, Accounts |
| Connect AI | Team page, AI provider |
| Set an account's voice | Context page |
| Ask for a review | A card's share-and-publish menu, Request review |
| Publish or schedule | Approve, then Publish or Auto-publish (Pro and Team) |
| Get an API key | Team page, API keys, Create key |
| Claude Code | /plugin marketplace add Bartega/legate-plugin, then /plugin install legate@legate |
| Any MCP client | the hosted URL and a Bearer header, or npx -y legate-mcp with LEGATE_API_KEY |
| Script it | POST https://legate.social/api/v1/drafts (see legate.social/developers) |