From claude-skills
Generates markdown agent files with YAML frontmatter for Claude Code, configuring system prompts, tools, and isolation for autonomous task delegation in plugins.
npx claudepluginhub gupsammy/claudest --plugin claude-skillsThis skill uses the workspace's default tool permissions.
Generate well-structured Claude Code agents — markdown files with YAML frontmatter that delegate
Guides creation, design, implementation, and validation of specialized Claude agents using templates, archetypes (analyzer, reviewer), scaffolding, and workflows.
Guides creation of autonomous agents for Claude Code plugins, covering Markdown file structure, YAML frontmatter (name, description, model, color, tools), system prompts, triggering examples, and best practices.
Guides creation of Claude Code agents including frontmatter fields like name, description with triggering examples, model, tools, system prompts, and file structure.
Share bugs, ideas, or general feedback.
Generate well-structured Claude Code agents — markdown files with YAML frontmatter that delegate complex multi-step work to autonomous subprocesses with isolated context windows.
Agents vs Skills — know the difference before generating:
> folded scalar descriptions (50-70 tokens, no <example> blocks), and are spawned via the Task toolParse $ARGUMENTS for hints. Gather:
isolation: worktree)?If $ARGUMENTS is empty or insufficient, use AskUserQuestion to gather domain, trigger conditions, and proactive intent before proceeding. Proceed to Phase 1 once these are established.
Apply throughout: second-person for system prompt body, intensional over extensional reasoning, minimum viable frontmatter.
Naming rules (enforced by validate_agent.py):
helper, assistant, agentGood: code-reviewer, test-generator, api-docs-writer
Bad: ag (too short), -start (leading hyphen), my_agent (underscore)
Read ${CLAUDE_PLUGIN_ROOT}/skills/create-agent/references/agent-frontmatter.md for the full
field catalog, color semantics, model options, tool selection framework, and execution modifiers.
Required: name, description
Always set: model: inherit (unless specific model capability needed), color (visual ID in UI)
Intensional rule for tools: Restrict to the minimum needed because agents run autonomously —
over-permission has no human in the loop to catch it. ["Read", "Grep", "Glob"] for analysis.
Add Write for generation. Add Bash only when shell execution is essential, never by default.
The description field is loaded into context every session. Token budget matters — write the minimum needed for accurate routing.
Use a > folded scalar with:
<example> blocks — they waste context without improving routing.The markdown body (after ---) becomes the agent's system prompt. Write entirely in second person,
addressing the agent directly. This is the critical authoring difference from skills: agents need
a persona and process, not instructions for Claude to follow.
Standard structure:
You are [role] specializing in [domain].
**Your Core Responsibilities:**
1. [Primary responsibility]
2. [Secondary responsibility]
**Process:**
1. [Step — imperative]
2. [Next step]
**Quality Standards:**
- [Standard]
**Output Format:**
[Structure and content of what to return]
**Edge Cases:**
- [Situation]: [How to handle]
Intensional rules for the system prompt:
Keep under 3,000 words. Detailed domain reference belongs in references/ preloaded via the
skills: frontmatter field, not embedded directly in the system prompt.
See ${CLAUDE_PLUGIN_ROOT}/skills/create-agent/examples/proactive-code-reviewer.md for a
complete working example demonstrating the proactive trigger pattern.
Read ${CLAUDE_PLUGIN_ROOT}/skills/create-agent/references/script-patterns.md and apply the
five signal patterns to every step in the agent's system prompt:
| Signal | Question | If yes → |
|---|---|---|
| Repeated Generation | Does any step produce the same structure across invocations? | Parameterized script in scripts/ |
| Unclear Tool Choice | Does any step combine tools in a fragile sequence? | Script the procedure |
| Rigid Contract | Can you write --help text for this step right now? | CLI candidate |
| Dual-Use Potential | Would a user run this step from the terminal independently? | Design as proper CLI |
| Consistency Critical | Must this step produce identical output for identical inputs? | Script — never LLM generation |
Scan existing agents and skills before finalizing:
Glob: .claude/agents/*.md, ~/.claude/agents/*.md (project + global agents)
Glob: .claude/skills/*/SKILL.md, ~/.claude/skills/*/SKILL.md (project + global skills)
skills: frontmatter for domain knowledge?Always use fully qualified names:
Task: subagent_type=plugin-dev:agent-creator (not just "agent-creator")Skill: claude-skills:create-skill (not just "create-skill")When creating a new agent file:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/create-agent/scripts/validate_agent.py <agent-file> --output json
Exit 0 = proceed to Phase 2. Exit 1 = parse the errors array; each entry has field, message,
severity. Resolve all critical and major items before writing to disk.
| Scope | Location |
|---|---|
| User agent (global) | ~/.claude/agents/<name>.md |
| Project agent | .claude/agents/<name>.md |
| Plugin agent | <plugin-root>/agents/<name>.md |
Agents in agents/ are auto-discovered — no registration needed. Plugin agents are namespaced
automatically as plugin-name:agent-name.
When creating from scratch:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/create-agent/scripts/init_agent.py <name> --path <agents-dir>
Exit 0 = file created with placeholders, proceed to fill content. Exit 1 = naming collision; ask user to rename or confirm overwrite.
Present the generated agent with brief rationale:
model: sonnet because this agent performs complex multi-file reasoning"isolation unset; no git state management needed"Before writing:
Writing to: [path]
This will [create new / overwrite existing] file.
Proceed?
Summarize:
Proceed to Phase 3.
| Dimension | Criteria |
|---|---|
| Clarity (0-10) | System prompt unambiguous, objective and persona clear |
| Trigger Precision (0-10) | Description + examples cover intended trigger space, not broader |
| Efficiency (0-10) | System prompt token economy — maximum guidance per token |
| Completeness (0-10) | Covers domain requirements; output format defined; edge cases addressed |
| Safety (0-10) | Tools restricted to minimum needed; no runaway permission grants |
Target: 9.0/10.0. If below, refine once addressing the weakest dimension, then deliver.
Phase 3 is complete when score ≥ 9.0 or one refinement pass has run. Deliver: agent file path, key trigger conditions, tools granted and why.
Structure:
<name>.md in an agents/ directoryname and descriptionDescription Quality:
> scalar, 50-70 tokens, no <example> blocksSystem Prompt Quality:
Frontmatter:
model: inherit unless specific model neededcolor set and semantically meaningfultools restricted to minimum needed| Issue | Action |
|---|---|
| Unclear domain | Ask: what does success look like for this agent? |
| Scope too broad | Split into 2–3 focused agents with non-overlapping trigger conditions |
| Conflicts with existing agent | Note overlap; narrow triggering scope or extend the existing one |
| Vague trigger conditions | Ask for 3 concrete user messages that should activate this agent |