Installs into .claude/skills of the current project.
Are you the author of Custom Agent?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/duc01226-custom-agent)
---
name: custom-agent
description: '[AI & Tools] Use when creating, verifying, or enhancing Claude Code custom agent files.'
disable-model-invocation: true
---
> Codex compatibility note:
> - Invoke repository skills with `$skill-name` in Codex; this mirrored copy rewrites legacy Claude `/skill-name` references.
> - Host-native execution: Codex runs a skill by loading its `SKILL.md` instructions and executing the required steps with available tools. No separate `Skill` tool is required; a loaded skill is already activated.
> - Source vs execution: prefer the registered `.agents/skills/<name>/SKILL.md` for Codex execution. `.claude/**` remains the canonical authoring source; reading it for a registry or source inspection does not switch this session to Claude Code.
> - Capability check: interpret Claude tool names through the active host before declaring a blocker. Continue when Codex can perform the required operation; stop and ask only when the actual capability is unavailable, naming the step and evidence. Host-native execution is not a protocol deviation and needs no extra approval.
> - Task tracker mandate: BEFORE executing any workflow or skill step, create/update task tracking for all steps and keep it synchronized as progress changes.
> - Use ask user tool to ask user.
> - Ignore Claude-specific mode-switch instructions when they appear.
> - Strict execution contract: when a user explicitly invokes a skill, execute that skill protocol as written.
> - Subagent authorization: when a skill is user-invoked or AI-detected and its protocol requires subagents, that skill activation authorizes use of the required `spawn_agent` subagent(s) for that task.
> - Do not skip, reorder, or merge protocol steps unless the user explicitly approves the deviation first.
> - For workflow skills, steps follow the guided contract in `$start-workflow` (gate steps fixed; other steps may flex with a logged reason); report step-by-step evidence.
> - If a required step/tool cannot run in this environment, stop and ask the user before adapting.
## Quick Summary
**Goal:** Create new custom agents, audit existing agent quality, or enhance agent definitions so each agent is valid, least-privilege, structurally complete, and ready for safe delegation.
**Summary:** Route the request to Create, Audit, or Enhance; inspect existing agents and conventions; apply only confirmed changes; then validate frontmatter, tools, prompt structure, and quality score.
**Workflow:** Detect mode (Create/Audit/Enhance) from `$ARGUMENTS` → Execute → Validate
**Key Rules:**
- Agent files: `.claude/agents/{name}.md` with YAML frontmatter + markdown body as system prompt
- Agent does NOT inherit Claude Code system prompt — write complete instructions
- Minimize tools to only what the agent needs
- System prompt structure: `## Role` → `## Workflow` → `## Key Rules` → `## Output`
**Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).**
## Modes
| Mode | Trigger | Action |
| ----------- | ---------------------------------------------- | ---------------------- |
| **Create** | `$ARGUMENTS` describes a new agent | Create agent file |
| **Audit** | mentions verify, audit, review, check, quality | Audit existing agents |
| **Enhance** | mentions refactor, enhance, improve, optimize | Improve existing agent |
## Mode 1: Create Agent
1. **Clarify** — ask user tool: purpose, read-only vs read-write, model preference, memory needs
2. **Check Existing** — Glob `.claude/agents/*.md` for similar agents. Avoid duplication.
3. **Scaffold** — Create `.claude/agents/{name}.md` using frontmatter template below
4. **Write System Prompt** — Structure: `## Role` → `## Workflow` → `## Key Rules` → `## Output`
5. **Validate** — Run audit checklist below
## Mode 2: Audit Agents
1. **Discover** — Glob `.claude/agents/*.md`
2. **Parse** — Read first 30 lines of each, extract frontmatter
3. **Validate** — Check each audit rule below
4. **Report** — Issues grouped by severity (Error > Warning > Info), include quality scores
5. **Fix** — If user confirms, fix Error-level issues automatically
## Mode 3: Enhance Agent
1. **Read** — Load specified agent file
2. **Analyze** — Check against best practices and audit checklist
3. **Recommend** — List improvements with rationale
4. **Apply** — If user confirms, apply enhancements
---
## Agent Frontmatter Schema
```yaml
---
# REQUIRED
name: my-agent # Lowercase + hyphens only
description: >- # Claude uses this to decide when to delegate
Use this agent when [specific trigger scenarios].
# OPTIONAL — Tools
tools: Read, Grep, Glob, Bash # Allowlist (omit both → inherits all)
disallowedTools: Write, Edit # Denylist (removes from inherited set)
# Task(agent1, agent2) restricts spawnable subagents
# OPTIONAL — Model
model: inherit # inherit | sonnet | opus | haiku
# OPTIONAL — Permissions
permissionMode: default # default | acceptEdits | dontAsk | bypassPermissions | plan
# OPTIONAL — Skills (content injected at startup)
skills:
- skill-name
# OPTIONAL — MCP Servers
mcpServers:
- server-name
# OPTIONAL — Hooks (scoped to this agent)
hooks:
PreToolUse:
- matcher: 'Bash'
hooks:
- type: command
command: './scripts/validate.sh'
# OPTIONAL — Memory (MEMORY.md auto-injected, Read/Write/Edit auto-added)
memory: project # user (~/.claude/agent-memory/) | project (.claude/agent-memory/) | local (gitignored)
# OPTIONAL — Execution
background: false # true = always background task
isolation: worktree # Run in temporary git worktree
---
```
## Tool Restriction Patterns
| Agent Type | Recommended `tools` |
| -------------------- | --------------------------------------- |
| Explorer / `$investigate` | `Read, Grep, Glob, Bash` |
| Reviewer (read-only) | `Read, Grep, Glob` |
| Writer/Implementer | `Read, Write, Edit, Grep, Glob, Bash` |
| Researcher | `Read, Grep, Glob, WebFetch, WebSearch` |
| Orchestrator | `Read, Grep, Glob, Task(sub1, sub2)` |
Available tools: Read, Write, Edit, MultiEdit, Glob, Grep, Bash, WebFetch, WebSearch, Task, NotebookRead, NotebookEdit, task tracking, TaskUpdate, ask user tool, + MCP tools.
## Model Selection
| Model | Best For |
| --------- | ------------------------------------------------------------------------------------------------------ |
| `haiku` | Fast read-only: scanning, search, file listing |
| `sonnet` | Balanced: code review, debugging, analysis |
| `opus` | High-stakes: architecture, complex implementation. Better quality for code review, debugging, analysis |
| `inherit` | Default — match parent's model |
## Description Best Practices
```yaml
# BAD — too vague, Claude won't auto-delegate
description: Reviews code
# GOOD — specific trigger conditions
description: >-
Use this agent for comprehensive code review after implementing features,
before merging PRs, or when assessing code quality and technical debt.
```
- Include "Use this agent when..." phrasing with concrete scenarios
- Add "use proactively" to encourage auto-invocation
## Common Anti-Patterns
| Anti-Pattern | Fix |
| ---------------------------------- | ----------------------------------------- |
| No tool restrictions | Add `tools` allowlist |
| Vague description | Write specific trigger conditions |
| Giant system prompt | Keep concise, use `skills` for detail |
| Recursive subagents | Restrict `Task` in tools |
| Windows long prompts (>8191 chars) | Use file-based agents, not `--agents` CLI |
## Context Passing
- Agent receives ONLY its system prompt + task prompt — NOT parent conversation
- Parent receives ONLY agent's final result — NOT intermediate tool calls
- This isolation is the primary context management benefit
## Audit Checklist
| # | Check | Rule | Severity |
| --- | -------------------- | ------------------------------ | -------- |
| 1 | Frontmatter exists | Must have `---` delimiters | Error |
| 2 | Name present & valid | Lowercase + hyphens only | Error |
| 3 | Description present | Non-empty, >20 chars | Error |
| 4 | No duplicate names | Unique across all agent files | Error |
| 5 | Description quality | Specific trigger scenarios | Warning |
| 6 | Tools minimal | Only what agent needs | Warning |
| 7 | Prompt structure | Has `## Role` + `## Workflow` | Warning |
| 8 | Model set | When task differs from default | Info |
**Quality Score:** Valid frontmatter (20) + Description >50 chars (20) + Tools restricted (15) + Role section (15) + Workflow section (10) + Model set (10) = 90. Rating: 80+ Excellent, 60-79 Good, 40-59 Needs Work, <40 Poor.
## File Priority (highest first)
1. `--agents` CLI flag (session only)
2. `.claude/agents/*.md` (project)
3. `~/.claude/agents/*.md` (user)
4. Plugin `agents/` directory
Same `name` across levels: higher-priority wins. Use `claude agents` CLI to list all.
## Requirements
<user-prompt>$ARGUMENTS</user-prompt>
---
**IMPORTANT Task Planning Notes (MUST ATTENTION FOLLOW)**
- Always break work into small todo tasks
- Always add a final review todo task
---
> **[IMPORTANT]** Use task tracking to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.
## Closing Reminders
**IMPORTANT MUST ATTENTION Goal:** Create new custom agents, audit existing agent quality, or enhance agent definitions so each agent is valid, least-privilege, structurally complete, and ready for safe delegation.
**IMPORTANT MUST ATTENTION** follow the mode-specific path: detect mode → Create: clarify, check existing agents, scaffold, write the system prompt, validate; Audit: discover, parse, validate, report, and fix only after confirmation; Enhance: read, analyze, recommend, apply only after confirmation; then run the final audit checklist and quality-score validation.
**Protocols in force (concise digest of the SYNC/shared blocks this skill carries):**
- **AI Mistakes:** holistic-first debug, fix at responsible layer, surgical diff, verify ALL outputs.
- **MANDATORY IMPORTANT MUST ATTENTION** break work into small todo tasks using task tracking BEFORE starting
- **MANDATORY IMPORTANT MUST ATTENTION** search codebase for 3+ similar patterns before creating new code
- **MANDATORY IMPORTANT MUST ATTENTION** cite `file:line` evidence for every claim (confidence >80% to act)
- **MANDATORY IMPORTANT MUST ATTENTION** add a final review todo task to verify work quality
**[TASK-PLANNING]** Before acting, analyze task scope and systematically break it into small todo tasks and sub-tasks using task tracking.