Build guides

Keep a prompt library your agents can fetch

Store reusable prompts and skills in a Base76 base with full history, and serve each one as plain markdown that any agent or script can fetch.

Snippets checked against the live API October 22, 2026
  • Upsert
  • Collection share links
  • Markdown output
  • History

Prompts you reuse end up scattered across chat histories, dotfiles, and docs. Put them in a base and every agent you use reads from the same copy. Each edit keeps the previous version, and a share link serves every prompt as plain markdown, so Claude Code, a shell script, or another vendor’s agent can fetch one with curl.

The prompt

Create a prompt library base in Base76. Each prompt has a unique kebab-case name, a one-line summary, tags, and the full prompt as markdown. Save the three prompts below.

The schema

FieldTypeNotes
nametextUnique; display field, so it becomes the page title and slug
summarytextOne line
tagsmulti_selectallow_new: true
bodymarkdownRequired

The agent can set the page templates in the same define_collection call. Prompt pages show the tags and the body. The collection page is a list sorted by name:

"templates": {
  "record": [{"type": "title"},
             {"type": "chips", "field": "tags"},
             {"type": "markdown", "field": "body"}],
  "collection": [{"type": "list", "fields": ["summary", "tags"],
                  "sort": "name"}]
}

Edit without making copies

Because name is unique, the agent saves prompts with upsert matched on it. Send a prompt that exists and it updates in place; send a new one and it’s created:

curl -s -X PUT https://api.base76.com/v1/bases/tim/prompts/records/prompts \
  -H "Authorization: Bearer $B76_KEY" \
  -H 'content-type: application/json' \
  -d '{"on": "name",
       "records": [{"name": "code-review",
                    "body": "# Code review\n\nCheck for bugs first."}]}'

The response counts what happened: "created": 0, "updated": 1. Only the fields you send change, so the summary and tags stay as they were.

The old body isn’t gone. history lists every version of a record with who changed it, the API key or the agent’s connection, and what changed. restore writes an old version back as a new one, so going back is itself undoable.

Serve prompts as markdown

Ask the agent to share the prompts collection. Add .md to the link and you get an index of every prompt:

# Prompts

- [code-review](https://app.base76.com/s/b76s_…/code-review-cct2yfrj.md) — Summary: Review a diff for correctness first, Tags: code
- [meeting-recap](https://app.base76.com/s/b76s_…/meeting-recap-b9gk56cm.md) — Summary: Decisions and owners from a transcript, Tags: writing
- [release-notes](https://app.base76.com/s/b76s_…/release-notes-gqe2j7fk.md) — Summary: Turn a git log into user-facing release notes, Tags: writing, code

Each prompt’s link returns frontmatter (id, name, summary, tags, version, dates) and then the body. In a script:

PROMPTS="https://app.base76.com/s/b76s_…"
curl -s "$PROMPTS/release-notes-gqe2j7fk.md"

The slug is the name plus the last eight characters of the record id. Base76 resolves the link by those eight characters, so renaming a prompt doesn’t break links you’ve already handed out.

Limits

  • Anyone with the share link can read every prompt in the collection. For private prompts, skip the share link and have scripts call get with an API key.
  • Share pages are cached for up to a minute, so an edit can take that long to show up at the link.
  • Markdown renders with raw HTML turned off. A prompt that contains HTML shows it as text.
Base76 is in closed beta.

Join the waitlist and you'll get an email when your account is approved. Beta accounts are free.