Agent skill

Build with TinyBase

by tinyplex in tinyplex/tinybase

Scaffolds, extends and verifies local-first JavaScript and TypeScript apps built on TinyBase, from create-tinybase through persistence and sync.

MITAuto-check passedDevelopment

Install Build with TinyBase

skills CLI
$ npx skills add tinyplex/tinybase --skill build-with-tinybase -a claude-code

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

GitHub CLI
$ gh skill install tinyplex/tinybase build-with-tinybase --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/tinyplex/tinybase.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/build-with-tinybase .claude/skills/build-with-tinybase && 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
build-with-tinybase
GitHub stars
5.2k
Token cost
~1.6k tokens
SKILL.md length
595 words
Files
6 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Scaffolds, extends and verifies local-first JavaScript and TypeScript apps built on TinyBase, from create-tinybase through persistence and sync.

  • Works in 6 steps: Read the generated AGENTS.md and… → Inspect the primary Store file before… → Install dependencies only when… → …
  • Creating a new local-first app with create-tinybase
  • SKILL.md covers Read The References, Select The Architecture, Scaffold A New Application and Extend An Existing Application, plus 2 more sections
  • Calls npm

What it does

The skill makes the agent read the matching reference before writing TinyBase code, instead of recalling the API from memory, and prefer a freshly generated application over reconstructing the setup. Four references cover architecture (Store versus MergeableStore, persistence backends, synchronization and UI bindings), import paths, the lifecycle of Persisters and Synchronizers including WebSocket paths and channel Ids, and Cloudflare Durable Object sync servers.

It first confirms that TinyBase fits the task: it keeps the active dataset in the JavaScript runtime for reactive tabular or key-value data, local-first behavior, persistence, synchronization and framework bindings, and it is not a hosted database. When the authoritative data is unbounded or mostly queried on a server, it should be paired with another database. New apps are scaffolded with npm create tinybase, after checking its options, and with automatic install and server start always turned off.

When your agent uses it

  • Creating a new local-first app with create-tinybase
  • Adding schemas, UI bindings or browser or database persistence to a TinyBase app
  • Setting up MergeableStore sync over WebSockets or a Cloudflare Durable Object
  • Fixing import paths or lifecycle problems in an existing TinyBase app

Example prompts

  • “Scaffold a TinyBase shopping list app with browser persistence and React bindings.”
  • “Set up MergeableStore synchronization over a Durable Object for my notes app.”
  • “Which import path do I need for a Persister that accepts a MergeableStore?”
  • “My TinyBase synchronizer stops working after a reconnect. Check the lifecycle ordering.”

Requirements

  • Node.js and npm, for create-tinybase

Workflow steps

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

  1. Read the generated AGENTS.md and README.md.
  2. Inspect the primary Store file before modifying application code.
  3. Install dependencies only when authorized and required.
  4. Make application-specific changes within the generated architecture.
  5. Run the generated client build.
  6. Run the server build when server code changed.

What it can do on your machine

Read from SKILL.md and the folder at commit 3938658. 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

    Shell commands in SKILL.md call:

    • npm

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

  • Network

    Links to these hosts (documentation or services it may open):

    • tinybase.org

    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

Build with TinyBase loads about 1.6k tokens when it runs, and up to ~8.5k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 595 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~120
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.5k

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 tinyplex/tinybase at commit 3938658, republished under its MIT licence (© tinyplex). 595 words, ~1,554 tokens.

Download SKILL.mdSave it as .claude/skills/build-with-tinybase/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
build-with-tinybase
description
Scaffold, extend, and verify reactive local-first JavaScript or TypeScript applications with TinyBase. Use when choosing TinyBase for in-memory tabular or key-value state, generating an app with create-tinybase, adding schemas or UI bindings, resolving TinyBase import paths, configuring browser or database persistence, configuring MergeableStore synchronization over WebSockets or Cloudflare Durable Objects, or diagnosing an existing TinyBase application.

Build With TinyBase

Prefer a current generated application over reconstructing TinyBase setup from memory. Preserve persistence and synchronization lifecycle ordering, and verify the behavior the user actually needs.

Read The References

Do not recall TinyBase API details from memory. Read the reference covering the task before writing code:

