Before submitting
Area
apps/server
Steps to reproduce
- Install a Cursor plugin that ships one or more skills. A marketplace plugin, a team plugin, or a local plugin under
~/.cursor/plugins/local is enough. Confirm those skills appear in Cursor Customize and can be invoked with /skill-name.
- Open a Cursor thread in T3 Code Nightly on a project.
- Open the
$ skill picker.
- Ask the Cursor agent, without letting it read the filesystem, which skills are in its catalog. Ask specifically about the skill names from that plugin.
Expected behavior
Skills from enabled Cursor plugins show up in the $ picker and are part of the agent's skill catalog, the same way skills in ~/.agents/skills and ~/.cursor/skills are. $skill-name is sent as /skill-name.
Actual behavior
The picker only scans .cursor/skills, .agents/skills, .codex/skills, and .claude/skills (apps/server/src/provider/Drivers/CursorSkills.ts). Plugin skills live under ~/.cursor/plugins/cache/<marketplace>/<plugin>/<sha>/skills/ and never enter that list.
The agent catalog has the same hole. A Grok 4.6 Cursor thread listed the built-in Cursor skills and the folder skills, and reported that the plugin skills were not present. makeCursorAgentOptions does pass settingSources: ["project", "user", "team", "mdm", "plugins"] (from #13499), and the SDK has a CursorPluginsAgentSkillsService that loads enabled plugin skills, but those skills are not in the catalog the model receives.
Impact
Major degradation or frequent failure
Version or commit
0.0.46-nightly.20261005.2702
Environment
macOS, T3 Code Nightly, Cursor provider (Cursor V2 / @cursor/sdk 1.0.35). Confirmed with Grok 4.6 and Grok 4.7.
Logs or stack traces
None.
Workaround
Copy or symlink each plugin skill directory into ~/.cursor/skills or ~/.agents/skills. Those roots are both scanned by T3 and loaded by the SDK.
Before submitting
Area
apps/server
Steps to reproduce
~/.cursor/plugins/localis enough. Confirm those skills appear in Cursor Customize and can be invoked with/skill-name.$skill picker.Expected behavior
Skills from enabled Cursor plugins show up in the
$picker and are part of the agent's skill catalog, the same way skills in~/.agents/skillsand~/.cursor/skillsare.$skill-nameis sent as/skill-name.Actual behavior
The picker only scans
.cursor/skills,.agents/skills,.codex/skills, and.claude/skills(apps/server/src/provider/Drivers/CursorSkills.ts). Plugin skills live under~/.cursor/plugins/cache/<marketplace>/<plugin>/<sha>/skills/and never enter that list.The agent catalog has the same hole. A Grok 4.6 Cursor thread listed the built-in Cursor skills and the folder skills, and reported that the plugin skills were not present.
makeCursorAgentOptionsdoes passsettingSources: ["project", "user", "team", "mdm", "plugins"](from #13499), and the SDK has aCursorPluginsAgentSkillsServicethat loads enabled plugin skills, but those skills are not in the catalog the model receives.Impact
Major degradation or frequent failure
Version or commit
0.0.46-nightly.20261005.2702
Environment
macOS, T3 Code Nightly, Cursor provider (Cursor V2 /
@cursor/sdk1.0.35). Confirmed with Grok 4.6 and Grok 4.7.Logs or stack traces
None.
Workaround
Copy or symlink each plugin skill directory into
~/.cursor/skillsor~/.agents/skills. Those roots are both scanned by T3 and loaded by the SDK.