writing-agents

Create and test Claude Code subagent definitions using a test-driven development workflow.

13|2|Updated Feb 10, 2026
One-click install
npx skills add https://github.com/aaddrick/written-voice-replication --skill writing-agents-aaddrick
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: writing-agents
Source: https://github.com/aaddrick/written-voice-replication/tree/main/.claude/skills/writing-agents
Command: npx skills add https://github.com/aaddrick/written-voice-replication --skill writing-agents-aaddrick

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing effective Claude Code agents is hard: vague personas produce unpredictable behavior, missing scope boundaries cause scope creep, and untested agents fail on real tasks. This Skill applies a test-driven development cycle (RED-GREEN-REFACTOR) to agent authoring so each agent is validated against representative tasks before deployment. ## Core Features & Use Cases - Structured agent authoring workflow: Research domain best practices via web search, gather codebase context, then write persona, scope boundaries, anti-patterns, and coordination protocols. - Reusable templates: Includes specialist, reviewer, orchestrator, and minimal agent templates in agent-templates.md for common subagent patterns. - TDD-based validation: Baseline testing without the agent (RED), minimal agent to fix failures (GREEN), and edge-case refactoring to close loopholes (REFACTOR). - Use Case: You need a Laravel backend reviewer agent. The Skill guides you to research Laravel anti-patterns, explore your project structure, write the agent definition with clear deferral rules, test it on real review tasks, and place it in .claude/agents/. ## Quick Start Ask Claude to use the writing-agents skill to create a new code reviewer agent for your project and test it on a representative task.

Frequently Asked Questions about writing-agents

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Claude Code subagent?▼

Write a Markdown file with YAML frontmatter (name, description, optional model) in the project's .claude/agents/ directory. Define a specific persona, explicit scope boundaries, anti-patterns, and coordination protocols, then restart the session so the agent loads.

What is the difference between a Claude Code agent and a skill?▼

Agents are invoked via the Task tool with a subagent_type, receive full conversation context, and execute autonomously with a defined persona. Skills are loaded on-demand as reference guidance for reusable patterns and techniques.

How do I test whether an agent definition works correctly?▼

Use a RED-GREEN-REFACTOR cycle: run representative tasks without the agent to document baseline failures, write a minimal agent addressing those failures, then test edge cases to verify scope boundaries, deferral, and coordination protocols.

Why is my new agent not available in the Task tool?▼

Agents are loaded at session start, so a newly created or modified agent file will not appear until you restart the Claude Code session. After restarting, invoke it with the Task tool using its subagent_type name.

What makes a good agent description for Task tool routing?▼

Use the format: role statement plus specific trigger task types, kept under 500 characters. Avoid vague descriptions and never include process summaries, since Claude may follow the description instead of reading the full agent definition.