Skip to content

fix(cursor-plugin): point the rule and README at the skill that ships - #3177

Open
Matthew-Selvam wants to merge 1 commit into
upstash:masterfrom
Matthew-Selvam:fix/cursor-plugin-skill-name
Open

Matthew-Selvam wants to merge 1 commit into
upstash:masterfrom
Matthew-Selvam:fix/cursor-plugin-skill-name

Conversation

@Matthew-Selvam

Copy link
Copy Markdown

Summary

The Cursor plugin's always-on rule and its README both point the reader at a skill named context7-docs-lookup. That skill does not exist in the plugin.

context7-docs-lookup was the original skill name when the plugin was added (#1659). #2191 consolidated the plugin skills under a canonical context7-mcp source and the directory was renamed — plugins/cursor/context7/skills/context7-mcp/SKILL.md. The rename updated the directory but not these two prose references, so both now name a skill the plugin does not ship.

Concretely, the rule ends with:

See the context7-docs-lookup skill for detailed instructions on how to resolve libraries and fetch documentation.

and README.md lists:

Skills — A context7-docs-lookup skill with detailed instructions on resolving libraries and fetching documentation

The rule is alwaysApply: true, so the pointer is in context on every request and an agent that follows it looks for a skill that is absent. The only shipped skill is context7-mcp; every other plugin in this repo already refers to it by that name.

Change

  • plugins/cursor/context7/rules/use-context7.mdc and plugins/cursor/context7/README.md now reference context7-mcp.
  • packages/cli/src/__tests__/plugin-manifests.test.ts gains a test pinning the invariant: the skill name mentioned in each file must exist as a directory under plugins/cursor/context7/skills/, and every shipped skill directory must contain a SKILL.md. The existing file already reads plugins/ from the repo root, so it is the natural home; the name this repo keeps in prose is now checked against the name it ships.

Verification

The new test fails on the unfixed tree and passes after the fix. Both directions were exercised by reverting each reference and each shipped skill directory in turn:

Mutation Result
Revert the rule line only FAIL — use-context7.mdc references "context7-docs-lookup": expected [ 'context7-mcp' ] to include 'context7-docs-lookup'
Revert the README line only FAIL — README.md references "context7-docs-lookup": ...
Rename the shipped skill dir FAIL — use-context7.mdc references "context7-mcp": expected [ 'renamed-skill' ] to include 'context7-mcp'

The first two confirm the assertion detects the regression this PR fixes; the third confirms it is not a rubber stamp — it reads the shipped directory rather than a hardcoded string.

Repo checks on the final commit:

  • pnpm lint:check — clean
  • pnpm format:check — clean
  • pnpm typecheck — clean
  • pnpm --filter ./packages/cli test — 19 files, 370 tests passed (368 on master; the 2 added here)

grep -rn "context7-docs-lookup" over the tree now returns nothing.

No changeset: this touches no published package code, matching how the other plugin-only fixes in this repo (#2752) landed.

The Cursor plugin's always-on rule and its README both direct the reader to
a `context7-docs-lookup` skill. That name belonged to the original plugin
(upstash#1659); upstash#2191 consolidated the plugin skills under a canonical
`context7-mcp` source and the directory was renamed, but these two prose
references were not updated. The plugin ships only
`skills/context7-mcp/`, so the pointer resolves to nothing.

Update both references, and pin them with a test: the skill name each file
mentions must exist under `plugins/cursor/context7/skills/`, and each
shipped skill directory must contain a SKILL.md.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants