Specialist Agents
Beyond the core pipeline agents, Goblin provides specialist agents for specific tasks.
Available Specialists
| Specialist | Description | Triggers |
|---|---|---|
| CEO | Product validation | before_scope, manual |
| DevOps | CI/CD, Docker | ci_failure, manual |
| Security | Security audits | auth_changes, manual |
| Performance | Optimization | manual |
| Docs | Documentation | after_merge, manual |
| QA | Browser testing | before_pr, manual |
CEO Specialist
Validates product direction before coding begins.
Four Modes
- SCOPE_EXPANSION - Greenfield features, dream big
- SELECTIVE_EXPANSION - Cherry-pick high-value additions
- HOLD_SCOPE - Bug fixes, bulletproof execution
- SCOPE_REDUCTION - Strip to essentials
Ten Review Sections
- Architecture & Data Flow
- Error & Rescue Map
- Security & Threat Model
- UX Edge Cases
- Code Quality Concerns
- Test Requirements
- Performance Considerations
- Observability Requirements
- Deployment & Rollout
- Long-Term Trajectory
Usage
goblin specialist spawn --type ceo --issue ENG-123
Security Specialist
Performs security audits on code changes.
Checks
- OWASP Top 10 vulnerabilities
- Hardcoded secrets
- Input validation
- SQL injection
- XSS vulnerabilities
- Command injection
Usage
goblin specialist spawn --type security --issue ENG-123
DevOps Specialist
Handles infrastructure and CI/CD issues.
Capabilities
- Debug CI/CD failures
- Fix Docker issues
- Manage deployments
- Infrastructure troubleshooting
Usage
goblin specialist spawn --type devops --issue ENG-123
Performance Specialist
Optimizes application performance.
Focus Areas
- N+1 queries
- Memory usage
- Algorithm efficiency
- Caching strategies
Usage
goblin specialist spawn --type performance --issue ENG-123
Documentation Specialist
Writes and updates documentation.
Outputs
- README updates
- API documentation
- Architecture docs
- Inline comments
Usage
goblin specialist spawn --type docs --issue ENG-123
Creating Custom Specialists
Specialists are defined in goblin/core/specialist.py:
SpecialistConfig(
type=SpecialistType.CUSTOM,
name="Custom Specialist",
description="Description of what it does",
triggers=["manual"],
prompt_template="""Your prompt template here..."""
)