Examples & use cases¶
Every recipe below is a self-contained directory in
examples/ — a README.md
that explains it and a script with the exact ironctl commands. Pick a card, copy the
command, and watch it run. Five of the nine need no credentials at all — no model
key, no channel token.
Not sure where to start? Run hello-ironclaw — it
proves the whole secured path end-to-end in one command.
Run it now, no credentials¶
Self-contained: one command builds the sandbox image, brings up the offline demo control-plane, runs the scenario, asserts the result, and tears everything down. Requires only Docker.
-
hello-ironclaw · zero-cred · self-contained
The canonical first "it works": sends a chat through the real secured path (engage → per-session sandbox → encrypted queue → delivery) and asserts the reply comes back. Doubles as the CI smoke test.
-
red-team-escape · zero-cred · self-contained
The other side of the coin: assumes a fully jailbroken agent and tries to break out — network egress, host escape via the Docker socket, sibling breakout, self-modification — then asserts every attack is contained.
The whole pipeline, still credential-free¶
These drive the entire inbound → agent → reply pipeline against the offline mock
provider. Bring the demo control-plane up once (it seeds an offline mock-agent that
makes no network call and needs no key), then run any recipe from the repo root:
docker compose -f docker-compose.demo.yml up -d --build # seeds the offline mock-agent
# … run one or more recipes below …
docker compose -f docker-compose.demo.yml down # tear down
-
scheduled-report · credential-free (mock)
An agent that wakes itself on a schedule via the
schedule_tasktool, summarizes, and posts the digest to a channel — no external cron. -
webhook-responder · credential-free (mock)
An inbound HTTP webhook routed through the real pipeline to an agent that replies — poll the reply or push it back via a
webhookdestination. -
slack-triage · credential-free (mock)
A bot that classifies and labels every incoming Slack message (
bug/question/feature/urgent).
With mock, the replies are deterministic echoes that prove the pipeline.
Set a real model credential on the control-plane (ANTHROPIC_API_KEY,
OPENAI_API_KEY, …) and the same recipes do real work with no wiring change.
Bring your own channel¶
These configure a real channel wiring, so they need a
running control-plane and your own channel token. Each setup.sh is
idempotent where the API allows; identifiers in the scripts (channel ids, handles) are
placeholders — edit them for your setup.
-
personal-assistant · your channel
A private 1:1 assistant on Telegram that replies to every message — plus a walk-through of the mandatory change-approval flow.
-
channel-triage · your channel
A quiet triage bot in a shared Slack channel: engages only on
@mention, only for known senders, and accumulates the context it stayed out of. -
multi-agent-team · your channel
Two agents sharing one group chat (a frontline responder + a scribe), showing priorities, multi-agent wiring, and where
create_agentsits. -
keyword-watcher · your channel
A quiet ops agent in a Discord channel that engages only on a
patternmatch (deploy/incident/outage), one session per incident thread.
See also¶
- Quickstart — the zero-credential demo these recipes build on.
- Tutorials — guided walkthroughs from clone to a running agent.
- Channel adapters — the 12 channels a recipe can ingest from and post to.