# ExtraOrbital skills

> Agent Skills that make a coding agent provision what a project needs (databases, caches, buckets, vector indexes, AI gateway keys, Stripe test keys, secrets) with one command instead of asking a human to sign up somewhere.

## Install

- Any agent with the skills CLI: `npx skills add https://extraorbital.dev --skill extraorbital` (`--skill '*'` for every skill below)
- Claude Code: `/plugin marketplace add extraorbital/skills`, then `/plugin install extraorbital@extraorbital` (`extraorbital-recipes@extraorbital` for the framework recipes)
- By hand: download each file of a skill into `<skills dir>/<name>/`, e.g. `~/.claude/skills/`, `.agents/skills/` (Codex, Cursor, Gemini CLI, Copilot), `.windsurf/skills/`
- Or paste [this prompt](https://extraorbital.dev/prompt.md) into the agent and let it install itself

## Main skill

- [extraorbital](https://extraorbital.dev/skills/extraorbital/SKILL.md): Provisions real infrastructure for the current project from the terminal, with no signup, card or dashboard: MongoDB and Postgres databases, Redis (cache, sessions, rate limits, job queues), S3/R2/B2 buckets for file uploads, vector indexes for embeddings and RAG, one AI gateway key for OpenAI, Anthropic, Gemini and 400+ other models, Stripe test keys, git remotes, speech-to-text, realtime rooms, auth clients, and locally generated secrets such as AUTH_SECRET, BETTER_AUTH_SECRET, JWT keys and SESSION_SECRET. Use it whenever a project needs a new database, cache, bucket, queue, vector store, LLM or OpenAI/Anthropic API key, payments sandbox, git remote or secret; whenever env vars are missing, empty or placeholders in .env or .env.local, or .env.example lists values nobody filled in; and before asking the user to sign up for a provider or paste a key. One command: npx extraorbital provision .
  - [references/resources.md](https://extraorbital.dev/skills/extraorbital/references/resources.md)

## Framework recipes

One per resource and framework, generated from the service registry.

- [ai-gateway-django](https://extraorbital.dev/skills/ai-gateway-django/SKILL.md): Provisions one OpenAI-compatible API key that reaches every major model (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek…) for a Django app with `npx extraorbital add ai` (no signup, no card) and wires it into Django with `openai`. Use when a Django project needs AI Gateway, an LLM, an OpenAI API key, an Anthropic API key, a Gemini key, OPENAI_API_KEY, ANTHROPIC_API_KEY or OpenRouter, or when OPENROUTER_API_KEY is missing or unset in .env.
- [ai-gateway-express](https://extraorbital.dev/skills/ai-gateway-express/SKILL.md): Provisions one OpenAI-compatible API key that reaches every major model (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek…) for a Express app with `npx extraorbital add ai` (no signup, no card) and wires it into Express with `openai`. Use when a Express project needs AI Gateway, an LLM, an OpenAI API key, an Anthropic API key, a Gemini key, OPENAI_API_KEY, ANTHROPIC_API_KEY or OpenRouter, or when OPENROUTER_API_KEY is missing or unset in .env.
- [ai-gateway-fastapi](https://extraorbital.dev/skills/ai-gateway-fastapi/SKILL.md): Provisions one OpenAI-compatible API key that reaches every major model (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek…) for a FastAPI app with `npx extraorbital add ai` (no signup, no card) and wires it into FastAPI with `openai`. Use when a FastAPI project needs AI Gateway, an LLM, an OpenAI API key, an Anthropic API key, a Gemini key, OPENAI_API_KEY, ANTHROPIC_API_KEY or OpenRouter, or when OPENROUTER_API_KEY is missing or unset in .env.
- [ai-gateway-nextjs](https://extraorbital.dev/skills/ai-gateway-nextjs/SKILL.md): Provisions one OpenAI-compatible API key that reaches every major model (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek…) for a Next.js app with `npx extraorbital add ai` (no signup, no card) and wires it into Next.js with `openai`. Use when a Next.js project needs AI Gateway, an LLM, an OpenAI API key, an Anthropic API key, a Gemini key, OPENAI_API_KEY, ANTHROPIC_API_KEY or OpenRouter, or when OPENROUTER_API_KEY is missing or unset in .env.
- [ai-gateway-nuxt](https://extraorbital.dev/skills/ai-gateway-nuxt/SKILL.md): Provisions one OpenAI-compatible API key that reaches every major model (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek…) for a Nuxt app with `npx extraorbital add ai` (no signup, no card) and wires it into Nuxt with `openai`. Use when a Nuxt project needs AI Gateway, an LLM, an OpenAI API key, an Anthropic API key, a Gemini key, OPENAI_API_KEY, ANTHROPIC_API_KEY or OpenRouter, or when OPENROUTER_API_KEY is missing or unset in .env.
- [ai-gateway-sveltekit](https://extraorbital.dev/skills/ai-gateway-sveltekit/SKILL.md): Provisions one OpenAI-compatible API key that reaches every major model (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek…) for a SvelteKit app with `npx extraorbital add ai` (no signup, no card) and wires it into SvelteKit with `openai`. Use when a SvelteKit project needs AI Gateway, an LLM, an OpenAI API key, an Anthropic API key, a Gemini key, OPENAI_API_KEY, ANTHROPIC_API_KEY or OpenRouter, or when OPENROUTER_API_KEY is missing or unset in .env.
- [deepgram-django](https://extraorbital.dev/skills/deepgram-django/SKILL.md): Provisions Deepgram speech-to-text with speaker diarization, through short-lived tokens for a Django app with `npx extraorbital add deepgram` (no signup, no card) and wires it into Django with `httpx`. Use when a Django project needs Speech-to-text (Deepgram), transcription, speech recognition, voice, diarization or audio, or when DEEPGRAM_BASE_URL is missing or unset in .env.
- [deepgram-express](https://extraorbital.dev/skills/deepgram-express/SKILL.md): Provisions Deepgram speech-to-text with speaker diarization, through short-lived tokens for a Express app with `npx extraorbital add deepgram` (no signup, no card) and wires it into Express with `fetch`. Use when a Express project needs Speech-to-text (Deepgram), transcription, speech recognition, voice, diarization or audio, or when DEEPGRAM_BASE_URL is missing or unset in .env.
- [deepgram-fastapi](https://extraorbital.dev/skills/deepgram-fastapi/SKILL.md): Provisions Deepgram speech-to-text with speaker diarization, through short-lived tokens for a FastAPI app with `npx extraorbital add deepgram` (no signup, no card) and wires it into FastAPI with `httpx`. Use when a FastAPI project needs Speech-to-text (Deepgram), transcription, speech recognition, voice, diarization or audio, or when DEEPGRAM_BASE_URL is missing or unset in .env.
- [deepgram-nextjs](https://extraorbital.dev/skills/deepgram-nextjs/SKILL.md): Provisions Deepgram speech-to-text with speaker diarization, through short-lived tokens for a Next.js app with `npx extraorbital add deepgram` (no signup, no card) and wires it into Next.js with `fetch`. Use when a Next.js project needs Speech-to-text (Deepgram), transcription, speech recognition, voice, diarization or audio, or when DEEPGRAM_BASE_URL is missing or unset in .env.
- [deepgram-nuxt](https://extraorbital.dev/skills/deepgram-nuxt/SKILL.md): Provisions Deepgram speech-to-text with speaker diarization, through short-lived tokens for a Nuxt app with `npx extraorbital add deepgram` (no signup, no card) and wires it into Nuxt with `fetch`. Use when a Nuxt project needs Speech-to-text (Deepgram), transcription, speech recognition, voice, diarization or audio, or when DEEPGRAM_BASE_URL is missing or unset in .env.
- [deepgram-sveltekit](https://extraorbital.dev/skills/deepgram-sveltekit/SKILL.md): Provisions Deepgram speech-to-text with speaker diarization, through short-lived tokens for a SvelteKit app with `npx extraorbital add deepgram` (no signup, no card) and wires it into SvelteKit with `fetch`. Use when a SvelteKit project needs Speech-to-text (Deepgram), transcription, speech recognition, voice, diarization or audio, or when DEEPGRAM_BASE_URL is missing or unset in .env.
- [mongodb-django](https://extraorbital.dev/skills/mongodb-django/SKILL.md): Provisions a MongoDB database for a Django app with `npx extraorbital add mongodb` (no signup, no card) and wires it into Django with `pymongo`. Use when a Django project needs MongoDB, Mongo, a document database, MONGODB_URI or PyMongo, or when MONGODB_URI is missing or unset in .env.
- [mongodb-express](https://extraorbital.dev/skills/mongodb-express/SKILL.md): Provisions a MongoDB database for a Express app with `npx extraorbital add mongodb` (no signup, no card) and wires it into Express with `mongodb`. Use when a Express project needs MongoDB, Mongo, a document database, MONGODB_URI or Mongoose, or when MONGODB_URI is missing or unset in .env.
- [mongodb-fastapi](https://extraorbital.dev/skills/mongodb-fastapi/SKILL.md): Provisions a MongoDB database for a FastAPI app with `npx extraorbital add mongodb` (no signup, no card) and wires it into FastAPI with `pymongo`. Use when a FastAPI project needs MongoDB, Mongo, a document database, MONGODB_URI or PyMongo, or when MONGODB_URI is missing or unset in .env.
- [mongodb-nextjs](https://extraorbital.dev/skills/mongodb-nextjs/SKILL.md): Provisions a MongoDB database for a Next.js app with `npx extraorbital add mongodb` (no signup, no card) and wires it into Next.js with `mongodb`. Use when a Next.js project needs MongoDB, Mongo, a document database, MONGODB_URI or Mongoose, or when MONGODB_URI is missing or unset in .env.
- [mongodb-nuxt](https://extraorbital.dev/skills/mongodb-nuxt/SKILL.md): Provisions a MongoDB database for a Nuxt app with `npx extraorbital add mongodb` (no signup, no card) and wires it into Nuxt with `mongodb`. Use when a Nuxt project needs MongoDB, Mongo, a document database, MONGODB_URI or Mongoose, or when MONGODB_URI is missing or unset in .env.
- [mongodb-sveltekit](https://extraorbital.dev/skills/mongodb-sveltekit/SKILL.md): Provisions a MongoDB database for a SvelteKit app with `npx extraorbital add mongodb` (no signup, no card) and wires it into SvelteKit with `mongodb`. Use when a SvelteKit project needs MongoDB, Mongo, a document database, MONGODB_URI or Mongoose, or when MONGODB_URI is missing or unset in .env.
- [postgres-django](https://extraorbital.dev/skills/postgres-django/SKILL.md): Provisions a Postgres database (a Neon project of its own) for a Django app with `npx extraorbital add postgres` (no signup, no card) and wires it into Django with `dj-database-url` and `psycopg[binary]`. Use when a Django project needs Postgres, PostgreSQL, a SQL database, Neon, POSTGRES_URL, SQLAlchemy or psycopg, or when POSTGRES_URL_NON_POOLING is missing or unset in .env.
- [postgres-express](https://extraorbital.dev/skills/postgres-express/SKILL.md): Provisions a Postgres database (a Neon project of its own) for a Express app with `npx extraorbital add postgres` (no signup, no card) and wires it into Express with `@neondatabase/serverless`. Use when a Express project needs Postgres, PostgreSQL, a SQL database, Neon, POSTGRES_URL, Prisma or Drizzle, or when POSTGRES_URL is missing or unset in .env.
- [postgres-fastapi](https://extraorbital.dev/skills/postgres-fastapi/SKILL.md): Provisions a Postgres database (a Neon project of its own) for a FastAPI app with `npx extraorbital add postgres` (no signup, no card) and wires it into FastAPI with `psycopg[binary,pool]`. Use when a FastAPI project needs Postgres, PostgreSQL, a SQL database, Neon, POSTGRES_URL, SQLAlchemy or psycopg, or when POSTGRES_URL is missing or unset in .env.
- [postgres-nextjs](https://extraorbital.dev/skills/postgres-nextjs/SKILL.md): Provisions a Postgres database (a Neon project of its own) for a Next.js app with `npx extraorbital add postgres` (no signup, no card) and wires it into Next.js with `@neondatabase/serverless`. Use when a Next.js project needs Postgres, PostgreSQL, a SQL database, Neon, POSTGRES_URL, Prisma or Drizzle, or when POSTGRES_URL is missing or unset in .env.
- [postgres-nuxt](https://extraorbital.dev/skills/postgres-nuxt/SKILL.md): Provisions a Postgres database (a Neon project of its own) for a Nuxt app with `npx extraorbital add postgres` (no signup, no card) and wires it into Nuxt with `@neondatabase/serverless`. Use when a Nuxt project needs Postgres, PostgreSQL, a SQL database, Neon, POSTGRES_URL, Prisma or Drizzle, or when POSTGRES_URL is missing or unset in .env.
- [postgres-sveltekit](https://extraorbital.dev/skills/postgres-sveltekit/SKILL.md): Provisions a Postgres database (a Neon project of its own) for a SvelteKit app with `npx extraorbital add postgres` (no signup, no card) and wires it into SvelteKit with `@neondatabase/serverless`. Use when a SvelteKit project needs Postgres, PostgreSQL, a SQL database, Neon, POSTGRES_URL, Prisma or Drizzle, or when POSTGRES_URL is missing or unset in .env.
- [redis-django](https://extraorbital.dev/skills/redis-django/SKILL.md): Provisions a Redis database (Upstash-compatible, REST and TCP) for a Django app with `npx extraorbital add redis` (no signup, no card) and wires it into Django with `redis`. Use when a Django project needs Redis, a cache, rate limiting, sessions, a job queue, Upstash, Valkey or REDIS_URL, or when REDIS_URL is missing or unset in .env.
- [redis-express](https://extraorbital.dev/skills/redis-express/SKILL.md): Provisions a Redis database (Upstash-compatible, REST and TCP) for a Express app with `npx extraorbital add redis` (no signup, no card) and wires it into Express with `@upstash/redis`. Use when a Express project needs Redis, a cache, rate limiting, sessions, a job queue, Upstash, Valkey or REDIS_URL, or when UPSTASH_REDIS_REST_URL is missing or unset in .env.
- [redis-fastapi](https://extraorbital.dev/skills/redis-fastapi/SKILL.md): Provisions a Redis database (Upstash-compatible, REST and TCP) for a FastAPI app with `npx extraorbital add redis` (no signup, no card) and wires it into FastAPI with `redis`. Use when a FastAPI project needs Redis, a cache, rate limiting, sessions, a job queue, Upstash, Valkey or REDIS_URL, or when REDIS_URL is missing or unset in .env.
- [redis-nextjs](https://extraorbital.dev/skills/redis-nextjs/SKILL.md): Provisions a Redis database (Upstash-compatible, REST and TCP) for a Next.js app with `npx extraorbital add redis` (no signup, no card) and wires it into Next.js with `@upstash/redis`. Use when a Next.js project needs Redis, a cache, rate limiting, sessions, a job queue, Upstash, Valkey or REDIS_URL, or when UPSTASH_REDIS_REST_URL is missing or unset in .env.
- [redis-nuxt](https://extraorbital.dev/skills/redis-nuxt/SKILL.md): Provisions a Redis database (Upstash-compatible, REST and TCP) for a Nuxt app with `npx extraorbital add redis` (no signup, no card) and wires it into Nuxt with `@upstash/redis`. Use when a Nuxt project needs Redis, a cache, rate limiting, sessions, a job queue, Upstash, Valkey or REDIS_URL, or when UPSTASH_REDIS_REST_URL is missing or unset in .env.
- [redis-sveltekit](https://extraorbital.dev/skills/redis-sveltekit/SKILL.md): Provisions a Redis database (Upstash-compatible, REST and TCP) for a SvelteKit app with `npx extraorbital add redis` (no signup, no card) and wires it into SvelteKit with `@upstash/redis`. Use when a SvelteKit project needs Redis, a cache, rate limiting, sessions, a job queue, Upstash, Valkey or REDIS_URL, or when UPSTASH_REDIS_REST_URL is missing or unset in .env.
- [s3-django](https://extraorbital.dev/skills/s3-django/SKILL.md): Provisions an S3 bucket with keys scoped to it for a Django app with `npx extraorbital add s3` (no signup, no card) and wires it into Django with `boto3`. Use when a Django project needs S3 storage, object storage, file uploads, a bucket, blob storage, R2, B2 or S3_BUCKET, or when S3_BUCKET is missing or unset in .env.
- [s3-express](https://extraorbital.dev/skills/s3-express/SKILL.md): Provisions an S3 bucket with keys scoped to it for a Express app with `npx extraorbital add s3` (no signup, no card) and wires it into Express with `@aws-sdk/client-s3`. Use when a Express project needs S3 storage, object storage, file uploads, a bucket, blob storage, R2, B2 or S3_BUCKET, or when S3_BUCKET is missing or unset in .env.
- [s3-fastapi](https://extraorbital.dev/skills/s3-fastapi/SKILL.md): Provisions an S3 bucket with keys scoped to it for a FastAPI app with `npx extraorbital add s3` (no signup, no card) and wires it into FastAPI with `boto3`. Use when a FastAPI project needs S3 storage, object storage, file uploads, a bucket, blob storage, R2, B2 or S3_BUCKET, or when S3_BUCKET is missing or unset in .env.
- [s3-nextjs](https://extraorbital.dev/skills/s3-nextjs/SKILL.md): Provisions an S3 bucket with keys scoped to it for a Next.js app with `npx extraorbital add s3` (no signup, no card) and wires it into Next.js with `@aws-sdk/client-s3`. Use when a Next.js project needs S3 storage, object storage, file uploads, a bucket, blob storage, R2, B2 or S3_BUCKET, or when S3_BUCKET is missing or unset in .env.
- [s3-nuxt](https://extraorbital.dev/skills/s3-nuxt/SKILL.md): Provisions an S3 bucket with keys scoped to it for a Nuxt app with `npx extraorbital add s3` (no signup, no card) and wires it into Nuxt with `@aws-sdk/client-s3`. Use when a Nuxt project needs S3 storage, object storage, file uploads, a bucket, blob storage, R2, B2 or S3_BUCKET, or when S3_BUCKET is missing or unset in .env.
- [s3-sveltekit](https://extraorbital.dev/skills/s3-sveltekit/SKILL.md): Provisions an S3 bucket with keys scoped to it for a SvelteKit app with `npx extraorbital add s3` (no signup, no card) and wires it into SvelteKit with `@aws-sdk/client-s3`. Use when a SvelteKit project needs S3 storage, object storage, file uploads, a bucket, blob storage, R2, B2 or S3_BUCKET, or when S3_BUCKET is missing or unset in .env.
- [stripe-django](https://extraorbital.dev/skills/stripe-django/SKILL.md): Provisions Stripe test-mode keys (a shared sandbox account, no signup) for a Django app with `npx extraorbital add stripe` (no signup, no card) and wires it into Django with `stripe`. Use when a Django project needs Stripe test keys, payments, checkout, subscriptions or STRIPE_SECRET_KEY, or when STRIPE_SECRET_KEY is missing or unset in .env.
- [stripe-express](https://extraorbital.dev/skills/stripe-express/SKILL.md): Provisions Stripe test-mode keys (a shared sandbox account, no signup) for a Express app with `npx extraorbital add stripe` (no signup, no card) and wires it into Express with `stripe`. Use when a Express project needs Stripe test keys, payments, checkout, subscriptions or STRIPE_SECRET_KEY, or when STRIPE_SECRET_KEY is missing or unset in .env.
- [stripe-fastapi](https://extraorbital.dev/skills/stripe-fastapi/SKILL.md): Provisions Stripe test-mode keys (a shared sandbox account, no signup) for a FastAPI app with `npx extraorbital add stripe` (no signup, no card) and wires it into FastAPI with `stripe`. Use when a FastAPI project needs Stripe test keys, payments, checkout, subscriptions or STRIPE_SECRET_KEY, or when STRIPE_SECRET_KEY is missing or unset in .env.
- [stripe-nextjs](https://extraorbital.dev/skills/stripe-nextjs/SKILL.md): Provisions Stripe test-mode keys (a shared sandbox account, no signup) for a Next.js app with `npx extraorbital add stripe` (no signup, no card) and wires it into Next.js with `stripe`. Use when a Next.js project needs Stripe test keys, payments, checkout, subscriptions or STRIPE_SECRET_KEY, or when STRIPE_SECRET_KEY is missing or unset in .env.
- [stripe-nuxt](https://extraorbital.dev/skills/stripe-nuxt/SKILL.md): Provisions Stripe test-mode keys (a shared sandbox account, no signup) for a Nuxt app with `npx extraorbital add stripe` (no signup, no card) and wires it into Nuxt with `stripe`. Use when a Nuxt project needs Stripe test keys, payments, checkout, subscriptions or STRIPE_SECRET_KEY, or when STRIPE_SECRET_KEY is missing or unset in .env.
- [stripe-sveltekit](https://extraorbital.dev/skills/stripe-sveltekit/SKILL.md): Provisions Stripe test-mode keys (a shared sandbox account, no signup) for a SvelteKit app with `npx extraorbital add stripe` (no signup, no card) and wires it into SvelteKit with `stripe`. Use when a SvelteKit project needs Stripe test keys, payments, checkout, subscriptions or STRIPE_SECRET_KEY, or when STRIPE_SECRET_KEY is missing or unset in .env.
- [vector-django](https://extraorbital.dev/skills/vector-django/SKILL.md): Provisions an Upstash Vector index for a Django app with `npx extraorbital add vector` (no signup, no card) and wires it into Django with `upstash-vector`. Use when a Django project needs Vector index, embeddings, semantic search, RAG, a vector database or UPSTASH_VECTOR_REST_URL, or when UPSTASH_VECTOR_REST_URL is missing or unset in .env.
- [vector-express](https://extraorbital.dev/skills/vector-express/SKILL.md): Provisions an Upstash Vector index for a Express app with `npx extraorbital add vector` (no signup, no card) and wires it into Express with `@upstash/vector`. Use when a Express project needs Vector index, embeddings, semantic search, RAG, a vector database or UPSTASH_VECTOR_REST_URL, or when UPSTASH_VECTOR_REST_URL is missing or unset in .env.
- [vector-fastapi](https://extraorbital.dev/skills/vector-fastapi/SKILL.md): Provisions an Upstash Vector index for a FastAPI app with `npx extraorbital add vector` (no signup, no card) and wires it into FastAPI with `upstash-vector`. Use when a FastAPI project needs Vector index, embeddings, semantic search, RAG, a vector database or UPSTASH_VECTOR_REST_URL, or when UPSTASH_VECTOR_REST_URL is missing or unset in .env.
- [vector-nextjs](https://extraorbital.dev/skills/vector-nextjs/SKILL.md): Provisions an Upstash Vector index for a Next.js app with `npx extraorbital add vector` (no signup, no card) and wires it into Next.js with `@upstash/vector`. Use when a Next.js project needs Vector index, embeddings, semantic search, RAG, a vector database or UPSTASH_VECTOR_REST_URL, or when UPSTASH_VECTOR_REST_URL is missing or unset in .env.
- [vector-nuxt](https://extraorbital.dev/skills/vector-nuxt/SKILL.md): Provisions an Upstash Vector index for a Nuxt app with `npx extraorbital add vector` (no signup, no card) and wires it into Nuxt with `@upstash/vector`. Use when a Nuxt project needs Vector index, embeddings, semantic search, RAG, a vector database or UPSTASH_VECTOR_REST_URL, or when UPSTASH_VECTOR_REST_URL is missing or unset in .env.
- [vector-sveltekit](https://extraorbital.dev/skills/vector-sveltekit/SKILL.md): Provisions an Upstash Vector index for a SvelteKit app with `npx extraorbital add vector` (no signup, no card) and wires it into SvelteKit with `@upstash/vector`. Use when a SvelteKit project needs Vector index, embeddings, semantic search, RAG, a vector database or UPSTASH_VECTOR_REST_URL, or when UPSTASH_VECTOR_REST_URL is missing or unset in .env.

---

[Skills docs](https://extraorbital.dev/docs/skills.md) · [llms.txt](https://extraorbital.dev/llms.txt) · [agents.md](https://extraorbital.dev/agents.md)
