Agent skills
Five Agent Skills that teach Claude Code, Codex, Cursor and other coding agents to build, deploy and operate apps on Runlot. They ship with the runlot CLI and create-runlot.
An Agent Skill is a folder with a SKILL.md file that a coding agent loads when a task matches its description. The Runlot skills tell an agent what a Runlot project is, which command to run for a task, what the bindings look like, and which limits change how code has to be written. They hold commands and code, not marketing; every runlot command and option they show is checked against the CLI in our test suite, so a skill cannot teach a command the CLI does not have.
The skills
| Skill | The agent loads it when |
|---|---|
runlot | A project has runlot.json, imports @runlot/*, or the task mentions Runlot. It explains projects, runlot.json, the bindings and the limits, and routes to the others |
runlot-deploy | Deploying, previews, rollback, custom domains, access control, CI with RUNLOT_TOKEN, or a deploy error such as a compatibilityDate refusal |
runlot-database | Writing SQL against env.db, @runlot/pg and ORMs, migrations, backups and restore, and database errors such as 57014 |
runlot-ai | Calling models with env.ai: structured output, the prompt cache, tools and toolMode: "return", agent frameworks, embeddings, usage and credit |
runlot-operate | Logs, Runlot Errors, runlot health, project limits and the spending limit, load testing with k6, and runlot bug-report when the fault looks like Runlot's |
Each skill is a short SKILL.md that routes to files in its references/ folder, so an agent reads only what the task needs.
Install them
A project made with npm create runlot@latest already has them. To add them to an existing project, run this in its root:
runlot skills addThat writes the skills where each agent looks for them:
| Agent | Directory |
|---|---|
| Claude Code | .claude/skills/ |
| Codex | .agents/skills/ |
| Cursor | .agents/skills/ (Cursor also reads .claude/skills/) |
Without --agent, both directories are written. To write only one agent's, pass --agent claude, --agent codex or --agent cursor.
runlot skills add --agent claude
runlot skills list # the skills this CLI carries, and whether this project has themCommit the directories, so everyone who opens the project gives their agent the same instructions. The skills are versioned with the CLI: after you update runlot, run runlot skills add again. It rewrites only the files that changed and reports a project that is already current.
To create a project without them:
npm create runlot@latest my-app -- --template hono --no-skillsRead them by URL
The same files are served from this site, for an agent that fetches instructions instead of reading them from the project:
/skills/runlot/SKILL.md/skills/runlot-deploy/SKILL.md/skills/runlot-database/SKILL.md/skills/runlot-ai/SKILL.md/skills/runlot-operate/SKILL.md
A reference is beside its skill, for example /skills/runlot-deploy/references/deploy-errors.md.
With the MCP server
The skills tell an agent what to do; the MCP server lets it do some of it through tools rather than the shell. They work together: install the skills, then add the server with runlot mcp install claude-code (or cursor).