Agent skills
Teach any coding agent to ask ExtraOrbital whenever a project needs a database, a bucket, a key or a secret.
AI/LLM: this page is available in plain markdown at /docs/skills.md
An Agent Skill is a folder with a SKILL.md that a coding agent
loads when the task in front of it matches the skill's description. ExtraOrbital publishes
one main skill, extraorbital, whose description names what projects keep asking for: a
MongoDB or Postgres database, Redis, a bucket, a vector index, an OpenAI or Anthropic key,
Stripe test keys, a git remote, a secret like AUTH_SECRET, an .env.example nobody filled
in. With it installed, the agent runs npx extraorbital provision . instead of stopping to
ask you to sign up for something.
What the main skill teaches
- Dry-run
provisionwhen the plan matters, then provision;add <resource>for one resource,add SESSION_SECRETfor a secret nothing issues. - Every command is idempotent and takes
--json, and each exit code means one thing to do next. - Credential values are never printed, logged or committed.
- A human is needed only when the free allowance runs out: the command prints a link, and the agent shows it to you and waits instead of retrying.
pushsends the variables to Vercel; the MCP server is there for agents that prefer tools.
The skill is short on purpose. The table of every service, its variables and its
allowance is a separate file it reads only when needed, references/resources.md.
Copy a prompt into any agent
Paste this into Claude Code, Codex, Cursor, Windsurf, Gemini CLI or any other coding
agent. It installs the skill where that agent keeps skills, optionally registers the
MCP server, then dry-runs provision on the open project and reports back. The same
text is at /prompt.md.
Set up ExtraOrbital for this project, then tell me what it would provision.
ExtraOrbital (https://extraorbital.dev) gives a project its databases, caches, buckets, vector indexes, AI gateway keys, Stripe test keys and generated secrets with one command: `npx extraorbital provision .`. No signup, no card, no human in the loop.
1. Install the `extraorbital` skill into your own skills directory, so you reach for it whenever a project needs a resource or has unfilled env vars.
- Preferred: `npx skills add https://extraorbital.dev --skill extraorbital -y` (add `-a <agent>`, e.g. `-a claude-code`, `-a codex`, `-a cursor`, if it installs for the wrong agent).
- Otherwise download https://extraorbital.dev/skills/extraorbital/SKILL.md and https://extraorbital.dev/skills/extraorbital/references/resources.md into `<skills dir>/extraorbital/`, keeping that layout. Usual skills directories: Claude Code `~/.claude/skills/` (or `.claude/skills/` in the project); Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Zed `.agents/skills/` in the project (Codex also `~/.agents/skills/`, Cursor `~/.cursor/skills/`, Gemini CLI `~/.gemini/skills/`); Windsurf `.windsurf/skills/`.
- If you have no skills directory, save SKILL.md as a rules or instructions file you always read (e.g. `.cursor/rules/extraorbital.md`, or a section of AGENTS.md).
2. Optional, if you support MCP: register the ExtraOrbital MCP server, locally as the stdio command `npx -y extraorbital mcp`, or remotely at https://extraorbital.dev/mcp.
3. In this project, run `npx extraorbital provision . --dry-run`. It creates nothing and writes nothing to the project (a first run only registers this machine's keypair): it lists the resources this project would get, the reason for each (a variable in .env.example, an unfilled line in .env, a name used in the source) and the secrets it would generate.
4. Report back: which skill directory you installed into, the dry-run plan, and anything that failed. Do not provision for real until I confirm. Never print credential values.
More: https://extraorbital.dev/llms.txt · https://extraorbital.dev/skills.mdInstall
The skills are published at
extraorbital.dev/skills.md and mirrored to the
extraorbital/skills repository.
Any agent, with the skills CLI
npx skills add https://extraorbital.dev --skill extraorbitalThe skills CLI reads
/.well-known/agent-skills/index.json, asks which of your agents to install into, and
copies the folder there. -g installs for your user instead of the project, -a codex
picks the agent, and --skill '*' takes the framework recipes too.
Claude Code
/plugin marketplace add extraorbital/skills
/plugin install extraorbital@extraorbitalextraorbital-recipes@extraorbital adds the framework recipes. Without plugins, copy the
folder into ~/.claude/skills/extraorbital/ or the project's .claude/skills/.
Codex, Cursor, Gemini CLI, Copilot and others
These read skills from .agents/skills/ in the project:
mkdir -p .agents/skills/extraorbital/references
curl -fsSL https://extraorbital.dev/skills/extraorbital/SKILL.md \
-o .agents/skills/extraorbital/SKILL.md
curl -fsSL https://extraorbital.dev/skills/extraorbital/references/resources.md \
-o .agents/skills/extraorbital/references/resources.mdFor every project at once, use the agent's own folder instead: ~/.agents/skills/ for
Codex, ~/.cursor/skills/ for Cursor, ~/.gemini/skills/ for Gemini CLI. Windsurf reads
.windsurf/skills/. An agent with no skills support can take SKILL.md as a rules file.
Claude.ai
Zip the extraorbital folder and upload it under Customize → Skills. The skill works
by running the CLI, which needs code execution with network access; in a chat app the
MCP server is usually the better fit.
Framework recipes
48 more skills, one per resource and framework, each with the client to install, a connection module in the framework's usual place, a route that exercises it, a way to verify it and the pitfalls. They are generated from the same service registry the CLI reads, so a variable name in a skill is always one the CLI writes.
Every skill with its description and install command: /skills.md.
How they stay current
The recipes are generated, not written: the variable names come from the same service registry the CLI and the API read, the framework conventions from one table, and a test fails when the committed skills differ from what the generator would write. A new service or framework is a change to that data, and every skill that mentions it follows.
/skills/<name>/SKILL.md serves each file as plain markdown, and
/skills.md lists them all.
Next
- MCP server: the same capabilities as tools, for chat apps and MCP clients
- Quickstart: what
provisionreads and writes - CLI reference: every command, flag and exit code