alchemist20.4 KB
View saved version →
---
name: alchemist
description: Build, change, test and publish Olbrain AI agents (chat agents, automatic jobs, teams of agents and research agents) with Alchemist, Olbrain's agent builder. Use when the user wants to create or edit an Olbrain agent, asks what Alchemist can do or whether it can do something, get suggestions for which agents their business needs and their requirements documents, check on a build, answer an Alchemist approval card, see an agent as a diagram, put a live agent on their website or call it from their app's code, raise or follow up their Olbrain support tickets, or set up their Olbrain organisation.
---
# Working with Alchemist
Alchemist is Olbrain's agent builder. Use it for Olbrain agents and the user's Olbrain
organisation, never for unrelated coding. On builds you drive (section 4) you plan and
design the agent, with Alchemist's step-by-step guidance; Alchemist builds it, runs and grades
its tests, checks every step in order and publishes it. On builds Alchemist's own model drives
(section 5), it does the designing and you pass the user's words on.
## 1. Check who and where
Call `whoami` first.
- **No organisation:** ask the user what to call one, then call `create_org`. Never invent a name.
- **Several organisations:** say which one is active. If the user wants another, call
`select_org`. Tell them first that this switches the organisation everywhere they are
signed in, including open Studio and Noesis tabs.
## 2. Start or find the build
- When the user asks what Alchemist can do, or whether it can do something, call
`alchemist_capabilities` and answer from it. Never say it can't without checking.
- Start or continue a build with `alchemist`, passing the user's request as `message` in their
words. Keep the `build_id`. Which build a message goes to; the first match wins:
1. **A build with a card waiting or a turn running** (`needs_you` or `running`): continue it.
Never start a new build for that work, and never resend a message while a turn runs.
2. **Changing a published agent whose build isn't in this conversation:** a new build with
`attach_agent_id`. Find the id by listing live agents with `alchemist_connect`; ask
which one when names repeat. Builds are private to whoever started them.
3. **More about the same agents, or follow-ups after a publish here:** pass its `build_id`.
4. **A new or unrelated agent**, or a `build_id` that returns "Not found": a new build, with
`title` (the agent's purpose in a few plain words) and a `request_id` you make up.
5. **Earlier work without its `build_id`:** find it with `alchemist_builds` by `label` and
`agents`, and read it with `alchemist_build` first. An `idle` build can hold an unfinished
interview. If more than one could match, ask, naming each by `label`, never by id.
- When a new build's result has `resume_hint`, say in a line which other builds are open.
## 3. Which way the build runs
If `alchemist_state` is in your tool list, you drive the build (section 4). If it is missing,
or `alchemist_state` or `alchemist_do` replies that the build uses `alchemist`, Alchemist's own
model drives it: use the `alchemist` tool (section 5). A build Alchemist's model was driving (started
in Noesis, or before you could drive builds) passes to you when you send it the user's words with
`alchemist` or answer one of its cards, unless a turn is running on it: follow that turn to its end,
and your next message takes it over. When a result has `taken_over`, tell the user in a line that you
drive the build from here, then read `alchemist_state`.
On a build you drive, `alchemist` still starts the build and records each new request or
answer from the user, in their words, but it returns the state instead of running a turn.
## 4. Driving a build yourself
1. **State first.** Call `alchemist_state(build_id)` at the start, when a result's
`state.stage` differs from the last one you read, after a refusal, and after a carPreview of the first 4,000 characters. Read full instructions →
build1013 Bytes
View saved version →
---
name: build
description: Start building an Olbrain agent with Alchemist from a description. Use only when the user asks to start a build.
argument-hint: <what the agent should do>
disable-model-invocation: true
allowed-tools:
- mcp__plugin_alchemist_alchemist__whoami
- mcp__plugin_alchemist_alchemist__alchemist_builds
- mcp__plugin_alchemist_alchemist__alchemist_build
- mcp__plugin_alchemist_alchemist__alchemist_capabilities
- mcp__plugin_alchemist_alchemist__alchemist_state
---
Build an Olbrain agent with Alchemist, following the alchemist skill: check `whoami` first,
then find or start the build with the `alchemist` tool, passing the request in the user's
words. If `alchemist_state` is in your tool list, call it and follow it; otherwise follow the
`alchemist` tool's turns.
Request: $ARGUMENTS
If the request above is empty, or still reads `$ARGUMENTS`, use what the user asked for in
their message. If there is nothing, ask the user what the agent should do before calling any tool.
status1.38 KB
View saved version →
---
name: status
description: Show your Olbrain account, active organisation and Alchemist builds, with any cards waiting on you.
disable-model-invocation: true
allowed-tools:
- mcp__plugin_alchemist_alchemist__whoami
- mcp__plugin_alchemist_alchemist__alchemist_builds
- mcp__plugin_alchemist_alchemist__alchemist_build
- mcp__plugin_alchemist_alchemist__alchemist_state
---
Show the user where things stand in Alchemist:
1. Call `whoami`: who they are signed in as and the active organisation.
2. Call `alchemist_builds`: list the builds by `label`, in the order returned (waiting
and running first; say how long a `stale` one has waited). Group `idle` builds (no agent yet) on one line each at the end. They can hold an
unfinished interview, so never call them empty.
3. For each build with a card waiting or a turn running, call `alchemist_build` and
show any open cards with their title and `responses`. If `alchemist_state` is in your
tool list, also call it for that build and give its next step in one line; if it replies
that the build uses `alchemist`, skip that line. Reading the state clears the build's news,
so show every `queued` message and `inbox` item it returns for that build, and treat a
`queued` message as the user's own instruction for the build.
For a waiting card, follow the alchemist skill: it says when you may answer it and
when to ask the user.