Agent Skills
An AI assistant that has read Rebase’s documentation writes better Rebase code
than one guessing from the shape of the API. rebase skills install copies 21
Markdown skill files into your repository, in whatever layout your assistant
expects:
rebase skills installThe skills are reference material, not tools. They tell an assistant how collections are defined, why migrations are two steps, and which mistakes the framework will not catch for it. For tools that act on your data, see the MCP server.
Set up by rebase init
Section titled “Set up by rebase init”A new project does not need the command. rebase init asks
whether to set up your AI coding agents, then lists the ones it finds on the
machine:
? Set up Rebase skills and the Rebase MCP server for your AI coding agent(s)? Yes
Detecting installed AI coding agents... ✓ Claude Code — ~/.claude ✓ Gemini CLI / Antigravity — ~/.gemini ✗ Cursor — ~/.cursor (not found) ✗ Windsurf — ~/.codeium/windsurf (not found) ✗ Codex CLI — ~/.codex (not found) ✗ Kiro — ~/.kiro (not found) · GitHub Copilot — can't be detected; tick it below if you use itThe agents it found are pre-ticked. For each one you keep, it writes the skills
and registers the MCP server in that agent’s project config, all
before the project’s first commit. In CI, or with --yes, name them:
rebase init my-app --yes --agent claude,cursorAn existing project
Section titled “An existing project”rebase init refuses a directory that already holds a project, so a project
made before agent setup existed — or one whose author declined the prompt —
gets the same setup from rebase skills install --mcp: the skills, and the
MCP server registered in each agent’s project config. Servers
already in the file are kept, and a rerun leaves the Rebase entry as it is.
rebase skills install --agent cursor --mcpWithout --mcp the command writes only the skills, and names the agents whose
config does not have the server yet.
Which assistant
Section titled “Which assistant”The command takes --agent (or -a), repeatable and comma-separated:
rebase skills install --agent clauderebase skills install --agent claude,cursorrebase skills install --agent allSeven targets are supported — one for every pointer file rebase init writes:
--agent |
Assistant | Written to |
|---|---|---|
cursor |
Cursor | .cursor/rules/rebase.mdc + .cursor/rules/<skill>/SKILL.md |
claude |
Claude Code | .claude/skills/<skill>/SKILL.md |
windsurf |
Windsurf | .windsurf/rules/rebase.md + .windsurf/rules/<skill>/SKILL.md |
gemini |
Gemini CLI / Antigravity | .agents/skills/<skill>/SKILL.md |
codex |
Codex CLI | .agents/skills/<skill>/SKILL.md |
kiro |
Kiro | .kiro/steering/rebase.md + .kiro/steering/<skill>/SKILL.md |
copilot |
GitHub Copilot | .github/instructions/rebase.instructions.md + <skill>/SKILL.md |
gemini covers both Gemini CLI and Antigravity — they read the same
.agents/ directory, so there is no separate antigravity value. Codex reads
it too; naming both gemini and codex writes the directory once.
With no --agent, the command detects which assistants a project already uses by
looking for .cursor/, .claude/, .windsurf/, .agents/, .codex/ and
.kiro/. If it finds none it prompts you to choose, with the assistants installed
on the machine already ticked.
GitHub Copilot is never detected. Its directory would be .github/, and
.github/ is not evidence anyone uses Copilot: rebase init writes
.github/copilot-instructions.md into every scaffold, and most repositories have
a .github/ for workflows. Install it with --agent copilot.
Project-local, and meant to be committed
Section titled “Project-local, and meant to be committed”Skills are written relative to your project root — the nearest ancestor
containing rebase.json — not to your home directory and not to the current
working directory. Nothing is installed globally.
Commit them. They are part of the repo the same way a lint config is: every contributor’s assistant then works from the same understanding of the codebase, including contributors who never ran the command.
Re-run the command to update after a Rebase upgrade:
rebase skills install --agent allEach target directory holds a .rebase-skills.json manifest of what the
command wrote, so a re-run can tell an edit from an older release’s copy. Commit
it with the skills.
- A file nobody edited is replaced with the new release’s copy.
- A file you edited is kept, and the command lists it.
--forcereplaces it. - A skill a newer release no longer ships is removed, unless you edited it. Then it is kept and listed.
- Files the command never wrote are not touched.
Project-specific guidance still belongs in
ai-instructions.md, which is yours. An edited
skill stops receiving updates until you --force it.
The command also works outside a Rebase project, falling back to the working directory — useful for a separate frontend repo that talks to a Rebase backend.
The 21 skills
Section titled “The 21 skills”| Skill | Covers |
|---|---|
rebase-basics |
Core principles, workflow and maintenance — the entry point the others assume |
rebase-collections |
Defining collections, property types, validation, searchability |
rebase-backend-postgres |
The Postgres backend: setup, schema generation, migrations, pooling, read replicas |
rebase-api |
The generated REST API — endpoints, filtering, sorting, pagination |
rebase-sdk |
The generated TypeScript SDK: CRUD, filtering, search, auth, realtime, offline, storage |
rebase-auth |
Authentication, roles, RLS policies, MFA, API keys, OAuth, custom adapters |
rebase-security |
Access control, interception, fail-closed design, PII masking, tenant isolation |
rebase-realtime |
The WebSocket engine: sync, broadcast channels, presence, table change broadcasts |
rebase-storage |
S3/GCS/local storage, uploads, TUS resumable uploads, image transformations |
rebase-custom-functions |
Custom API endpoints via file-based function discovery |
rebase-cron-jobs |
Scheduling recurring background tasks |
rebase-webhooks |
Outbound HTTP webhooks, HMAC signatures, retry and backoff |
rebase-email |
SMTP, templates, custom providers, the rebase.email singleton |
rebase-entity-history |
Entity versioning, change tracking, audit logs, reverting |
rebase-admin |
Navigating the admin panel, side drawers, URLs, embedding collection panels |
rebase-ui-components |
The @rebasepro/ui component library |
rebase-design-language |
The UI design language: tokens, color, typography, spacing, anti-patterns |
rebase-studio |
The Studio developer tools layer — SQL, RLS, storage, cron, schema visualizer, logs |
rebase-cloud |
Deploying and operating on Rebase Cloud — projects, managed databases, env vars, domains, logs, rollbacks |
rebase-deployment |
Self-hosting: Docker, Kubernetes, AWS, GCP, Azure, Hetzner, Railway and Render |
rebase-local-env-setup |
First-time setup: Node.js, pnpm, PostgreSQL, Docker |
Two of these ask to be read unprompted. rebase-basics says it should be used
whenever an assistant touches Rebase at all, and rebase-design-language says an
agent must read it before creating or modifying any visual UI — that one exists
because generated UI drifts from a design system faster than anything else in a
codebase.
What a run looks like
Section titled “What a run looks like” Found 21 Rebase skills
✓ Claude Code — 21 skills installed (+ 8 reference files) to .claude/skillsSkills ship from the @rebasepro/agent-skills package, which the CLI depends on,
so the set you get matches your installed CLI version.