Install
$ agentstack add skill-butterbase-ai-butterbase-skills-journey-agents ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Journey: Agents
Build the agents described in 02-plan.md. Order: MCP servers first (probe must pass before any agent references them) → agents → smoke runs.
When to use
- Dispatched by
journeywhencurrent_stage: agents. - Directly via
/butterbase-skills:journey-agents. - Skipped (annotated
(n/a)) if the plan lists no agents.
Preflight
If docs/butterbase/03-preflight.md is missing, older than 24 hours, or 00-state.md has app_id: null, invoke butterbase-skills:journey-preflight first. Wait for it to return successfully before proceeding.
Inputs
docs/butterbase/02-plan.md— the Agents section (names, purpose, tool list, visibility, MCP servers needed).docs/butterbase/00-state.md— forapp_id.- Any handcrafted spec files under
agents/in the project (preferred — version-controlled and survives clones).
Procedure
- Refresh docs. Call
butterbase_docswithtopic: "agents". If the cache (docs/butterbase/03b-docs-cache.md) already covers agents, skip.
- Register MCP servers first. For each MCP server in the plan:
- Print:
"Registering MCP server '' at (transport=). Proceed?". Wait foryes. - Call the MCP-servers registration route (or the dashboard's MCP Servers page if a wrapping MCP tool is not yet available — check
butterbase_docstopicagentsfor the current preferred path). - Wait for probe result. If
status: unhealthy, surface the error and ask the user to fix (URL, auth header, transport mismatch) before continuing. Do not create agents that reference an unhealthy server.
- Build each agent. For each agent in the plan, in order:
a. Print: "About to build agent: (visibility=, tools=). Proceed?". Wait for yes. b. Invoke butterbase-skills:agents via the Skill tool with: agent name, intended behaviour, plan-derived tool list, model preference, visibility/limits. The wrapped skill drafts the graph_spec, writes it to agents/.json in the project repo, and calls validate_agent_spec. c. If validation fails, surface the Zod issues and loop the agents skill to fix. d. Safety gate. If visibility != 'private' AND any node can reach a write tool (insert_row, update_row, delete_row, write_storage, or any read_write-mode MCP/function tool), explicitly ask: "This agent is reachable by callers and can write data. Set safety_acknowledged=true? (yes / change to private / reduce tools)". Do not proceed silently. e. create_agent with the validated spec. f. Smoke: invoke_agent with a representative input. Poll get_agent_run until terminal. If the run errors, debug per the agents skill's debugging procedure; otherwise show the user the final output. g. Append one line per agent to docs/butterbase/04-build-log.md: agents create_agent ok (run smoke=)
- Persist specs to the repo. Confirm
agents/.jsonfiles are tracked locally. They will be carried bybutterbase repo push(run by thetemplatesstage if the user is publishing, or any time the user pushes a snapshot). This is the only way a clone recipient can recreate the agents — theagentstable is not part of clone replay.
- Tick state. Mark
- [x] agentsin00-state.md, setcurrent_stageto the next unchecked stage.
- Return to
journeyorchestrator (or ask"Continue to the next stage? (yes/no)").
Outputs
- One or more agents created against the live app.
- One or more
agents/.jsonspec files in the project repo. - One line per agent in
docs/butterbase/04-build-log.md.
Anti-patterns
- ❌ Skipping
validate_agent_spec. Bad specs surface as opaque runtime errors after the agent is live. - ❌ Creating a
publicwrite-capable agent without rate limits or adaily_budget_usd. The runtime requiressafety_acknowledged, but you should also pick hourly per-IP and per-app caps. - ❌ Hard-coding secrets in
system_promptorargs_template. Read them fromctx.envinside a function tool. - ❌ Forgetting that the
agentstable is not replayed on clone. Always commit the spec JSON and document re-import (butterbase agents create -f agents/.json) in the README. - ❌ Smoking with
visibility: 'private'and calling it good for apublicagent. After the smoke, change visibility and re-test with an unauthenticated curl to confirm the public path works.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: butterbase-ai
- Source: butterbase-ai/butterbase-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.