/create-plugin-scaffold
Create a new Cursor plugin scaffold with a valid manifest, component directories, and marketplace wiring. Use when starting a new plugin or adding a plugin to a multi-plugin repository.
$ npx -y skills add cursor/plugins --skill create-plugin-scaffold --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/create-plugin-scaffold
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create a new Cursor plugin scaffold with a valid manifest, component directories, and marketplace wiring. Use when starting a new plugin or adding a plugin to a multi-plugin repository.
SKILL.md
create-plugin-scaffold.SKILL.mdname: create-plugin-scaffold
description: Create a new Cursor plugin scaffold with a valid manifest, component directories, and marketplace wiring. Use when starting a new plugin or adding a plugin to a multi-plugin repository.
Create plugin scaffold
Trigger
You need to create a new Cursor plugin from scratch and make it ready for local use or marketplace submission.
Required Inputs
- Plugin name (lowercase kebab-case)
- Plugin purpose and target users
- Component set to include (`rules`, `skills`, `agents`, `commands`, `hooks`, `mcpServers`)
- Repository style (`single-plugin` or `multi-plugin marketplace`)
Output Location
By default, create the plugin inside the user's local plugin directory:
~/.cursor/plugins/local/<plugin-name>/
This path makes the plugin immediately available to Cursor without any install step. If the user explicitly asks to create the plugin elsewhere (e.g. inside an existing repo or a specific directory), respect that choice instead.
Workflow
1. Validate plugin name format: lowercase kebab-case, starts and ends with an alphanumeric character. 2. Determine the target directory:
- Default: `~/.cursor/plugins/local/<plugin-name>/`
- Override: use the path the user specifies, if any.
- Create the directory (and parents) if it does not exist.
3. Create base files inside the target directory:
- `.cursor-plugin/plugin.json`
- `README.md`
- `LICENSE`
- optional `CHANGELOG.md`
4. Populate `plugin.json`:
- Required: `name`
- Recommended: `version`, `description`, `author`, `license`, `keywords`
- Add explicit component paths only when non-default discovery is needed.
5. Create component files with valid frontmatter:
- Rules: `.mdc` with `description`, `alwaysApply`, optional `globs`
- Skills: `skills/<skill-name>/SKILL.md` with `name`, `description`
- Agents: `agents/*.md` with `name`, `description`
- Commands: `commands/*.(md|txt)` with `name`, `description`
6. If repository uses `.cursor-plugin/marketplace.json`, add plugin entry:
- `name`
- `source`
- optional metadata (`description`, `keywords`, `category`, `tags`)
7. Ensure all manifest paths are relative, valid, and do not use absolute paths or parent traversal.
Guardrails
- Keep the plugin focused on one use case.
- Prefer concise, actionable skill and rule text over long prose.
- Do not reference files that do not exist.
- Use folder discovery defaults unless custom paths are required.
- Always save to `~/.cursor/plugins/local/<plugin-name>/` unless the user provides a different path.
Output
- Created file tree for the plugin (with full path to the output directory)
- Final `plugin.json`
- Marketplace entry (if applicable)
- Short validation report of required fields and component metadata
- Confirmation that the plugin is saved under `~/.cursor/plugins/local/` and ready for use
Read more
name: create-plugin-scaffold description: Create a new Cursor plugin scaffold with a valid manifest, component directories, and marketplace wiring. Use when starting a new plugin or adding a plugin to a multi-plugin repository.
Create plugin scaffold
Trigger
You need to create a new Cursor plugin from scratch and make it ready for local use or marketplace submission.
Required Inputs
- Plugin name (lowercase kebab-case)
- Plugin purpose and target users
- Component set to include (`rules`, `skills`, `agents`, `commands`, `hooks`, `mcpServers`)
- Repository style (`single-plugin` or `multi-plugin marketplace`)
Output Location
By default, create the plugin inside the user's local plugin directory:
~/.cursor/plugins/local/<plugin-name>/
This path makes the plugin immediately available to Cursor without any install step. If the user explicitly asks to create the plugin elsewhere (e.g. inside an existing repo or a specific directory), respect that choice instead.
Workflow
1. Validate plugin name format: lowercase kebab-case, starts and ends with an alphanumeric character. 2. Determine the target directory:
- Default: `~/.cursor/plugins/local/<plugin-name>/`
- Override: use the path the user specifies, if any.
- Create the directory (and parents) if it does not exist.
3. Create base files inside the target directory:
- `.cursor-plugin/plugin.json`
- `README.md`
- `LICENSE`
- optional `CHANGELOG.md`
4. Populate `plugin.json`:
- Required: `name`
- Recommended: `version`, `description`, `author`, `license`, `keywords`
- Add explicit component paths only when non-default discovery is needed.
5. Create component files with valid frontmatter:
- Rules: `.mdc` with `description`, `alwaysApply`, optional `globs`
- Skills: `skills/<skill-name>/SKILL.md` with `name`, `description`
- Agents: `agents/*.md` with `name`, `description`
- Commands: `commands/*.(md|txt)` with `name`, `description`
6. If repository uses `.cursor-plugin/marketplace.json`, add plugin entry:
- `name`
- `source`
- optional metadata (`description`, `keywords`, `category`, `tags`)
7. Ensure all manifest paths are relative, valid, and do not use absolute paths or parent traversal.
Guardrails
- Keep the plugin focused on one use case.
- Prefer concise, actionable skill and rule text over long prose.
- Do not reference files that do not exist.
- Use folder discovery defaults unless custom paths are required.
- Always save to `~/.cursor/plugins/local/<plugin-name>/` unless the user provides a different path.
Output
- Created file tree for the plugin (with full path to the output directory)
- Final `plugin.json`
- Marketplace entry (if applicable)
- Short validation report of required fields and component metadata
- Confirmation that the plugin is saved under `~/.cursor/plugins/local/` and ready for use
Official Cursor plugins for popular developer tools, frameworks, and SaaS products. Each plugin is a standalone directory at the repository root with its own .cursor-plugin/plugin.json manifest.
Repo: cursor/plugins
Other skills on cursor-plugins.
- /check-agent-compatibility
Run the full repository compatibility pass: scanner score, startup path, validation loop, and docs reliability.
Open skill - /cli-for-agents
Designs or reviews CLIs so coding agents can run them reliably: non-interactive flags, layered --help with examples, stdin/pipelines, fast actionable errors, idempotency, dry-run, and predictable structure. Use when building a CLI, adding commands, writing --help, or when the
Open skill - /continual-learning
Orchestrate continual learning by delegating transcript mining and AGENTS.md updates to `agents-memory-updater`.
Open skill - /review-plugin-submission
Audit a Cursor plugin for marketplace readiness. Use when validating manifests, component metadata, discovery paths, and submission quality before publishing.
Open skill - /cursor-sdk
Guide users building apps, scripts, CI pipelines, or automations on top of the Cursor TypeScript SDK (`@cursor/sdk`). Use this skill whenever the user mentions integrating, installing, or writing code against the Cursor SDK; whenever they say `Agent.create`, `Agent.prompt`,
Open skill - /check-compiler-errors
Run compile and type-check commands and report failures
Open skill

