Create Plugin Scaffold

by cursorccb5507cec15No license10K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

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.

Instructions onlyAI & Agents
AI-generated overview

Scaffolds a new Cursor plugin with manifest, component files, and optional marketplace entry.

What it does
Guides the creation of a new Cursor plugin directory containing a plugin.json manifest, README, LICENSE, and optional CHANGELOG. It creates component files for rules, skills, agents, commands, hooks, or MCP servers with valid frontmatter, and adds a marketplace.json entry when the repository is a multi-plugin marketplace. It finishes with the created file tree, the final manifest, and a short validation report.
When to use it
Use when starting a new Cursor plugin from scratch, or when adding a plugin to an existing multi-plugin marketplace repository. It suits setups that need a valid manifest and component directory structure ready for local use or marketplace submission.
Requirements
No scripts are included; it is instructions only. It assumes a Cursor plugin environment with a local plugin directory and, for marketplace wiring, an existing marketplace.json.

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

Source and attribution

Source:cursor/pluginsincreate-plugin/skills/create-plugin-scaffoldat commitccb5507

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal