Install any skill in seconds. Free to start, no credit card required.
Get Started Free →butterbase-ai/substrate
Use when the user wants to read/write their Butterbase substrate — the per-user agent-memory backend that holds entities, business state, institutional memory, and an append-only action ledger. Use for: founder copilots, AI agents that need memory across sessions, anything that proposes actions on the user's behalf.
Passed 17 of 22 test cases with the skill, and 11 of 22 without it.
and 3 more in the full report
6 fixed11 passed either way5 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
When creating a dual-access service key for local agent execution via manage_auth_config, which specific boolean parameter must be set to grant access to substrate endpoints?
| Checked | Without skill | With skill |
|---|---|---|
| Sets substrate_access to true | Missed | Passed |
The instructions your model reads when the skill loads.
Substrate is an optional, per-user add-on backend. One substrate per Butterbase account, lazily provisioned on first use, queryable from local Claude Code (via MCP), from any opted-in Butterbase app (via ctx.substrate inside functions), and from external systems (via HTTP).
| Store | What lives there | Tools |
|---|---|---|
| Entities | People, companies, projects you transact with | get_entity, find_entities |
| Business state | Numeric facts that change over time (MRR, headcount) | find_entities with type filter |
| Institutional memory | Decisions, commitments, learnings | search_memory |
| Action ledger | Append-only log of every proposed/executed action | list_outbox, propose_action history |
Every write goes through this loop. Agents NEVER touch the substrate database directly.
propose_action with capability + args. Returns an action ID.auto_execute, require_approval, deny.approve_action(action_id) or reject_action(action_id). If yolo_mode=true for this user, approvals are auto-granted for capabilities marked yolo-safe.For external side effects (sending email, calling an API), substrate writes to the outbox instead of executing inline. The cron-scheduler drains it. Use list_outbox, retry_outbox, cancel_outbox to manage it.
get_entity(id) — fetch by ID.find_entities(type, query, limit) — typed search; query is full-text + structured.search_memory(query, kind?) — semantic + keyword search across decisions/commitments/learnings.test cases passed, vs 11 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.