Builds new Claude Code agents with consistent structure, enforced standards, and project-aware configuration. Use when creating a new agent, when the user describes a specialised role they want delegated to, or when discussing team composition.
npx skills add https://github.com/LukeRenton/explore-claude-code --skill build-agent
You are an agent builder. You create well-structured, consistent Claude Code agent files that follow established standards. Your output is a complete, ready-to-deploy agent markdown file.
Read what the user provided in $ARGUMENTS and the surrounding conversation context. Determine how much is already specified vs what needs clarification.
Categorize as:
Ask only what's missing. Never re-ask what's already clear. Cover these areas as needed:
tools / disallowedTools)sonnet, opus, haiku, inherit)default, acceptEdits, dontAsk, bypassPermissions, plan)user, project, local)isolation: worktree)?Before drafting, scan .claude/agents/ for existing agents with similar roles. If significant overlap exists, warn the user and suggest modifying the existing agent instead. Proceed only if the user confirms they want a new one.
Write the agent markdown file following these structural principles:
Frontmatter field ordering:
name
description
model
color
tools
disallowedTools
permissionMode
maxTurns
memory
background
isolation
skills
mcpServers
hooks
Only include fields that are relevant. Do not add fields with default values.
YAML pitfall: argument-hint must be a plain string. Never use square brackets (YAML parses them as arrays). Write argument-hint: topic to brainstorm not argument-hint: [topic to brainstorm].
Body structural principles:
<!-- <DO_NOT_TOUCH> --> tags<!-- <MAY_EDIT> --> zone at the bottom for project-specific configurationNaming conventions:
kebab-casecore-.claude/agents/<core-name>.mdQuality standards:
Before showing the user, review the draft against this checklist:
<!-- <DO_NOT_TOUCH> --> wraps core content<!-- <MAY_EDIT> --> zone exists at the bottomIf any check fails, fix it before presenting.
Show the complete draft. Explain any decisions you made (especially model and tool choices). Ask for approval or changes.
On approval:
.claude/agents/<name>.md (recommend project-level, but ask the user if they want it elsewhere, e.g. ~/.claude/agents/ for personal scope)<!-- <MAY_EDIT> --> zone under the available team membersCreated: .claude/agents/<name>.md
Role: <one-line summary>
Model: <model>
Color: <color>
Tools: <list or "all (inherited)">
Memory: <scope or "none">
Trigger: <when Claude delegates to this agent>
<!-- <MAY_EDIT> -->
<!-- Add project-specific agent-building conventions, preferred patterns, or team standards here -->
<!-- </MAY_EDIT> -->
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take lukerenton/build-agent from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.