From claude-resources
Creates custom Claude Code subagents via YAML frontmatter. Covers file format, tools, models, permissions, memory, and placement for task delegation.
npx claudepluginhub takazudo/claude-resourcesThis skill uses the workspace's default tool permissions.
Custom agents are **Markdown files with YAML frontmatter** stored in:
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Custom agents are Markdown files with YAML frontmatter stored in:
| Location | Scope |
|---|---|
$HOME/.claude/agents/ | All projects (personal) |
.claude/agents/ | Current project only |
| Field | Required | Description |
|---|---|---|
name | Yes | Lowercase letters and hyphens identifier |
description | Yes | What the agent does. Claude uses this to decide when to delegate |
model | No | sonnet, opus, haiku, or inherit (default) |
tools | No | Allowlist of tools. Inherits all if omitted. Use Task(agent-name) to restrict subagent spawning |
disallowedTools | No | Denylist of tools |
permissionMode | No | default, acceptEdits, delegate, dontAsk, bypassPermissions, plan |
maxTurns | No | Max agentic turns before stopping |
skills | No | Skills to preload at startup |
mcpServers | No | MCP servers available to agent |
hooks | No | Lifecycle hooks scoped to agent |
memory | No | user, project, or local - persistent memory across sessions |
color | No | Color for UI display |
Ask user:
$HOME/.claude/agents/) or project-scoped (.claude/agents/)?Model selection:
opus - Complex reasoning, code review, architecture decisionssonnet - General development, balanced speed/qualityhaiku - Fast simple tasks, formatting, quick lookupsTool restrictions:
tools: Read, Grep, Globtools (inherits all)disallowedTools: WebFetch, WebSearchKey constraints:
Path safety -- NEVER use ~ in agent instructions:
~ (tilde) is only expanded by interactive shells. It is NOT expanded by Node.js fs operations, non-login shell contexts, or most programmatic file APIs. Using ~ in file paths passed to fs.writeFileSync, fs.mkdirSync, etc. will create a literal directory named ~ inside the working directory$HOME instead of ~ for home directory paths. For example: $HOME/cclogs/... not ~/cclogs/..., $HOME/.claude/... not ~/.claude/...Template:
---
name: agent-name
description: One sentence describing when Claude should delegate to this agent
model: sonnet
tools: Read, Grep, Glob, Bash
---
You are a specialized [role]. [Core instruction in 1-2 sentences.]
## Responsibilities
[What this agent does - keep concise]
## Workflow
[Step-by-step procedure if applicable]
Format the created agent file using the mdx-formatter to ensure consistent markdown formatting:
pnpm dlx @takazudo/mdx-formatter --write <path-to-agent-file.md>
After creating the file, verify:
---
name: code-explorer
description: Explore and explain codebase architecture and patterns
tools: Read, Grep, Glob
model: sonnet
---
You are a codebase explorer. Analyze code structure,
explain architecture, and find patterns.
---
name: project-dev
description: Project-aware developer that learns conventions over time
model: opus
memory: project
---
You are a developer for this project. Maintain memory of
conventions, patterns, and architectural decisions.
subagent_type parametercontext: fork + agent: agent-nameclaude --agent agent-name