Provision a Database
Spin up D1, R2, KV, Vectorize, Hyperdrive, Supabase, or Neon — and wire the binding/connection string.
Overview
Wraps provision-database/SKILL.md + the provision-db tool. Picks the right database for the access pattern (D1 for SQL on CF, KV for hot key/value, Vectorize for embeddings, R2 for blobs, Hyperdrive for external Postgres pooling, Supabase for auth + Postgres + Storage, Neon for serverless Postgres). Provisions via wrangler or the provider's API and prints the binding stanza (for CF) or connection string (for external) ready to paste into wrangler.toml or .env.
When to use this
- user wants a database for a new app
- user says 'I need a DB' / 'add auth/users' / 'store X persistently'
- user wants to add embeddings/vector search to an app
When NOT to use this
- user already has a DB and wants to query it → use shell_exec with the right CLI
- user wants to migrate between providers → that's a separate workflow, not provisioning
Example prompts
Inputs and output
Inputs
| Field | Description |
|---|---|
type | d1 | r2 | kv | vectorize | hyperdrive | supabase | neon |
name | resource name |
Output
Binding stanza (wrangler.toml format) or connection string (for external DBs).
Runtime profile
What the engine commits when this skill runs.
| Property | Value | Meaning |
|---|---|---|
| Model tier | sonnet | The balanced default model class. Trades quality against cost for the vast majority of skill runs. |
| Cost class | cheap | A small, fast model. Cents per invocation. |
| Turn budget | 6 | Hard cap on tool-calling iterations before the engine forces a final answer. |
| Execution | synchronous | Runs inside the live turn; result lands in the same response. |
Under the hood
Tools the engine exposes to this skill and integrations it needs.
| Resource | Kind |
|---|---|
shell_exec | tool |
Tags: engineering, database, infrastructure
Execution template
Shell tools dispatch via a command template. The model substitutes user inputs into the placeholders before firing the underlying tool.
Invoking this from an agent
Three paths reach this skill. From the chat UI, a user can type the persona slash command followed by a natural request and the discovery step resolves to this skill automatically. From the MCP server, fetch the skill detail with get_skill({id: "provision-database"}) and then invoke it through the agent runtime once the authenticated tier ships. From your own code, hit /docs/skills/provision-database/llm.txt for the token-efficient markdown body and feed it to your model directly.
Accept: text/markdown. The full machine-readable catalog lives at /.well-known/agent-skills/index.json.