A skill your agent uses 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…

MITAuto-check passedAgent Workflows

Install Substrate

skills CLI
$ npx skills add butterbase-ai/butterbase-skills --skill substrate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install butterbase-ai/butterbase-skills substrate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/butterbase-ai/butterbase-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/substrate .claude/skills/substrate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
substrate
GitHub stars
534
Token cost
~1k tokens
SKILL.md length
472 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses 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…

  • Works in 4 steps: Propose — propose_action with capability… → Policy — substrate-core evaluates… → Approval (if needed) — human calls… → …
  • The user wants to read/write their Butterbase substrate — the per-user agent-memory backend that holds entities
  • SKILL.md covers Four stores, The propose → policy → execute…, Reads and When to use, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Substrate is an agent skill from butterbase-ai/butterbase-skills. 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.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Agent memory. The repository describes itself as: Plugin for Butterbase.ai. The licence is MIT.

When your agent uses it

  • The user wants to read/write their Butterbase substrate — the per-user agent-memory backend that holds entities
  • Institutional memory
  • An append-only action ledger
  • : founder copilots

Example prompts

  • “/substrate”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Propose — propose_action with capability + args. Returns an action ID.
  2. Policy — substrate-core evaluates per-capability rules. Verdicts: auto_execute, require_approval, deny.
  3. Approval (if needed) — human calls approve_action(action_id) or reject_action(action_id). If yolo_mode=true for this user, approvals are…
  4. Execute + log — substrate-core runs the action in a transaction and appends to the ledger.

What it can do on your machine

Read from SKILL.md and the folder at commit aa8ae69. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Substrate loads about 1k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 472 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~82
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from butterbase-ai/butterbase-skills at commit aa8ae69, republished under its MIT licence (© butterbase-ai). 472 words, ~1,025 tokens.

Download SKILL.mdSave it as .claude/skills/substrate/SKILL.md (or your agent's skills folder).
name
substrate
description
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.

Butterbase Substrate

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).

Four stores

StoreWhat lives thereTools
EntitiesPeople, companies, projects you transact withget_entity, find_entities
Business stateNumeric facts that change over time (MRR, headcount)find_entities with type filter
Institutional memoryDecisions, commitments, learningssearch_memory
Action ledgerAppend-only log of every proposed/executed actionlist_outbox, propose_action history

The propose → policy → execute → log loop

Every write goes through this loop. Agents NEVER touch the substrate database directly.

  1. Propose — propose_action with capability + args. Returns an action ID.
  2. Policy — substrate-core evaluates per-capability rules. Verdicts: auto_execute, require_approval, deny.
  3. Approval (if needed) — human calls 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.
  4. Execute + log — substrate-core runs the action in a transaction and appends to the ledger.

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.

Reads

  • 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.

When to use

  • ✅ Founder copilot ("what did I decide about pricing last quarter?")
  • ✅ AI agent that should remember a customer across conversations
  • ✅ Any app where you want a single source of truth for entities the agent operates on
  • ❌ Plain CRUD app (use regular Butterbase tables)
  • ❌ Pure analytics / read-only dashboard (substrate is action-oriented)

Linking an app

When apps.substrate_user_id is set to the app owner's platform_user.id, functions in that app get ctx.substrate injected at cold start, with reader and proposer methods. Use /butterbase-skills:journey-substrate to enable this for an app.

Show full SKILL.md (172 more words)Show less

API keys

For agent access from local Claude Code, generate a scope='both' API key via manage_auth_config action: "generate_service_key" with substrate_access: true. The same bb_sk_ key works on both app and substrate endpoints.

Anti-patterns

  • ❌ Calling substrate MCP tools without first checking whether the user has substrate provisioned. find_entities returns 401 if there's no substrate — handle gracefully and suggest provisioning.
  • ❌ Treating the action ledger as mutable. It's append-only; "undo" is a new compensating action, not a delete.
  • ❌ Storing transient state in entities. Entities are durable nouns; use the app's runtime tables for ephemeral state.
  • ❌ Calling upsert_entity without canonical_keys or primary_email and expecting dedup. Provide one or the other so substrate can match an existing row. Without them, every call mints a new entity.
  • ❌ Calling update_entity for a partial update. It replaces attrs wholesale and will drop every key you didn't include. Use patch_entity (RFC 7396 merge-patch) instead.
  • ❌ Storing entity IDs in app data and skipping alias resolution after merge_entities. The merged-away ID stops resolving to an entity; look up substrate.entity_aliases to find the survivor.

© butterbase-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/substrate of butterbase-ai/butterbase-skills.

Open the folder on GitHubat commit aa8ae69

Compare with similar skills

Substrate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Substrate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Substrate this skillbutterbase-ai/butterbase-skills534—~1kAutomated safety check: PassMIT
Wrap Upalirezarezvani/claude-skills28k1 repos~765Automated safety check: PassMIT
Custom Mode Creator for claude-memthedotmack/claude-mem98k—~2.4kAutomated safety check: PassApache-2.0
Coding Agent Session Findercode-yeongyu/oh-my-openagent70k1 repos~2.8kAutomated safety check: PassCustom licence
Claude-Mem Cloud Syncthedotmack/claude-mem98k1 repos~1kAutomated safety check: NotesApache-2.0
Cognee CLI Memory Commandstopoteretes/cognee32k1 repos~2.2kAutomated safety check: NotesApache-2.0