ReferenceRead it when
references/architecture.mdChoosing between Store and MergeableStore, a persistence backend, a synchronization approach, or UI bindings
references/import-paths.mdImporting anything outside the tinybase root, or checking which Persisters accept a MergeableStore
references/lifecycle.mdCreating, starting, reconnecting, or destroying a Persister or Synchronizer, or setting WebSocket paths and channel Ids
references/durable-objects.mdBuilding or debugging a Cloudflare Durable Object sync server

Select The Architecture

Read references/architecture.md when choosing between Store and MergeableStore, persistence backends, synchronization, or UI bindings.

Confirm that TinyBase fits the task:

  • Keep the active application dataset in a JavaScript runtime.
  • Use TinyBase for reactive tabular or key-value data, local-first behavior, persistence, synchronization, or framework bindings.
  • Do not present TinyBase as a hosted database service.
  • Pair it with another database or service when the authoritative dataset is unbounded, primarily queried on a server, or requires managed backend facilities.

Scaffold A New Application

Inspect the installed generator contract first:

sh
npm create tinybase@latest -- --list-options

Translate the user's requirements into explicit values. Generate unattended projects with every applicable option and always disable automatic installation and server startup:

sh
npm create tinybase@latest -- \
  --non-interactive \
  --projectName my-tinybase-app \
  --appType todos \
  --language typescript \
  --framework react \
  --tinyWidgets false \
  --schemas true \
  --syncType none \
  --persistenceType local-storage \
  --prettier true \
  --eslint true \
  --installAndRun false

Run the generator in the parent directory that should contain the new project. Do not overwrite an existing directory. After generation:

  1. Read the generated AGENTS.md and README.md.
  2. Inspect the primary Store file before modifying application code.
  3. Install dependencies only when authorized and required.
  4. Make application-specific changes within the generated architecture.
  5. Run the generated client build.
  6. Run the server build when server code changed.

Extend An Existing Application

Inspect package.json, TinyBase imports, Store creation, Persister setup, and Synchronizer setup before editing. Use documentation matching the installed TinyBase version. Start at https://tinybase.org/llms.txt or retrieve current TinyBase documentation through Context7 when available.

Keep these boundaries clear:

  • Store creation and schemas
  • persistence startup and teardown
  • synchronization startup and teardown
  • framework Provider or context wiring
  • application-specific data and UI

Reuse existing imports and patterns when they are current. Import integrations from their specific tinybase/... subpaths. Avoid adding a second source of truth in component state for data already owned by TinyBase.

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

Avoid These Errors

These account for most incorrect TinyBase code. Each is covered in detail by a reference above.

  • Passing a Store where a MergeableStore is required. Every Synchronizer, and every Durable Object Persister, requires createMergeableStore().
  • Importing an integration from tinybase instead of its own tinybase/persisters/..., tinybase/synchronizers/..., or tinybase/schematizers/... subpath.
  • Starting auto-saving before loading, which overwrites stored data with an empty Store. Use startAutoPersisting().
  • Forgetting await synchronizer.startSync() after await createWsSynchronizer(...), which resolves a Synchronizer that is not yet synchronizing.
  • Omitting destroy(), which leaks sockets and duplicates synchronization under React strict mode.
  • Confusing the WebSocket path with a channel Id. The path selects the room; the channel Id multiplexes several Stores over one socket, and is unsupported by WsServerDurableObject.
  • Inventing Durable Object APIs. The server surface is WsServerDurableObject and getWsServerDurableObjectFetch, and nothing else.

Verify The Outcome

Match verification to the requested behavior:

  • Run the project's build or type check after code changes.
  • For persistence, change data and perform a real reload or restart.
  • For synchronization, connect two clients to the same channel or room and confirm changes propagate in both directions.
  • Test reconnection when synchronization behavior changes.
  • Confirm schema rejection and inferred types when changing schemas.
  • Report any verification that could not be performed.

Do not treat compilation alone as proof of persistence or synchronization.

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

Files

SKILL.md and 5 other files (references) in skills/build-with-tinybase of tinyplex/tinybase.

  • SKILL.md
  • agents/openai.yaml
  • references/architecture.md
  • references/durable-objects.md
  • references/import-paths.md
  • references/lifecycle.md

Open the folder on GitHubat commit 3938658

Compare with similar skills

Build with TinyBase 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.

