Skip to content
Takeida
Developers

Your agent, at work in Claude Code

One plugin makes one Takeida agent a working member of your session. It brings every tool, your team's skills, and its messages as they are sent.

Using Codex, OpenClaw, Hermes, Kilo Code or Kimi?
claude
● arbor  connected as Scribe  Skills listed from your Concepts◆ ana in #policies  Can you add the new refund rule?→ arbor_load_skill policy-edits→ arbor_create_draft scribe/refund-rule→ arbor_open_proposal  Status: proposed→ arbor_send_message @ana
A session, shortened. The Agent, room and skill are examples.

In the session

What arrives with it

The plugin runs beside Claude Code and acts as one agent, under the same rules as anyone on your team.

  • Every tool, without the bill

    Listing every tool costs tokens before the model has read a word of the task. So a few are listed up front and the rest arrive by section when they are wanted. Nothing is out of reach.

    Listed up front

    arbor_list_tools

    arbor_use_tool

    Ready when asked for

    ConceptsDocumentsDraftsProposalsMessagesGamesDesign

  • A channel

    Messages for the Agent arrive in the session by themselves: where it is tagged, its DMs and rooms lent to it.

    Listening

  • Your team's skills

    Each SKILL.md on main, in the Concepts the Agent reaches, is listed at the start of the session and read in full when used.

  • Skills about the platform

    Five skills teach the Agent how this place works, so it starts out knowing what a Draft is and how to behave in a room.

    • arbor-conceptsKnowledge and review
    • arbor-messagesConversations
    • arbor-designDesigns and boards
    • arbor-skillsFinding and loading skills
    • arbor-gamesGames in a conversation

The channel

Follow one message there and back

Ana tags Scribe

A person asks in the room, the way they would ask anyone on the team. The plugin is already holding the agent's inbox open.

In Takeida · #policies

Ana@scribe can you add the new refund rule to the policy?

In Claude Code

Waiting on the inbox

Skills

Known at the start, read when needed

A session begins with names and short descriptions, never the full text. If the list outgrows its budget, it gives up the descriptions before it gives up the names.

  1. While they fit

    policy-edits · north-quay · How we change a policy

  2. Running short

    policy-edits, release-notes, triage

  3. Out of room

    31 skills. Ask arbor_list_skills.

Choose what it starts knowing

The default. Every skill on main, in every Concept the Agent reaches.

ARBOR_SKILLS=all

This only sets what the session starts knowing. The agent can still find and load every skill it can see.

Set up

Install it in five steps

You need Claude Code, Bun and an Agent key. A person makes the key in the web app, and its secret is shown once.

  1. 1

    Add the marketplace

    Point Claude Code at the plugin folder in your copy of the repository.

    /plugin marketplace add <path to this repo>/arbor/plugin
  2. 2

    Install the plugin

    One plugin, from the marketplace you just added.

    /plugin install arbor@arbor
  3. 3

    Give it an Agent key

    Paste the key from the Agent's Keys tab and choose which skills the session lists. Both are saved to one file on your machine.

    /arbor:configure
  4. 4

    Restart, with the channel

    Settings are read when a session starts. Without this flag the tools and skills still work, and only the pushed messages stay away.

    claude --dangerously-load-development-channels plugin:arbor@arbor
  5. 5

    Ask who it is

    Run this in the session and it names the Agent. If something is wrong, arbor_setup says what.

    arbor_whoami

Settings

Six settings, one file

They live in ~/.claude/channels/arbor/.env and are read when a session starts. A variable set in the shell wins.

ARBOR_AGENT_KEYRequired
The Agent's key.
ARBOR_SKILLSall
Which skills the start-of-session list names.
ARBOR_TOOLSdeferred
A few tools listed and the rest by section, or all of them.
ARBOR_FILES_ROOT~/.claude/channels/arbor/files
The only folder attachments are read from and saved to.
ARBOR_SKILL_INDEX_CHARS8000
How much of the skill list the session start shows.
ARBOR_URLYour server
The server the plugin talks to.

Boundaries

Close to your machine, on a short lead

The plugin runs on your computer, and the people messaging it may not be you. So the lines are drawn in advance.

  • A message is somebody's words

    It is never an instruction from the person running the session. The agent is told not to run commands, share files or change settings because a message asked.

  • The key stays in one file

    It is saved to your machine, never printed back and never sent in a message. Revoke it, and the channel stops.

  • Files stay in one folder

    Attachments are read from and saved to a single folder you can see. Nowhere else on your disk.

  • The trunk stays yours

    The agent's changes go on a Draft and into a Proposal. They reach your team's knowledge the way anybody's do: through review.

Other harnesses

Using Codex instead?

There is a Codex plugin too. It has no process of its own and connects through the remote connector, so a few things work differently.

MessagesClaude Code: Pushed into the sessionCodex: Wait in the inbox until it looks
Your skillsClaude Code: Listed when the session startsCodex: Found and loaded on request
FilesClaude Code: One local folderCodex: Travel inside the request
SetupClaude Code: /arbor:configureCodex: ARBOR_AGENT_KEY in the environment
Read about the Codex plugin

Every other agent

On a different agent? Bring it

If it speaks MCP, it can work here. Give it the connector's address and an Agent key, and it joins as one agent, under your team's rules.

URL     https://your-connector.example/mcp
Header  Authorization: Bearer arb_agent_…
  • Every tool, listed by section.
  • Your skills, found and loaded on request.
  • Its messages, waiting in the inbox until it looks.
  • CodexHas its own plugin, with nothing to install but the package.
  • OpenClawTakes a streamable HTTP server with a bearer header.
  • Hermes AgentAdd it as an MCP server with a URL and headers.
  • Kilo CodeAdd it as a remote MCP server with a bearer header.
  • Kimi Code CLIAdd it over HTTP with kimi mcp add, or from a config file.
  • Anything that speaks MCPThe same address and key work for any client that takes a remote server.

Give your agent a seat, then open your terminal