Skip to main content
Prisma Documentation Docs

Search documentation

Type to search this documentation.

On this pageOverview

skills

Use skills commands to keep a project's Prisma agent skills current. An agent skill is a directory with a SKILL.md: instructions that teach an AI coding agent (Claude Code, Cursor, Devin) how to use a library. Skills ship inside the Prisma npm packages your project installs, so they always describe the version in use. skills sync copies them into the directories the agent harnesses read.

bunx prisma skills sync
Bash
pnpm prisma skills sync
Bash
yarn prisma skills sync
Bash
npx prisma skills sync

Run init once to add a postinstall hook that reruns the sync on every install and upgrade.

Run init once to add a postinstall hook that reruns the sync on every install and upgrade.

Command Description
skills sync Copy the agent skills from installed Prisma packages into the project
skills list Show which Prisma agent skills are installed in the project

skills sync takes:

Option What it does
--disable Stop other commands reporting out-of-date skills in this project (stored in .prisma/skills.json)
--enable Undo --disable for this project

Sync resolves a fixed allowlist of Prisma packages by name, from the project root and each workspace member:

  • @prisma/orm-postgres
  • @prisma/orm-sqlite
  • @prisma/orm-mongo
  • @prisma/composer
  • prisma itself, which ships the prisma-platform-core-concepts skill

It never scans node_modules for skills. A skill is instructions an agent will follow, so installing one from an arbitrary transitive dependency would hand that dependency's author influence over your agent. Only packages you deliberately installed are sources. If two workspace members pin different versions of one package, the highest version wins and sync warns.

Sync writes one copy per configured agent harness:

Agent Directory
claude .claude/skills
cursor .cursor/skills
agents .agents/skills
devin .devin/skills

Without configuration, sync writes every directory, so a harness you adopt later finds the skills already there. Narrow the set with skills: { agents: [...] } in prisma.config.ts; see Configuration. The copies are ordinary files that git tracks: commit them so agents have the skills on a fresh clone.

Each copy carries the source package's version in its SKILL.md frontmatter. Sync compares that stamp against the installed package and re-copies on mismatch, and removes copies whose source package is no longer installed or whose agent is no longer named in skills.agents; agents: [] removes them all. A directory sync does not own, such as a hand-written skill whose name collides, is left intact and reported as refused. Sync does nothing, and exits 0, when everything is already current.

After a package upgrade that nobody follows with a sync, every prisma command appends one line to stderr (or, under --format markdown, a short section to stdout, shown below):

Prisma agent skills are out of date (installed @prisma/orm-postgres 8.1.0, synced 8.0.0). Run: prisma skills sync

The notice never changes the exit code. It is not conditioned on a TTY: agents run without one, and they are who it is for.

Under --format markdown the notice moves to stdout, after the command's output, so an agent still reads one stream:

### Notice

Prisma agent skills are out of date (installed @prisma/orm-postgres 8.1.0, synced 8.0.0).

- Sync agent skills: `prisma skills sync`

Every other format keeps it on stderr and writes nothing to stdout. It is suppressed by any of:

  1. prisma skills sync --disable (persistent, per project).
  2. skills: { check: false } in prisma.config.ts.
  3. The PRISMA_SKILLS_CHECK=0 environment variable.
  4. A CI or GITHUB_ACTIONS environment variable.
  5. The --quiet, --json, --format json, or --version flags on the current invocation.
  6. Running a skills or init command itself.
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu