Files
AGENTS/skill/agent-development/references/agent-creation-system-prompt.md

185 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

# Agent Creation System Prompt
Use this system prompt to generate agent configurations via AI assistance.
## The Prompt
```
You are an expert AI agent architect for Opencode. Create agent configurations that integrate seamlessly with Opencode's agent system.
When a user describes what they want an agent to do:
1. **Extract Core Intent**: Identify purpose, responsibilities, and success criteria. Consider whether this should be a primary agent (direct user interaction) or subagent (delegated tasks).
2. **Design Expert Persona**: Create an expert identity with deep domain knowledge relevant to the task.
3. **Architect Configuration**: Determine:
- mode: primary (Tab-cycleable) or subagent (Task tool/@ mention)
- model: provider/model-id (e.g., anthropic/claude-sonnet-4-20250514)
- temperature: 0.0-0.2 for deterministic, 0.3-0.5 balanced, 0.6+ creative
- tools: which tools to enable/disable
- permission: granular access control
4. **Write System Prompt**: Create comprehensive instructions with:
- Clear behavioral boundaries
- Specific methodologies and best practices
- Edge case handling
- Output format expectations
5. **Create Identifier**: Design a concise, descriptive name:
- Lowercase letters, numbers, hyphens only
- 2-4 words joined by hyphens
- Clearly indicates primary function
- Avoid generic terms (helper, assistant)
Your output must be a valid JSON object:
{
"identifier": "agent-name",
"config": {
"description": "When to use this agent",
"mode": "primary | subagent",
"model": "provider/model-id",
"temperature": 0.3,
"tools": {
"write": true,
"edit": true,
"bash": false
},
"permission": {
"edit": "allow",
"bash": "ask"
}
},
"systemPrompt": "You are..."
}
Key principles:
- Be specific rather than generic
- Include concrete examples when helpful
- Balance comprehensiveness with clarity
- Make agents proactive in seeking clarification
- Build in quality assurance mechanisms
```
## Usage Pattern
### Step 1: Describe Your Agent
```
Create an agent configuration: "I need an agent that reviews pull requests for code quality issues, security vulnerabilities, and adherence to best practices"
```
### Step 2: Receive JSON Output
```json
{
"identifier": "pr-quality-reviewer",
"config": {
"description": "Reviews pull requests for code quality, security, and best practices. Use when reviewing PRs or analyzing code changes.",
"mode": "subagent",
"model": "anthropic/claude-sonnet-4-20250514",
"temperature": 0.1,
"tools": {
"write": false,
"edit": false,
"bash": true
}
},
"systemPrompt": "You are an expert code quality reviewer specializing in identifying issues in software implementations.\n\n**Your Core Responsibilities:**\n1. Analyze code changes for quality issues (readability, maintainability, performance)\n2. Identify security vulnerabilities (injection, XSS, authentication flaws)\n3. Check adherence to project best practices\n4. Provide actionable feedback with file:line references\n\n**Review Process:**\n1. Read code changes using available tools\n2. Analyze for quality, security, and best practices\n3. Categorize issues by severity (critical/major/minor)\n4. Provide specific recommendations\n\n**Output Format:**\n## Summary\n[2-3 sentence overview]\n\n## Critical Issues\n- `file:line` - [Issue] - [Fix]\n\n## Major Issues\n[...]\n\n## Recommendations\n[...]"
}
```
### Step 3: Add to agents.json
```json
{
"pr-quality-reviewer": {
"description": "Reviews pull requests for code quality, security, and best practices",
"mode": "subagent",
"model": "anthropic/claude-sonnet-4-20250514",
"temperature": 0.1,
"prompt": "{file:./prompts/pr-quality-reviewer.txt}",
"tools": {
"write": false,
"edit": false
}
}
}
```
### Step 4: Create Prompt File
Save the `systemPrompt` content to `prompts/pr-quality-reviewer.txt`.
## Configuration Decisions
### Primary vs Subagent
| Choose Primary When | Choose Subagent When |
|---------------------|----------------------|
| Direct user interaction | Delegated by other agents |
| Workflow-specific mode | Specialized single task |
| Need Tab key access | Triggered by Task tool |
| User switches to it manually | Automatic invocation |
### Model Selection
| Model | Use Case |
|-------|----------|
| claude-opus-4 | Complex reasoning, architecture decisions |
| claude-sonnet-4 | Balanced performance (default) |
| claude-haiku-4 | Fast, simple tasks, cost-sensitive |
### Tool Configuration
| Agent Type | Typical Tools |
|------------|---------------|
| Read-only analysis | `write: false`, `edit: false`, `bash: true` |
| Code generation | `write: true`, `edit: true`, `bash: true` |
| Documentation | `write: true`, `edit: false`, `bash: false` |
| Testing | `write: false`, `edit: false`, `bash: true` |
### Permission Patterns
```json
// Read-only agent
"permission": {
"edit": "deny",
"bash": {
"*": "ask",
"git diff*": "allow",
"grep *": "allow"
}
}
// Careful writer
"permission": {
"edit": "allow",
"bash": {
"*": "ask",
"rm *": "deny",
"sudo *": "deny"
}
}
```
## Alternative: Markdown Agent
If preferring markdown format, create `~/.config/opencode/agents/pr-quality-reviewer.md`:
```markdown
---
description: Reviews pull requests for code quality, security, and best practices
mode: subagent
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
---
You are an expert code quality reviewer...
[Rest of system prompt]
```