Similar skills

  • Wrap Up

    alirezarezvani/claude-skills

    Close out a launched Claude Managed Agent — recap every primitive the founder now owns, regenerate the single-file overview page, and suggest the next 1-2 upgrades.

    28k GitHub starsUsed in 1 repo~765 tokens
    Agent WorkflowsAuto-check passed
  • Walks you through creating, installing and verifying a custom claude-mem mode, including note types, tags and optional Telegram alerts for chosen memories.

    98k GitHub stars~2.4k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Coding Agent Session Finder

    code-yeongyu/oh-my-openagent

    Finds, reads and reconstructs past coding-agent sessions across Codex, Claude, OpenCode, Senpi and many other local agent logs.

    70k GitHub starsUsed in 1 repo~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Claude-Mem Cloud Sync

    thedotmack/claude-mem

    Checks claude-mem cloud sync status and guides you through connecting a cmem.ai Pro account without the sync token ever passing through the chat.

    98k GitHub starsUsed in 1 repo~1k tokens
    Agent WorkflowsAuto-check: notes
  • Cognee CLI Memory Commands

    topoteretes/cognee

    Drives cognee from the terminal with remember, recall, forget and improve memory commands, dataset and config management and database migrations.

    32k GitHub starsUsed in 1 repo~2.2k tokens
    Agent WorkflowsAuto-check: notes
  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 7 days ago
    Agent WorkflowsAuto-check passed

More from butterbase-ai/butterbase-skills

All 39 skills in this repo
  • AI

    butterbase-ai/butterbase-skills

    A skill your agent uses when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or BYOK, reading token/cost usage

    534 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check passed
  • Auth Setup

    butterbase-ai/butterbase-skills

    A skill your agent uses when configuring OAuth providers (Google/GitHub/Apple/X/etc.), setting up post-login auth hooks, tuning JWT lifetimes, or generating service API keys

    534 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed
  • Build App

    butterbase-ai/butterbase-skills

    A skill your agent uses when building a new Butterbase app from scratch, creating a full-stack application, or when the user asks to set up a complete backend with database, auth, and deployment

    534 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed
  • Contributing

    butterbase-ai/butterbase-skills

    A skill your agent uses when contributing to the Butterbase codebase, adding new MCP tools, creating API routes, writing migrations, or understanding the monorepo architecture

    534 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • Debug Rls

    butterbase-ai/butterbase-skills

    A skill your agent uses when users report access denied errors, see wrong data, RLS policies are not working, or when troubleshooting Row-Level Security issues in Butterbase

    534 GitHub stars~3.5k tokensUpdated 2 days ago
    Auto-check passed
  • Deploy Frontend

    butterbase-ai/butterbase-skills

    A skill your agent uses when deploying a frontend (React, Next.js, or static HTML) to a live URL on Butterbase, or when troubleshooting deployment issues like MIME type errors or blank pages

    534 GitHub stars~2.8k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Substrate

What does Substrate do?

A skill your agent uses 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…. Substrate is an agent skill from butterbase-ai/butterbase-skills. 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.

When should I use Substrate?

Substrate fits situations like: the user wants to read/write their Butterbase substrate — the per-user agent-memory backend that holds entities; institutional memory; an append-only action ledger; : founder copilots.

How do I install Substrate in Claude Code?

Run `npx skills add butterbase-ai/butterbase-skills --skill substrate -a claude-code`. Or copy the skill folder (skills/substrate in butterbase-ai/butterbase-skills) into .claude/skills/substrate in your project. Claude Code loads it when a task matches its description.

How do I install Substrate in Codex?

Run `npx skills add butterbase-ai/butterbase-skills --skill substrate -a codex`. Or copy the skill folder (skills/substrate in butterbase-ai/butterbase-skills) into .agents/skills/substrate in your project. Codex loads it when a task matches its description.

Can I use Substrate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add butterbase-ai/butterbase-skills --skill substrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/substrate, .gemini/skills/substrate, .github/skills/substrate and .opencode/skills/substrate in your project.

What does Substrate need to run?

SKILL.md names no scripts, command-line tools or credentials: Substrate is instructions for the agent only.

Does Substrate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Substrate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Substrate use?

Substrate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Substrate use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Substrate?

Skills that share tags, products or a category with Substrate: Wrap Up (alirezarezvani/claude-skills, 28k stars), Custom Mode Creator for claude-mem (thedotmack/claude-mem, 98k stars), Coding Agent Session Finder (code-yeongyu/oh-my-openagent, 70k stars) and Claude-Mem Cloud Sync (thedotmack/claude-mem, 98k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Substrate?

butterbase-ai (a GitHub organization) maintains it in butterbase-ai/butterbase-skills, which has 534 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 5, 2026.

Source: butterbase-ai/butterbase-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.