/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.
Claude Code
$ npx -y skills add cursor/plugins --skill create-plugin-scaffold --agent claude-code
Codex
$ npx skills add cursor/plugins --skill create-plugin-scaffold -a codex -y
Cursor
$ npx skills add cursor/plugins --skill create-plugin-scaffold -a cursor -y
Gemini CLI
$ npx skills add cursor/plugins --skill create-plugin-scaffold -a gemini-cli -y
GitHub Copilot
$ npx skills add cursor/plugins --skill create-plugin-scaffold -a github-copilot -y
OpenCode
$ npx skills add cursor/plugins --skill create-plugin-scaffold -a opencode -y
Windsurf
$ npx skills add cursor/plugins --skill create-plugin-scaffold -a windsurf -y
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.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about create-plugin-scaffold.
- Which coding agents can use create-plugin-scaffold?
- create-plugin-scaffold installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

