cursor-extensions-and-plugins
Skill5 starsChanged yesterdayMITView on GitHub
Extend Cursor without MCP. Real UI extension path: VS Code extensions (webview panels, views, commands, status bar) published to Open VSX, because Cursor is a VS Code fork. Agent customization path: Cursor Plugins (.cursor-plugin/plugin.json with rules, skills, agents, commands, hooks) and skills. Also explains that Canvas is an agent-made artifact, not a mod system. Use when the user wants to build, test, publish or share a Cursor extension or plugin, or asks whether Cursor has a mod or UI mechanism and whether it needs MCP.
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 85
Never put an Open VSX token in the repo or logs.
- Distinctive: line 87
Do not publish to Open VSX, submit to a marketplace, tag or push without the user's explicit go-ahead this turn.
- Distinctive: line 88
Do not claim a canvas authoring API exists.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cursor: extensions, plugins and skills (no MCP required)
Which mechanism matches a "mod"?
Claude Desktop mods change the app's own UI. Cursor has no first-party equivalent today; revisit when it ships one. Until then, match by intent:
| Goal | Right mechanism | MCP? | Reference |
| New panel, sidebar view, command, status bar item, editor UI | VS Code extension (Cursor is a Code OSS fork), published to Open VSX | No | references/vscode-extensions.md |
| Teach the agent: rules, skills, hooks, subagents, commands | Cursor Plugin or plain skills and rules | No | references/plugins.md |
| Interactive report or dashboard from the agent | Canvas (agent-made artifact; package as a skill) | No | references/canvas.md |
| Agent calls an external system | MCP server | Yes (only this) |
Canvas is not a mod. It is an artifact the agent builds next to the chat. Its docs describe no authoring API, no component registration and no way to alter Cursor itself. Treat community claims about .canvas.tsx files and a cursor/canvas import as unverified.
Unofficial CSS/JS injection hacks for Cursor's workbench exist. They are unsupported, break on updates and are out of scope. Do not recommend them as a standard path.
Extensions in short
- Cursor installs third-party extensions from Open VSX through Cursor's proxy (
marketplace.cursorapi.com), which runs malware and supply-chain analysis. It does not use the Microsoft Marketplace. - To reach Cursor users, publish the same
.vsixto Open VSX (ovsx publish). Publishing only to the Microsoft Marketplace leaves Cursor users to sideload. - Users can always install a
.vsixby hand. - Stick to the open VS Code API. Microsoft-proprietary APIs and backends may not work.
- Teams may restrict installs by allowlist, signature verification and install cooldown. Publisher verification is available by request.
Full workflow, testing and publishing: references/vscode-extensions.md.
Skills (packaging for agent behavior)
- Loaded from
.agents/skills/,.cursor/skills/,~/.agents/skills/,~/.cursor/skills/, and for compatibility.claude/skills/,.codex/skills/and their~/forms. nameanddescriptionare required;namemust equal the folder name.- Built-in helpers:
/canvas,/create-skill,/create-rule,/create-hook,/create-subagent.
Plugins
Two formats. Details: references/plugins.md.
| Format | Manifest | Carries |
| Agent Plugins | root plugin.json, $schema agent-plugins.org | Skills and MCP servers only |
| Cursor Plugins | .cursor-plugin/plugin.json (name required) | Rules (.mdc), skills, agents, commands, hooks, MCP, variables |
A path in the manifest replaces the default folder; it does not add to it.
Workflow
- Pick the row in the table above. Do not add MCP for a panel.
- Extension: scaffold, build, test in the Extension Development Host or sideload the
.vsixin Cursor, then publish to Open VSX. - Plugin: author under
.cursor-plugin/, test from~/.cursor/plugins/local/<name>after a window reload. - Team sharing: Dashboard, Plugins and MCPs, Import from Repo.
- Public plugin listing:
https://cursor.com/marketplace/publish(manual review, open source).
Safety
- Extensions run with full user privileges. Request minimal activation events and capabilities, keep webview content security policy strict, and never ship secrets in a
.vsix, manifest, rule, skill or canvas. - Never put an Open VSX token in the repo or logs.
- Review hooks as code: they run commands on the user's machine.
- Do not publish to Open VSX, submit to a marketplace, tag or push without the user's explicit go-ahead this turn.
- Do not claim a canvas authoring API exists.
Checklist
- Right mechanism chosen from the table.
- Extension
publisher.nameis unique on Open VSX; namespace claimed. - Extension tested in Cursor itself, not only VS Code.
- Plugin
namelowercase kebab-case; manifest paths start with./and stay inside the plugin. ${CURSOR_PLUGIN_ROOT}used inmcp.json, not${PLUGIN_ROOT}.
Anti-patterns
- Calling Canvas a mod or an extension API.
- Adding MCP just to get a panel.
- Publishing only to the Microsoft Marketplace and expecting Cursor discovery.
- Declaring a custom
skillspath and forgetting it replacesskills/.
Pointers
| Need | Where |
| VS Code extension build, test, Open VSX publish | references/vscode-extensions.md |
| Plugin manifest, discovery, hooks, variables, marketplaces | references/plugins.md |
| Canvas workflows packaged as skills | references/canvas.md |
In this repository30 other files it gives its agents.
- docs/agents.mdAGENTS.md
- website/AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/claude-desktop-skills.mdcCursor rule
- .cursor/rules/claude-mod.mdcCursor rule
- .cursor/rules/codex-desktop-skills.mdcCursor rule
- .cursor/rules/desktop-and-publishing-skills.mdcCursor rule
- .cursor/rules/release.mdcCursor rule
- claude-code-mods-guideSkill
- claude-desktop-extensionsSkill
- claude-desktop-modsSkill
- claude-desktop-pluginsSkill
- codex-desktop-extensionsSkill
- codex-desktop-pluginsSkill
- codex-desktop-skillsSkill
- copilot-desktop-extensionsSkill
- opencode-pluginsSkill
- publishing-mental-to-storesSkill
- claude-code-mods-guideSkill
- claude-desktop-extensionsSkill
- claude-desktop-modsSkill
- claude-desktop-pluginsSkill
- codex-desktop-extensionsSkill
- codex-desktop-pluginsSkill
- codex-desktop-skillsSkill
- copilot-desktop-extensionsSkill
- cursor-extensions-and-pluginsSkill
- opencode-pluginsSkill
- publishing-mental-to-storesSkill
- mental-setupSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

