**Motivations:** - Centraliser les fichiers Cursor (rules, skills, agents, commands, hooks) par user et par projet **Root causes:** - N/A **Correctifs:** - N/A **Evolutions:** - desk: rules, skills-cursor, agents, commands, hooks, argv/hooks/mcp.json - ncantu: README placeholder - 4NK_node, algo, builazoo, ia_local, lecoffre_ng, lecoffre_ng_pprod, lecoffre_ng_test: .cursor contents **Pages affectées:** - cursor/desk/, cursor/ncantu/, cursor/<project>/
223 lines
6.3 KiB
Markdown
223 lines
6.3 KiB
Markdown
---
|
|
name: create-subagent
|
|
description: Create custom subagents for specialized AI tasks. Use when the user wants to create a new type of subagent, set up task-specific agents, configure code reviewers, debuggers, or domain-specific assistants with custom prompts.
|
|
disable-model-invocation: true
|
|
---
|
|
# Creating Custom Subagents
|
|
|
|
This skill guides you through creating custom subagents for Cursor. Subagents are specialized AI assistants that run in isolated contexts with custom system prompts.
|
|
|
|
## When to Use Subagents
|
|
|
|
Subagents help you:
|
|
- **Preserve context** by isolating exploration from your main conversation
|
|
- **Specialize behavior** with focused system prompts for specific domains
|
|
- **Reuse configurations** across projects with user-level subagents
|
|
|
|
### Inferring from Context
|
|
|
|
If you have previous conversation context, infer the subagent's purpose and behavior from what was discussed. Create the subagent based on specialized tasks or workflows that emerged in the conversation.
|
|
|
|
## Subagent Locations
|
|
|
|
| Location | Scope | Priority |
|
|
|----------|-------|----------|
|
|
| `.cursor/agents/` | Current project | Higher |
|
|
| `~/.cursor/agents/` | All your projects | Lower |
|
|
|
|
When multiple subagents share the same name, the higher-priority location wins.
|
|
|
|
**Project subagents** (`.cursor/agents/`): Ideal for codebase-specific agents. Check into version control to share with your team.
|
|
|
|
**User subagents** (`~/.cursor/agents/`): Personal agents available across all your projects.
|
|
|
|
## Subagent File Format
|
|
|
|
Create a `.md` file with YAML frontmatter and a markdown body (the system prompt):
|
|
|
|
```markdown
|
|
---
|
|
name: code-reviewer
|
|
description: Reviews code for quality and best practices
|
|
---
|
|
|
|
You are a code reviewer. When invoked, analyze the code and provide
|
|
specific, actionable feedback on quality, security, and best practices.
|
|
```
|
|
|
|
### Required Fields
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| `name` | Unique identifier (lowercase letters and hyphens only) |
|
|
| `description` | When to delegate to this subagent (be specific!) |
|
|
|
|
## Writing Effective Descriptions
|
|
|
|
The description is **critical** - the AI uses it to decide when to delegate.
|
|
|
|
```yaml
|
|
# ❌ Too vague
|
|
description: Helps with code
|
|
|
|
# ✅ Specific and actionable
|
|
description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
|
|
```
|
|
|
|
Include "use proactively" to encourage automatic delegation.
|
|
|
|
## Example Subagents
|
|
|
|
### Code Reviewer
|
|
|
|
```markdown
|
|
---
|
|
name: code-reviewer
|
|
description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
|
|
---
|
|
|
|
You are a senior code reviewer ensuring high standards of code quality and security.
|
|
|
|
When invoked:
|
|
1. Run git diff to see recent changes
|
|
2. Focus on modified files
|
|
3. Begin review immediately
|
|
|
|
Review checklist:
|
|
- Code is clear and readable
|
|
- Functions and variables are well-named
|
|
- No duplicated code
|
|
- Proper error handling
|
|
- No exposed secrets or API keys
|
|
- Input validation implemented
|
|
- Good test coverage
|
|
- Performance considerations addressed
|
|
|
|
Provide feedback organized by priority:
|
|
- Critical issues (must fix)
|
|
- Warnings (should fix)
|
|
- Suggestions (consider improving)
|
|
|
|
Include specific examples of how to fix issues.
|
|
```
|
|
|
|
### Debugger
|
|
|
|
```markdown
|
|
---
|
|
name: debugger
|
|
description: Debugging specialist for errors, test failures, and unexpected behavior. Use proactively when encountering any issues.
|
|
---
|
|
|
|
You are an expert debugger specializing in root cause analysis.
|
|
|
|
When invoked:
|
|
1. Capture error message and stack trace
|
|
2. Identify reproduction steps
|
|
3. Isolate the failure location
|
|
4. Implement minimal fix
|
|
5. Verify solution works
|
|
|
|
Debugging process:
|
|
- Analyze error messages and logs
|
|
- Check recent code changes
|
|
- Form and test hypotheses
|
|
- Add strategic debug logging
|
|
- Inspect variable states
|
|
|
|
For each issue, provide:
|
|
- Root cause explanation
|
|
- Evidence supporting the diagnosis
|
|
- Specific code fix
|
|
- Testing approach
|
|
- Prevention recommendations
|
|
|
|
Focus on fixing the underlying issue, not the symptoms.
|
|
```
|
|
|
|
### Data Scientist
|
|
|
|
```markdown
|
|
---
|
|
name: data-scientist
|
|
description: Data analysis expert for SQL queries, BigQuery operations, and data insights. Use proactively for data analysis tasks and queries.
|
|
---
|
|
|
|
You are a data scientist specializing in SQL and BigQuery analysis.
|
|
|
|
When invoked:
|
|
1. Understand the data analysis requirement
|
|
2. Write efficient SQL queries
|
|
3. Use BigQuery command line tools (bq) when appropriate
|
|
4. Analyze and summarize results
|
|
5. Present findings clearly
|
|
|
|
Key practices:
|
|
- Write optimized SQL queries with proper filters
|
|
- Use appropriate aggregations and joins
|
|
- Include comments explaining complex logic
|
|
- Format results for readability
|
|
- Provide data-driven recommendations
|
|
|
|
For each analysis:
|
|
- Explain the query approach
|
|
- Document any assumptions
|
|
- Highlight key findings
|
|
- Suggest next steps based on data
|
|
|
|
Always ensure queries are efficient and cost-effective.
|
|
```
|
|
|
|
## Subagent Creation Workflow
|
|
|
|
### Step 1: Decide the Scope
|
|
|
|
- **Project-level** (`.cursor/agents/`): For codebase-specific agents shared with team
|
|
- **User-level** (`~/.cursor/agents/`): For personal agents across all projects
|
|
|
|
### Step 2: Create the File
|
|
|
|
```bash
|
|
# For project-level
|
|
mkdir -p .cursor/agents
|
|
touch .cursor/agents/my-agent.md
|
|
|
|
# For user-level
|
|
mkdir -p ~/.cursor/agents
|
|
touch ~/.cursor/agents/my-agent.md
|
|
```
|
|
|
|
### Step 3: Define Configuration
|
|
|
|
Write the frontmatter with the required fields (`name` and `description`).
|
|
|
|
### Step 4: Write the System Prompt
|
|
|
|
The body becomes the system prompt. Be specific about:
|
|
- What the agent should do when invoked
|
|
- The workflow or process to follow
|
|
- Output format and structure
|
|
- Any constraints or guidelines
|
|
|
|
### Step 5: Test the Agent
|
|
|
|
Ask the AI to use your new agent:
|
|
|
|
```
|
|
Use the my-agent subagent to [task description]
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
1. **Design focused subagents**: Each should excel at one specific task
|
|
2. **Write detailed descriptions**: Include trigger terms so the AI knows when to delegate
|
|
3. **Check into version control**: Share project subagents with your team
|
|
4. **Use proactive language**: Include "use proactively" in descriptions
|
|
|
|
## Troubleshooting
|
|
|
|
### Subagent Not Found
|
|
- Ensure file is in `.cursor/agents/` or `~/.cursor/agents/`
|
|
- Check file has `.md` extension
|
|
- Verify YAML frontmatter syntax is valid
|