Skill
create-agent
Scaffold a new custom agent configuration with Claude Agent SDK patterns. Use when adding a new specialized subagent.
From tacInstall
1
Run in your terminal$
npx claudepluginhub melodic-software/claude-code-plugins --plugin tacTool Access
This skill is limited to using the following tools:
ReadWriteGlob
Skill Content
Create Agent
Scaffold a new custom agent configuration.
Arguments
$1: Agent name (kebab-case)$ARGUMENTS: High-level purpose description (after name)
Instructions
You are creating a new custom agent scaffold using Claude Agent SDK patterns.
Step 1: Parse Arguments
Extract:
- Agent name from
$1(required) - Purpose from remaining arguments
If no name provided, STOP and ask for agent name. If no purpose provided, STOP and ask for purpose description.
Step 2: Design Agent
Based on the purpose, determine:
Model Selection:
- Simple transformations -> Haiku
- Balanced tasks -> Sonnet
- Complex reasoning -> Opus
System Prompt Architecture:
- Building new product -> Override
- Extending Claude Code -> Append
Tool Requirements:
- What tools needed?
- What tools should be blocked?
- Any custom tools required?
Step 3: Generate System Prompt
Create system prompt following structure:
# [Agent Name]
## Purpose
[Identity and role - 2-3 sentences]
## Instructions
[Core behaviors - bullet list]
## Constraints
[What agent must NOT do]
## Examples (if needed)
[Input/Output pairs]
Step 4: Generate Configuration
Create ClaudeAgentOptions configuration:
from claude_agent_sdk import ClaudeAgentOptions
def load_system_prompt() -> str:
prompt_file = Path(__file__).parent / "prompts" / "[agent]_system.md"
with open(prompt_file, "r") as f:
return f.read().strip()
options = ClaudeAgentOptions(
system_prompt=load_system_prompt(),
model="claude-[model]-...",
allowed_tools=[...],
disallowed_tools=[...],
)
Step 5: Generate Entry Point
Create basic agent script:
import asyncio
from pathlib import Path
from claude_agent_sdk import (
query,
ClaudeAgentOptions,
AssistantMessage,
TextBlock,
ResultMessage,
)
async def main():
options = ClaudeAgentOptions(...)
prompt = input("Enter prompt: ")
async for message in query(prompt=prompt, options=options):
if isinstance(message, AssistantMessage):
for block in message.content:
if isinstance(block, TextBlock):
print(block.text)
elif isinstance(message, ResultMessage):
print(f"Cost: ${message.total_cost_usd:.6f}")
if __name__ == "__main__":
asyncio.run(main())
Output
## Agent Created
**Name:** [agent-name]
**Model:** [haiku/sonnet/opus]
**Architecture:** [override/append]
### Files to Create
1. `[agent-name]/prompts/[agent]_system.md` - System prompt
2. `[agent-name]/[agent]_agent.py` - Agent implementation
3. `[agent-name]/README.md` - Documentation
### System Prompt
```markdown
[Generated system prompt]
Configuration
[Generated configuration]
Entry Point
[Generated script]
Next Steps
- Create the directory structure
- Save the system prompt
- Save the agent script
- Test with simple prompt
- Add custom tools if needed
- Add governance hooks if needed
Notes
- See @custom-agent-design skill for design workflow
- See @core-four-custom.md for configuration options
- See @system-prompt-architecture.md for prompt patterns
Similar Skills
Stats
Parent Repo Stars40
Parent Repo Forks6
Last CommitMar 17, 2026