Build with TinyBase compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Build with TinyBase this skilltinyplex/tinybase5.2k—~1.6kAutomated safety check: PassMIT
JavaScript IO Effects With Sagasparalleldrive/aidd384—~587Automated safety check: PassMIT
React 19 Component Scaffolderpproenca/dot-skills214—~2kAutomated safety check: PassMIT
Javascript Typescript Typescript Scaffoldaiskillstore/marketplace4306 repos~2kAutomated safety check: NotesNone
Corvus Typescript Evaluatorcorvus-dotnet/Corvus.JsonSchema199—~1.3kAutomated safety check: PassApache-2.0
Workers Code Reviewtry-works/role-model117—~2.5kAutomated safety check: PassCustom licence

Similar skills

  • Teaches the saga pattern with call and put so network requests and side effects stay out of the logic and sagas can be tested without mocks.

    384 GitHub stars~587 tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Scaffolds React 19 / React 19.2 code in TypeScript — components, Server Component pages, client islands, form actions with useActionState, context providers, custom hooks, reducers, or document…

    214 GitHub stars~2k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • You are a TypeScript project architecture expert specializing in scaffolding production-ready Node.js and frontend applications.

    430 GitHub starsUsed in 6 repos~2k tokens
    DevelopmentAuto-check: notes
  • Corvus Typescript Evaluator

    corvus-dotnet/Corvus.JsonSchema

    Work on the TypeScript port of the V5 standalone schema evaluator (src-ts/corvus-json-schema, npm package @corvus-dotnet/json-schema): loader, compiler, JavaScript code generator, results collector…

    199 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Workers Code Review

    try-works/role-model

    Reviews Workers and Cloudflare Developer Platform code for type correctness, API usage, and configuration validity.

    117 GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Creating Docs Code Examples

    handsontable/handsontable

    Sets the rules for writing Handsontable documentation examples in JavaScript, TypeScript, React, Angular and Vue, with the imports, registration and licence key each needs.

    22k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed

Questions about Build with TinyBase

What does Build with TinyBase do?

Scaffolds, extends and verifies local-first JavaScript and TypeScript apps built on TinyBase, from create-tinybase through persistence and sync. The skill makes the agent read the matching reference before writing TinyBase code, instead of recalling the API from memory, and prefer a freshly generated application over reconstructing the setup. Four references cover architecture (Store versus MergeableStore, persistence backends, synchronization and UI bindings), import paths, the lifecycle of Persisters and Synchronizers including WebSocket paths and channel Ids, and Cloudflare Durable Object sync servers.

When should I use Build with TinyBase?

Build with TinyBase fits situations like: creating a new local-first app with create-tinybase; adding schemas, UI bindings or browser or database persistence to a TinyBase app; setting up MergeableStore sync over WebSockets or a Cloudflare Durable Object; fixing import paths or lifecycle problems in an existing TinyBase app.

How do I install Build with TinyBase in Claude Code?

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

How do I install Build with TinyBase in Codex?

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

Can I use Build with TinyBase 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 tinyplex/tinybase --skill build-with-tinybase -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-with-tinybase, .gemini/skills/build-with-tinybase, .github/skills/build-with-tinybase and .opencode/skills/build-with-tinybase in your project.

What does Build with TinyBase need to run?

Going by SKILL.md and its folder, Build with TinyBase needs the command-line tools its instructions call (npm). Our summary lists: Node.js and npm, for create-tinybase.

Does Build with TinyBase access the network?

SKILL.md names 1 domain. As links in the text: tinybase.org. This is read from the text; nothing was executed.

Is Build with TinyBase 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 Build with TinyBase use?

Build with TinyBase 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 Build with TinyBase use?

About 1.6k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.9k tokens, read only when the agent opens those files.

What are the alternatives to Build with TinyBase?

Skills that share tags, products or a category with Build with TinyBase: JavaScript IO Effects With Sagas (paralleldrive/aidd, 384 stars), React 19 Component Scaffolder (pproenca/dot-skills, 214 stars), Javascript Typescript Typescript Scaffold (aiskillstore/marketplace, 430 stars) and Corvus Typescript Evaluator (corvus-dotnet/Corvus.JsonSchema, 199 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Build with TinyBase?

tinyplex (a GitHub organization) maintains it in tinyplex/tinybase, which has 5,186 GitHub stars. The repository was last updated on September 29, 2026.

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