An AI-native social media agent team
One orchestrator, eight departments, eight interrupts and one owner who approves: the full board, how the loop runs and the Claude Code project behind it, as published, with the board as pictures and all eight files the page shows, checked against Claude Code’s docs and each tool maker’s own
A one-screen design for running a company’s social media with AI agents, and the Claude Code project behind it: one orchestrator, eight departments, eight events that interrupt the loop, and one owner who approves. Here it is as published, with the board as pictures and all eight files the page shows. The checks found a design and a starter template, not a running system. As published it connects to no tools and nothing runs on its own; the page shows 8 of the project’s 55 files; its approval rules contradict each other; and three tool claims are wrong: Metricool doesn’t rotate ads, Midjourney has no official API, and Grammarly’s APIs return no corrections.
A design for a social media team made of AI agents, and a Claude Code project to start it from: one orchestrator that every event goes through, eight department agents, eight events that break into the loop as slash commands, a shared folder of brand files, and one owner who sets the voice, the budget and the approval bar. It’s republished as it was published: the board as pictures, then How it works, the interrupts table and the project with its eight files, word for word. Only the creator’s credit is removed. The checks are added in their own notes and columns: the Checked column beside each table row, the box under How it works, and the note just above each command block and file. The page’s own text is unchanged, and where it gets something wrong the note at that spot says so.
What held up, on 22 October 2026
Checked against the page and its eight files, Anthropic’s Claude Code docs, the agent and command files run through Claude Code 2.1.308’s own validator, and each tool maker’s docs and pricing pages.
AI Native Social Media Agent Team
The whole system on one screen. Open it to read the tiles; the four close-ups below are the same board in sections, and the tables after them give its text.
What each zone says
The board’s text, for reading on a phone or in print. Tools in brackets are the logos on tiles that don’t name them; the emoji icons are left out. The Checked column is not on the page.
The eight departments and their tiles
On the board the cards sit in wiring order, not by number: 02 then 01 on the top row, 06 then 05 on the third. Tools in brackets are the logos on tiles that don’t name them. The Checked column is not on the page.
One loop that runs the complete social media of a company
Signals come in
Search Console, GA4, Semrush, GBP, Meta, LinkedIn, YouTube and Brand24 watch search demand and mentions all day.
System of record and owner input
HubSpot, Airtable, Drive, Notion, Segment and Supabase hold every customer and asset. The owner sets voice, budget cap, approval bar and positioning once.
The brain
Claude reasons and writes, LangGraph runs the agents, Postgres remembers, Midjourney and ElevenLabs make visuals and voice.
Everything enters the orchestrator
Collects, Scores, Briefs, Drafts, Schedules, Approves. Every event enters here first and nothing publishes on its own.
Knowledge layer
Every department reads the Brand OS files (voice guide, keyword map, hook bank and the rest) before it writes.
Eight departments do the work
Search Visibility, Market Radar, Content Engine, Creative Studio, Publishing & Social, Reviews & Reputation, Leads & Conversations, Results & ROI.
ENGAGE sends it out
Metricool, WordPress, GBP and chat replies reach the audience. Replies, reviews and DMs come back through Reviews & Reputation.
The loop closes
Data & Observability feeds Results & ROI, and the results feed Signals again.
As published, none of it runs by itself. Signals: “all day” means asking most sources on a schedule (GBP, Brand24, Semrush and GA4 can send alerts, but nothing in the project receives them), and the project has no schedule. The brain: the project runs its agents as Claude Code subagents and keeps a plain Markdown log; LangGraph and Postgres are the board’s reference stack, and Midjourney has no official API, so a person or a model with an API has to make those images. The orchestrator: “nothing publishes on its own” means nothing goes past it, not that the owner signs off on each post. Knowledge layer: it’s an instruction, and only the Content Engine file is shown following it. ENGAGE: nothing receives replies, reviews or DMs until tools are connected. The loop closes only as a line written to logs/results.md after something is published, and someone running Claude again. Not on the page.
Eight events it handles the moment they happen
As published, with a Checked column added (not on the page). None of these fires on its own: in the project each one is a slash command you type with a description of the event.
Run it yourself
A ready Claude Code project: the orchestrator rules, nine agents, the eight interrupts as slash commands, the Brand OS tree and the owner's four levers. Fill the templates with your brand, connect your tools, and run it.
Out of the box this is a scaffold. The page shows 8 of its 55 files: two of the four owner files and none of the 28 Brand OS files, so you write the rest, along with the seven missing agents and seven missing commands. To make it act, connect your tools as MCP servers, give each agent a tools: list so that only Publishing & Social can post (the orchestrator’s list needs Agent, so it can still hand out work), and enforce one approval rule with Claude Code permission rules or a PreToolUse hook. The project itself connects to nothing, but Claude Code also loads any MCP servers you’ve added for all your projects and, if you sign in with a Claude account, your claude.ai connectors, which agents with no tools: list inherit. When claude starts, type /mcp before you ask it for anything, to see what’s connected. And Claude Code 2.1.283 and later start in auto mode, where a classifier approves most actions without asking you, MCP and connector tool calls included; start it with claude --permission-mode manual to be asked before most edits, shell commands and network calls. Not on the page.
(There’s no download, so the first line works only once you’ve made the folder and saved the files below into it under the paths shown; otherwise claude starts in whatever folder you’re in. The page’s second line fails either way: there’s no board/ folder in the project tree, and the page doesn’t provide one. The “board” is the page itself, the pictures above. open is also Mac-only: on Windows it’s start, on Linux xdg-open.)
The project tree, 55 files. The page shows the contents of the eight below; the other 47 are names only, and there’s no download. Not on the page.
The eight files the page shows
The creator’s credit line is removed. (The README says /agents lists the agents; in current Claude Code it prints a reminder instead, so type @ or ask Claude. board/index.html isn’t in the project, and “automatically runs” overstates it: by the README’s own table no tools are connected. The “+340%” is an example. Two of the README’s bash lines end in # comments, which zsh on a Mac passes on as extra words; copy the terminal block above instead.)
Loads by itself when you start claude in the folder, and the project’s agents read it too. Its rules contradict each other: lines 8, 25 and 33 let routine content go out without the owner, while the safety rail at the end says nothing goes out without an approved item in queue/needs-your-ok.md. CLAUDE.md is context, not enforced settings, and Claude may follow either rule, so decide on one and enforce it before the first run, since MCP servers and claude.ai connectors you already have count too. The pipeline also schedules before it runs the gates, so a post scheduled live in Metricool goes out even if a later gate fails: schedule into Metricool’s review stage instead. And nothing can text the owner until a messaging tool such as Twilio is connected. Not on the page.
A valid Claude Code subagent. With no tools: line it inherits every tool, Bash, Write and any connected MCP server included, so add an allowlist before the first run, since MCP servers and claude.ai connectors you already have count too. Keep Agent in that list, or it can no longer hand work to the department agents. To be sure Claude uses it, write @agent-orchestrator rather than naming it in plain words. Subagents can’t stop to ask you a question, so “calls the owner” means a row in queue/needs-your-ok.md. Not on the page.
Loads in Claude Code, but its description isn’t strict YAML (the colon after “department”); put it in quotes so other tools can read the file. Grammarly has no API that returns corrections, so Claude does that pass. Surfer scores content against what ranks (its own study puts the correlation at 0.28); it can’t make a page rank, and until Surfer is connected any “SEO score” is Claude’s estimate. “Can’t post in a voice that isn’t yours” is an instruction: only a tools list or a hook would stop a post. Not on the page.
Works as a slash command: the file name becomes /search-demand-spikes, and $ARGUMENTS is whatever you type after it. .claude/commands still works, though skills (.claude/skills) are now the preferred format. What runs is a prompt: with no Semrush connected, step 1 doesn’t happen, and Claude works from the words you type. The other seven command files aren’t on the page. Not on the page.
A template with a sample brand, a skincare studio: replace it before running, or every draft is judged against that voice. Its approved example, “two openings left this week”, is an availability promise, which approval-bar.md says waits for the owner. Not on the page.
“Ships on its own” agrees with CLAUDE.md’s pipeline and contradicts its safety rail; here “on its own” means without the owner, while on the board “nothing publishes on its own” means without the orchestrator. Replies to one-star reviews, which the interrupts table sends to the owner, aren’t on this list. Not on the page.
Example rows and an example thread; the file says to clear them. No ads tool is part of the project, so nothing in it can pause or spend on TikTok ads, and nothing sends the owner a text. The files name two queues for off-brand drafts: this one (its second row) and held-for-voice-review.md, which isn’t on the page. Not on the page.