Skip to content

Commit 8a62e60

Browse files
Point Cursor plugin at canonical harness paths instead of duplicating skills.
Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 6bc6f24 commit 8a62e60

107 files changed

Lines changed: 66 additions & 50565 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor-plugin/marketplace.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"plugins": [
1111
{
1212
"name": "impeccable",
13-
"source": "./plugin-cursor",
13+
"source": "./",
1414
"description": "Design fluency for frontend development. 1 skill with 23 commands (/impeccable polish, /impeccable audit, /impeccable critique, etc.) and curated anti-pattern detection.",
1515
"version": "3.8.0",
1616
"category": "design",
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,8 @@
1818
"skills",
1919
"hooks",
2020
"anti-patterns"
21-
]
21+
],
22+
"skills": "./.cursor/skills/",
23+
"agents": "./.claude/agents/",
24+
"hooks": "./.cursor/hooks.json"
2225
}

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,16 +115,16 @@ Codex users should open `/hooks` after install or update and approve the project
115115

116116
### Option 2: Cursor plugin (native)
117117

118-
Cursor users can install Impeccable as a native [Cursor plugin](https://cursor.com/docs/plugins) instead of copying skill folders. The plugin bundles the skill, its subagent, and a Cursor-native pre-write hook that blocks anti-pattern writes before they land.
118+
Cursor users can install Impeccable as a native [Cursor plugin](https://cursor.com/docs/plugins) instead of copying skill folders. The plugin reuses the same `.cursor/skills/` harness tree, `.claude/agents/` subagent, and `.cursor/hooks.json` pre-write gate already shipped in this repo. No duplicate payload.
119119

120-
To try it locally before it lands in the Cursor marketplace, copy the generated plugin into your local plugins directory and reload Cursor:
120+
To try it locally before it lands in the Cursor marketplace, symlink the repo into your local plugins directory and reload Cursor:
121121

122122
```bash
123-
cp -r plugin-cursor ~/.cursor/plugins/local/impeccable
123+
ln -sf "$(pwd)" ~/.cursor/plugins/local/impeccable
124124
# Restart Cursor, or run "Developer: Reload Window"
125125
```
126126

127-
Verify it loaded under **Customize** (skills, agents, and the hook should appear). The plugin is generated by the build from the same source as every other harness, so its version always matches the skill. Once published, it installs directly from the Cursor marketplace.
127+
Verify the skill, agent, and hook under **Customize**. The `.cursor-plugin/plugin.json` manifest is generated by the build and points at those canonical paths. Once published, it installs directly from the Cursor marketplace.
128128

129129
### Option 3: Git Submodule
130130

@@ -319,7 +319,7 @@ Installed hook surfaces:
319319

320320
- Claude Code: `.claude/settings.local.json` (gitignored, machine-local) runs `${CLAUDE_PROJECT_DIR}/.claude/skills/impeccable/scripts/hook.mjs`. A hook moved into the shared `settings.json` is honored in place.
321321
- GitHub Copilot: `.github/hooks/impeccable.json` (committed, shared by the Copilot CLI and the cloud agent) runs `.github/skills/impeccable/scripts/hook.mjs`. The Copilot CLI activates it once the file is on the repository's default branch and the folder is trusted.
322-
- Cursor: `.cursor/hooks.json` runs `.cursor/skills/impeccable/scripts/hook-before-edit.mjs`. Installed as a native Cursor plugin (Option 2 above), the same pre-write hook ships in the plugin's `hooks/hooks.json` and resolves against the bundled skill payload.
322+
- Cursor: `.cursor/hooks.json` runs `.cursor/skills/impeccable/scripts/hook-before-edit.mjs`. Installed as a native Cursor plugin (Option 2 above), the manifest points at the same `.cursor/hooks.json` and canonical `.cursor/skills/` tree.
323323
- Codex: `.codex/hooks.json` runs `.agents/skills/impeccable/scripts/hook.mjs`.
324324

325325
The installer preserves unrelated hook entries and settings. If a hook manifest is malformed, install/update aborts by default; rerun with `--force` to back up the malformed file as `.bak` and replace it.

plugin-cursor/README.md

Lines changed: 0 additions & 25 deletions
This file was deleted.

plugin-cursor/agents/impeccable-manual-edit-applier.md

Lines changed: 0 additions & 97 deletions
This file was deleted.

plugin-cursor/hooks/hooks.json

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)