feat(cursor-agent): migrate commands to skills under .cursor/skills#2156
Merged
mnriem merged 1 commit intogithub:mainfrom Apr 10, 2026
Merged
Conversation
Use SkillsIntegration so workflows ship as speckit-*/SKILL.md. Update init next-steps, extension hook invocation, docs, and tests. Made-with: Cursor
Contributor
There was a problem hiding this comment.
Pull request overview
Migrates the cursor-agent integration from Markdown-based slash commands under .cursor/commands to skills under .cursor/skills (speckit-*/SKILL.md) by switching the integration to SkillsIntegration, and updates CLI messaging/docs/tests to match.
Changes:
- Update
cursor-agentintegration to install skills (.cursor/skills/.../SKILL.md) instead of command files. - Render Cursor hook invocations using skill syntax when
ai_skillsis enabled (e.g.,/speckit-plan). - Refresh
specify init“Next Steps”, upgrade docs, and integration tests for the new skills layout.
Show a summary per file
| File | Description |
|---|---|
| tests/integrations/test_integration_cursor_agent.py | Switches Cursor integration tests to the shared skills test mixin and adds an --ai cursor-agent auto-promote assertion. |
| src/specify_cli/integrations/cursor_agent/init.py | Converts CursorAgentIntegration to SkillsIntegration and updates config/registrar settings to point at .cursor/skills. |
| src/specify_cli/extensions.py | Adds Cursor skill-mode hook invocation rendering (/speckit-...) when ai_skills is set. |
| src/specify_cli/init.py | Updates init “Next Steps” display logic to show Cursor skill invocation and add a skills-directory hint. |
| docs/upgrade.md | Updates troubleshooting guidance to reference .cursor/skills/ instead of .cursor/commands/. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 5/5 changed files
- Comments generated: 0
Collaborator
|
Thank you! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Addresses #2149.
Migrates the
cursor-agentintegration from Markdown commands (.cursor/commands,speckit.*.md) to agent skills under.cursor/skills(speckit-*/SKILL.md) usingSkillsIntegration, in line with other agents that no longer rely on a pure slash-command install path.Updates
specify init“Next Steps” (skills wording,/speckit-*hints, optional notice for.cursor/skills),HookExecutorinvocation forcursor-agentwhenai_skillsis set,docs/upgrade.md, and integration tests.Context (from issue #2149)
During testing, moving Spec Kit to skills with
/migrate-to-skillsshowed improved performance. Separately, some agent runs still surface limitations around Cursor slash commands in environments where those commands are not actually runnable (even when docs imply the agent can “activate” commands). Shipping skills under.cursor/skillstargets that gap.Claude in Spec Kit also moved from commands to skills over time; this change applies the same trajectory for Cursor.
Any performance comparison remains informal; independent checks would be welcome.
Closes #2149
Testing
uv run specify --helpuv sync && uv run pytest(e.g.tests/integrations/test_integration_cursor_agent.py,tests/test_cursor_frontmatter.py)AI Disclosure
AI was used only for codebase analysis and for drafting the commit message and this pull request. All implementation edits were written and adjusted manually.