See, edit and measure your Claude Code setup

ai-office turns everything your Claude Code runs on into a pixel-art office, a live graph and a ledger. See how it fits together, change it without fear, and find out what actually does the work.

  • Agents
  • Skills
  • Slash commands
  • Plugins
  • MCP servers

Free and open source (MIT). Runs on your machine from ~/.claude; nothing leaves it.

The Office view: an isometric pixel-art floor plan with rooms of agents, a room for a plugin and a server room for MCP servers
The demo office. Rooms group the agents that share a skill or a command; a plugin gets its own room and MCP servers a rack each. Grey people have never been delegated a task.

What ai-office does

See

Every agent, skill, slash command, plugin and MCP server, laid out as an office and as a graph of who uses what. Each link quotes the file and line it comes from, and any file opens right there.

Edit

Rewrite a prompt, a SKILL.md or a command, wire skills to agents, change models and tools, create new ones, and switch plugins and MCP servers on or off. Every write shows the diff first.

Measure

A ledger of everything: uses, sessions, a 12-week trend, grade, usage by project and by MCP tool, and what idle skills cost in context. Over all your sessions, or just one project.

See your setup as it really is

Nothing here is a hand-drawn diagram: every room, shelf, rack and line comes from something written in your files or recorded in your transcripts.

The Office with an agent selected and its details panel open

The Office

A floor plan in isometric pixel art. Rooms are not invented themes: they come from which skills each agent cites and which commands call it, so every door carries the name of a real skill or command. Plugins get their own room, and MCP servers a rack each in the server room.

Position is data. A grey figure has never been delegated, a book spine's height is how established a skill is, a dark rack is a server nobody calls. Click anything and the side panel tells you what it is, what it has done and which file says so.

The Blueprint: a graph of agents, skills, commands, plugin pieces and MCP servers

The Blueprint

The graph of who uses what: agents, skills, commands, plugin pieces (ringed) and MCP servers (hexagons). Dotted is what your prompts declare; solid is what your transcripts prove.

Press / to find anything, 1 2 3 to switch views and ? for the legend.

Edit it without fear

Everything you change goes through the same door: the diff is shown before the disk is touched, a backup is kept, and a line lands in an audit log. Nothing is ever deleted.

The diff shown before saving: two skills added to an agent's prompt
Two skills assigned to an agent: the exact lines that will be written, before anything is written.
Agents
Description, prompt, model, colour, tools, preloaded skills and the skills it cites. Archive and restore. Create new ones.
Skills
Description (next to the words of it you never type), the SKILL.md itself, which agents it is assigned to. Retire it, or create a new one.
Slash commands
Description, argument hint and body, or compose it on a flow canvas: who takes part, in what order, steps in parallel. Create new ones.
Plugins and MCP servers
Switch them on or off in the settings file you choose (MCP servers per project, as Claude Code keeps them). Plugin files are never touched.

Measure what actually works

Your prompts say who should do what. Your transcripts say who did. ai-office crosses both in seconds, even over gigabytes of sessions, and every number cites its source.

The Ledger: a sortable table of every agent, skill, command, plugin and MCP server with uses, grade and a 12-week trend, and an MCP server's details
The Ledger: everything in one sortable table, with a 12-week trend. Here an MCP server's details: which of its tools are really called, and from which projects.
$ npx @alex-roc/ai-office census

  agents               14   6 have not worked in the last 90 days
  skills               28   14 unused in the last 90 days
  custom commands       8   4 run at least once

  plugins       1 enabled of 2 installed · ~65 tokens
  MCP servers   2 loaded · never called: postgres

  active ratio    36%

  agent→skill cited in their prompt   40  declared
  agent→skill proven                  14  in the history
  1. 6 of 14 agents did nothing in 90 days. You wrote their prompts. No session in the last 90 days delegated anything to them.
  2. Half the skills, idle. Their descriptions still load into every session and cost tokens.
  3. An MCP server nobody calls. Configured, loaded, and never used once. Switch it off in the projects that don't need it.
  4. 40 promises, 14 proofs. Agents cite skills in their prompts. Transcripts show which citations turned into calls. That gap is the product.

Numbers from the demo installation that ships with the project. Run npx @alex-roc/ai-office demo to explore it yourself.

The graph is already written, in prose

Agents tell themselves to “read the style-guide skill first”. Commands name the agents they call. None of that is a structured field, so no tool sees it. ai-office extracts it, with the file and line that justify each link, and lays it over what your transcripts prove.

Available
installed skills Anyone can invoke it, if the model decides to.
Assigned
prose in the agent's prompt Its prompt says so. Nobody guarantees it.
Preloaded
skills: in the frontmatter Always loaded, whatever it costs.
Proven
your transcripts It did it, N times, the last one on a given day. This layer wins: it is the only one backed by facts.

Watch your agents clock in

With the hooks installed, the office comes alive while you work in another window: agents materialise when they are delegated and a skill's spine lights up when it is invoked. Every event leaves a permanent mark on the records.

Your whole setup, or just one project

Configurable, so it shows what you need and never gets crowded.

Pick the scope

User level, or one project: what a session there really loads, with project pieces that shadow user ones marked as such. Usage is then measured over that project's sessions only.

Choose what to draw

Toggle agents, skills, commands, plugins and MCP servers in the Office and the Blueprint. The Ledger always lists everything, with its own filters.

English or Spanish

Interface and CLI in both. Switch with the EN/ES button, --lang es, or the plugin's language option.

Principles

Nothing leaves your machine

No server, no telemetry, no account, no network. A local daemon listens on 127.0.0.1 only, behind a token that changes on every start. MCP secrets are never shown: only the names of their variables.

Every number cites its source

If a figure cannot say which file and field it comes from, it is not shown. That's why there is no token cost for MCP servers: it can't be known without connecting to them.

No number improves by spending more

A grade saturates: the 50th use is worth no more than the 3rd, and it expires after 90 days without use.

Install

Requires Node 22.18 or newer. Nothing is written to your configuration without showing you the diff first.

In one command

Nothing to install globally. Run it inside a project to open that project's scope.

npx @alex-roc/ai-office         # the office
npx @alex-roc/ai-office census  # the numbers
npx @alex-roc/ai-office demo    # a fictional office, safe to edit

As a Claude Code plugin

For live activity. The hooks are declared by the plugin, so your settings.json is never touched. Adds the /census command.

claude plugin marketplace add alex-roc/ai-office
claude plugin install ai-office@ai-office