一键导入
creating-cursor-commands
Expert guidance for creating effective Cursor slash commands with best practices, format requirements, and schema validation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Expert guidance for creating effective Cursor slash commands with best practices, format requirements, and schema validation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Use when creating or publishing Claude Code hooks - covers executable format, event types, JSON I/O, exit codes, security requirements, and PRPM package structure
Use when creating Agent Skills packages (SKILL.md format) for Codex CLI, GitHub Copilot, or Amp - provides the agentskills.io specification with frontmatter constraints, directory structure, and validation rules
Semantic code search using natural language queries. Use when users ask "where is X implemented", "how does Y work", "find the logic for Z", or need to locate code by concept rather than exact text. Returns file paths with line numbers and code snippets.
Expert guidance for creating Claude Code slash commands with correct frontmatter, structure, and best practices
Use when creating OpenCode agents - provides markdown format with YAML frontmatter, mode/tools/permission configuration, and best practices for specialized AI assistants
Use when creating or fixing .claude/rules/ files - provides correct paths frontmatter (not globs), glob patterns, and avoids Cursor-specific fields like alwaysApply
| name | creating-cursor-commands |
| description | Expert guidance for creating effective Cursor slash commands with best practices, format requirements, and schema validation |
You are an expert at creating effective Cursor slash commands (.cursor/commands/*.md) that provide clear, actionable instructions for AI assistants.
Use when:
Don't use for:
.cursor/rules/) - use creating-cursor-rules-skill instead| Aspect | Requirement |
|---|---|
| File Location | .cursor/commands/*.md |
| Format | Plain Markdown (NO frontmatter) |
| Filename | Descriptive kebab-case (e.g., review-code.md, generate-tests.md) |
| Invocation | /command-name in chat |
| Content | Clear, actionable instructions with examples |
Good filenames:
review-code.md → /review-codegenerate-tests.md → /generate-testsexplain-code.md → /explain-codeoptimize-performance.md → /optimize-performanceBad filenames:
rc.md - Too crypticreview_code.md - Use hyphens, not underscoresReviewCode.md - Use lowercasereview-code-thoroughly-with-security-checks.md - Too verbosehttps://github.com/pr-pm/prpm/blob/main/packages/converters/schemas/cursor-command.schema.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://prpm.dev/schemas/cursor-command.schema.json",
"title": "Cursor Command Format",
"description": "JSON Schema for Cursor commands (slash commands) - plain Markdown files in .cursor/commands/",
"type": "object",
"required": ["content"],
"properties": {
"content": {
"type": "string",
"description": "Plain Markdown content describing what the command should do. No frontmatter supported."
}
},
"additionalProperties": false
}
content field| Mistake | Why It's Wrong | How to Fix |
|---|---|---|
| Adding frontmatter | Cursor commands don't support frontmatter | Remove --- blocks entirely |
| Using default exports syntax | Commands are not code files | Write plain Markdown instructions |
| Vague instructions | AI needs specific guidance | Add concrete examples and steps |
| Too many tasks | Commands should be focused | Create separate commands or use rules |
| Missing context | AI needs to know what to do | Include expected output format |
❌ Bad - Vague:
# Review Code
Review the code for issues.
✅ Good - Specific:
# Review Code
Review the selected code for:
- Code quality and best practices
- Potential bugs or edge cases
- Performance improvements
- Security vulnerabilities
Provide specific, actionable feedback with code examples where appropriate.
❌ Bad - No guidance:
# Generate Tests
Generate tests for this code.
✅ Good - Clear format:
# Generate Tests
Generate comprehensive unit tests for the selected code.
Include:
- Happy path test cases
- Edge cases and error handling
- Mock external dependencies
- Follow existing test patterns in the project
Use the testing framework already configured in the project.
✅ Good - Structured approach:
# Explain Code
Provide a clear explanation of what the selected code does.
Include:
- High-level purpose and goals
- Step-by-step breakdown of logic
- Any non-obvious behavior or edge cases
- Dependencies and side effects
- How it fits into the larger codebase
✅ Good - Context-aware:
# Add Component
Create a new React component following our project conventions.
Structure:
- Functional component with TypeScript
- Props interface defined separately
- Export as named export (not default)
- Co-locate styles if needed
- Follow existing component patterns in components/ directory
Use the same testing approach as existing components.
Each command should do ONE thing well.
❌ Bad - Too broad:
# Full Stack Feature
Create a full-stack feature with:
- Database migration
- API endpoint
- Frontend component
- Tests for everything
- Documentation
✅ Good - Focused:
# Create API Endpoint
Create a new API endpoint following our conventions.
Include:
- Input validation with Zod
- Error handling with try/catch
- TypeScript types for request/response
- Follow patterns in existing endpoints
.cursor/commands/review-code.md:
# Review Code
Review the selected code for:
1. **Code Quality**
- Clean, readable code
- Proper naming conventions
- DRY principle adherence
2. **Security**
- Input validation
- SQL injection risks
- XSS vulnerabilities
- Authentication/authorization checks
3. **Performance**
- Inefficient algorithms
- Unnecessary computations
- Memory leaks
- Database query optimization
4. **Best Practices**
- Error handling
- Type safety
- Test coverage
- Documentation
Provide specific file and line references for all issues found.
Format findings as a numbered list with severity (Critical/High/Medium/Low).
.cursor/commands/generate-tests.md:
# Generate Tests
Generate comprehensive unit tests for the selected code.
Test Coverage:
- Happy path scenarios
- Edge cases
- Error conditions
- Boundary values
- Invalid inputs
Requirements:
- Use existing test framework (Jest/Vitest/etc.)
- Follow project testing patterns
- Mock external dependencies
- Include test descriptions
- Aim for 100% code coverage
Format tests in the same style as existing test files in the project.
.cursor/commands/document-function.md:
# Document Function
Generate comprehensive documentation for the selected function.
Include:
**Function signature:**
- Parameter types and descriptions
- Return type and description
- Generic types if applicable
**Description:**
- What the function does (one-line summary)
- Why it exists (use case)
- How it works (implementation details if non-obvious)
**Examples:**
- Basic usage example
- Edge case example if relevant
**Notes:**
- Any side effects
- Performance considerations
- Related functions
Use JSDoc/TSDoc format for TypeScript/JavaScript.
.cursor/commands/optimize-performance.md:
# Optimize Performance
Analyze the selected code for performance improvements.
Look for:
**Algorithmic Issues:**
- O(n²) or worse time complexity
- Unnecessary nested loops
- Inefficient data structures
**React-Specific:**
- Unnecessary re-renders
- Missing useMemo/useCallback
- Large component trees
- Props drilling
**General:**
- Redundant computations
- Memory leaks
- Synchronous blocking operations
- Large bundle size contributors
Suggest specific optimizations with code examples.
Estimate performance impact of each suggestion.
.cursor/commands/refactor-clean.md:
# Refactor for Clean Code
Refactor the selected code to improve maintainability.
Apply these principles:
**Extract Functions:**
- Break down large functions (> 50 lines)
- Create single-responsibility functions
- Use descriptive names
**Simplify Logic:**
- Reduce nesting (early returns)
- Eliminate duplication
- Clarify complex conditionals
**Improve Names:**
- Use meaningful variable names
- Follow project naming conventions
- Avoid abbreviations
**Type Safety:**
- Add proper TypeScript types
- Eliminate 'any' types
- Use interfaces/types
Preserve all existing functionality and tests.
.cursor/commands/fix-bug.md:
# Fix Bug
Analyze and fix the bug in the selected code.
Investigation steps:
1. Identify the root cause
2. Explain why the bug occurs
3. Propose a fix
4. Consider edge cases
5. Suggest tests to prevent regression
Fix requirements:
- Minimal changes to fix the issue
- Don't break existing functionality
- Add/update tests
- Add comments explaining the fix if non-obvious
Explain the fix clearly with before/after code examples.
Commands can be stored in multiple locations (in order of precedence):
.cursor/commands/ directory in your project (shared with team)~/.cursor/commands/ directory (personal, all projects)Best practice: Store team-wide commands in .cursor/commands/ and commit to version control.
After creating a command:
.cursor/commands/command-name.md/command-name in Cursor chatExample:
/generate-tests - Explicitly generate tests when asked*.test.ts filesBefore finalizing a command:
.cursor/commands/ directoryClaude Code commands use frontmatter - remove it for Cursor:
Claude Code:
---
description: Review code
allowed-tools: Read, Grep
---
Review the code...
Cursor:
# Review Code
Review the code...
Rules use frontmatter and are context-aware - simplify to plain Markdown:
Cursor Rule:
---
description: Testing conventions
globs: ["**/*.test.ts"]
---
# Testing Standards
Always write tests...
Cursor Command:
# Generate Tests
Generate comprehensive tests...
/review-code - Code review/refactor-clean - Clean code refactoring/fix-lint - Fix linting issues/improve-types - Improve TypeScript types/generate-tests - Generate unit tests/test-edge-cases - Add edge case tests/test-coverage - Check test coverage/document-function - Document function/add-comments - Add code comments/explain-code - Explain complex code/optimize-performance - Performance optimization/analyze-complexity - Analyze time complexity/reduce-bundle - Reduce bundle size/security-audit - Security vulnerability check/sanitize-input - Add input validation/check-auth - Review authenticationhttps://github.com/pr-pm/prpm/blob/main/packages/converters/schemas/cursor-command.schema.json/Users/khaliqgant/Projects/prpm/app/packages/converters/docs/cursor.mdGolden Rules:
Goal: Create commands that make frequent tasks effortless with a simple /command-name invocation.