원클릭으로
writing-agents
Use when creating new agents, editing existing agents, or defining specialized subagent roles for the Task tool
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when creating new agents, editing existing agents, or defining specialized subagent roles for the Task tool
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when generating text, drafting responses, composing messages, or producing any written content that should sound like aaddrick, when the user asks to write in their voice or style, or when the aaddrick-voice agent needs a reference for voice constraints and few-shot examples
Use when synthesizing outputs from multiple prior analyses (taxonomy, sentiment, engagement, temporal patterns, psycholinguistic profile, personality traits, network position) into a single persona archetype classification, when needing to assign user role labels from multi-dimensional behavioral evidence, or when combining heterogeneous analysis outputs into a composite user profile with confidence scoring
Use when building multi-stage analysis pipelines that need checkpoint/resume, when long-running jobs fail mid-execution and lose progress, when processing large data archives that exceed memory or rate limits, or when analysis depth should adapt to data volume
Use when inferring Big Five (OCEAN) personality traits from a text corpus, mapping linguistic markers to personality dimensions, converting trait profiles into writing style constraints for voice replication, or needing to characterize an author's personality tendencies from their writing patterns
Use when measuring how a user's writing style converges toward or diverges from community norms, computing Linguistic Style Matching scores from function words, comparing accommodation strength across multiple communities, tracking stylistic convergence over time, or identifying which communities a user accommodates most strongly
Use when a data export contains URLs or IDs referencing external content that is not stored inline, when comments or replies are orphaned from their parent context, when voted or saved items exist only as permalinks with no content, or when downstream analysis agents need enriched records with conversational context reconstructed from linked references
| name | writing-agents |
| description | Use when creating new agents, editing existing agents, or defining specialized subagent roles for the Task tool |
Writing agents IS Test-Driven Development applied to role definitions.
Agents are specialized subagents invoked via the Task tool. They receive full conversation context and execute autonomously with a defined persona, tools, and behavioral guidelines.
Core principle: If you didn't test the agent on representative tasks, you don't know if it performs correctly.
REQUIRED BACKGROUND: Understand test-driven-development and writing-skills before using this skill. Same RED-GREEN-REFACTOR cycle applies.
| Aspect | Agents | Skills |
|---|---|---|
| Invocation | Task tool with subagent_type | Skill tool with skill name |
| Context | Full conversation history | Loaded on-demand |
| Execution | Autonomous, multi-turn | Single response guidance |
| Persona | Explicit role/identity | Reference documentation |
| Location | .claude/agents/ | .claude/skills/ |
| Use for | Complex, autonomous tasks | Reusable patterns/techniques |
Agents are PROJECT-LEVEL. They live in the project's .claude/agents/ directory, not personal directories.
.claude/agents/
agent-name.md # Single file with frontmatter + persona
Frontmatter (YAML):
---
name: agent-name
description: Role description. Use for [specific task types].
model: opus # Optional: opus, sonnet, haiku (defaults to parent)
---
IMPORTANT: After creating or modifying an agent, prompt the user to restart their Claude Code session. Agents are loaded at session start and won't be available until restart.
Before writing the agent, gather domain knowledge and project context:
Use WebSearch to find domain-specific guidance. Search for:
Example searches by domain:
# Laravel backend agent
"Laravel best practices 2026"
"Laravel anti-patterns to avoid"
"Eloquent ORM performance mistakes"
"PHP security vulnerabilities OWASP"
# React frontend agent
"React component best practices 2026"
"React performance anti-patterns"
"React accessibility checklist"
# DevOps/infrastructure agent
"AWS Lambda best practices"
"Infrastructure as Code anti-patterns"
"Cloud security common mistakes"
# Database agent
"PostgreSQL query optimization"
"Database schema anti-patterns"
"SQL injection prevention"
Incorporate findings into:
Explore the project to make the agent project-specific:
.claude/agents/ for:
Example exploration:
# Find project structure for a backend agent
Glob: "app/**/*.php"
Grep: "class.*Service"
Read: "CLAUDE.md", "README.md"
# Find existing agent patterns
Glob: ".claude/agents/*.md"
Combine research + codebase context into the agent definition:
After writing the agent file, inform the user:
Agent created: .claude/agents/[agent-name].md
**ACTION REQUIRED:** Please restart your Claude Code session for the new agent to be available. Agents are loaded at session start.
To use the agent after restart:
- It will appear in the Task tool's available agents
- Invoke with: Task tool, subagent_type="[agent-name]"
The persona is the agent's DNA. A well-defined persona produces consistent behavior across interactions.
You are a [specific role] with expertise in [domains]. You specialize in [specific capabilities] for [context/project].
Good persona:
You are a senior PHP/Laravel backend developer with deep expertise in Laravel, PHP, and server-side architecture. You specialize in building robust, scalable backend systems with clean architecture and secure coding practices, specifically for the FlySpaceA Space-A flight tracking platform.
Bad persona:
You are a helpful assistant that can help with code.
Define what the agent DOES and DOES NOT handle. Prevents scope creep and enables deferral to specialists.
## CORE COMPETENCIES
- [Domain 1]: Specific capabilities
- [Domain 2]: Specific capabilities
**Not in scope** (defer to [other-agent]):
- [Excluded domain 1]
- [Excluded domain 2]
List specific mistakes to avoid. More effective than generic guidelines.
## Anti-Patterns to Avoid
- **N+1 query prevention** -- always eager load relationships with `with()`
- **Never use `Model::all()`** on large tables -- use pagination
- **Use `config()` not `env()`** -- never call `env()` outside config files
Define how the agent coordinates with others. Essential for multi-agent workflows.
## Coordination with [Other Agent]
**When delegated work:**
1. Acknowledge the task
2. Implement following their requirements
3. Report completion with specific details
**Report format:**
- Issue/task reference
- Changes made (files, methods)
- Testing performed
- Explicit "ready for next step" statement
Provide relevant project structure and conventions. Enables autonomous operation.
## PROJECT CONTEXT
### Project Structure
project/ ├── app/Controllers/ # HTTP handlers ├── app/Services/ # Business logic └── app/Models/ # Database models
### Key Commands
```bash
composer run dev # Start development
php artisan test # Run tests
## Agent Description Best Practices
The description field is critical for Task tool routing. Claude uses it to select the right agent.
**Format:** `[Role statement]. Use for [specific task types].`
**Good descriptions:**
```yaml
# Specific role + clear triggers
description: Senior PHP/Laravel backend developer. Use for controllers, models, services, middleware, Eloquent ORM, database migrations, API endpoints, authentication, and PHPUnit testing.
# Clear scope + deferral
description: Frontend CSS/HTML craftsman specializing in bulletproof interfaces. Use for CSS architecture, responsive design, Blade templates. Defers to laravel-backend-developer for PHP.
# Domain-specific expertise
description: AWS infrastructure engineer. Use for Cognito, RDS, Lambda, VPC, IAM, SES, SNS, Secrets Manager, EventBridge, CloudWatch, and boto3 operations.
Bad descriptions:
# Too vague
description: Helps with code
# No trigger conditions
description: A senior developer
# Process summary (causes shortcut behavior)
description: Reviews code by checking style, then logic, then tests
Choose the right model for the task complexity:
| Model | Use When | Cost |
|---|---|---|
| haiku | Quick, straightforward tasks | Low |
| sonnet | Balanced complexity (default) | Medium |
| opus | Deep reasoning, architecture decisions | High |
# Example: Code simplification needs deep judgment
model: opus
# Example: Documentation generation is straightforward
model: haiku
Omit model to inherit from parent conversation.
Focused on a single domain with clear boundaries and deferral rules.
You are a [specialist role] focused on [specific domain].
**Your scope:**
- [Capability 1]
- [Capability 2]
**Defer to [other-agent] for:**
- [Out-of-scope area 1]
- [Out-of-scope area 2]
Coordinates other agents, manages workflow, doesn't do implementation.
You orchestrate [workflow type]. You delegate to specialist agents and track progress.
**You manage:**
- Task breakdown and assignment
- Progress tracking
- Integration of results
**You do NOT:**
- Write code directly
- Make implementation decisions
- Deploy without approval
Evaluates work against criteria, provides structured feedback.
You review [artifact type] against [criteria].
**Review process:**
1. [Step 1]
2. [Step 2]
3. [Step 3]
**Output format:**
- Status: [PASS/FAIL/NEEDS_CHANGES]
- Issues: [List]
- Recommendations: [List]
Run representative tasks with a generic prompt. Document:
Address specific baseline failures:
Test edge cases:
Research Phase:
Context Phase:
.claude/agents/ for patternsRED Phase:
GREEN Phase:
REFACTOR Phase:
Quality Checks:
Deployment:
.claude/agents/[name].md# BAD: Could be anyone
You are a helpful assistant.
# GOOD: Specific expertise and context
You are a senior PHP/Laravel backend developer with deep expertise in Laravel 11, PHP 8.2, and PostgreSQL with PostGIS for the FlySpaceA platform.
# BAD: No limits
You can help with anything.
# GOOD: Clear boundaries with deferral
**Not in scope** (defer to bulletproof-frontend-developer):
- CSS, Tailwind, styling
- JavaScript, Alpine.js
- Blade template layout
# BAD: Too general
- Write good code
- Follow best practices
# GOOD: Specific and actionable
- **N+1 prevention** -- always use `with()` for relationships
- **Never use `env()`** outside config files -- use `config()` helper
# BAD: Claude may follow description instead of reading agent
description: Reviews code by first checking style, then logic, then tests, finally creating report
# GOOD: Just triggers, no process
description: Code quality reviewer. Use after completing features to check against standards.
Agents are autonomous specialists. They need:
Test your agents on real tasks. A well-defined persona produces consistent, reliable behavior. A vague persona produces unpredictable results.