Help us improve
Share bugs, ideas, or general feedback.
From agentify
Create Claude Code subagent files for a project by analyzing the codebase and turning useful roles/workflows into .claude/agents/*.md files.
npx claudepluginhub 0xmh/claude-agentify --plugin agentifyHow this skill is triggered — by the user, by Claude, or both
Slash command
/agentify:agentify [project path or agent brief]When to use
Use when the user wants to create Claude Code agent files, subagents, project agents, or a reusable agent setup for a repo. Examples: '/agentify', 'make agents for this project', 'create subagents for this repo', 'agentify this codebase', 'build Claude agents for this project'.
[project path or agent brief]briefThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create Claude Code subagent files for the current project or for the project named in `$brief`.
Guides deployment workflows with CI/CD patterns, rolling/blue-green/canary strategies, multi-stage Dockerfiles for Node.js, health checks, rollbacks, and production checklists for web apps.
Share bugs, ideas, or general feedback.
Create Claude Code subagent files for the current project or for the project named in $brief.
Produce a focused set of Claude Code subagent Markdown files that are useful for the project, valid for Claude Code, and saved in the right scope:
.claude/agents/<agent-name>.md~/.claude/agents/<agent-name>.mdClaude Code subagents are Markdown files with YAML frontmatter. Only name and description are required. Common optional fields are tools, disallowedTools, model, permissionMode, maxTurns, skills, mcpServers, hooks, memory, background, effort, isolation, color, and initialPrompt.
$brief: Optional project path, agent brief, or constraints. If omitted, use the current working directory and infer the agent set from the project.AGENTS.md, CLAUDE.md, commands, hooks, or settings unless the user explicitly asks for those files. This skill creates Claude Code subagent files..claude/agents/ so they can be committed and shared.Write or Edit. Implementers can get write tools only when their job needs them.Use this structure for each file. Mirror the canonical write order Claude Code itself uses (name, description, tools, model, effort, color, memory):
---
name: project-role
description: "Use this agent when ... <example>Context: ...\nuser: \"...\"\nassistant: \"...\"\n<commentary>...</commentary></example>"
tools: Read, Glob, Grep
model: inherit
color: blue
---
You are ...
Field rules (validated by Claude Code):
name (required): regex ^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$. Length 3-50. Must start AND end with an alphanumeric. Lowercase + hyphens is the convention; uppercase is permitted but avoid it. Filename must equal <name>.md.description (required): YAML double-quoted, escape newlines as \n. Should start with Use this agent when .... Soft length window 10-5000 chars. Include one or more <example> blocks (see Step 4) so auto-delegation has concrete trigger scenarios.tools (optional): comma-separated tool names, e.g. Read, Glob, Grep. Omit the field entirely to inherit all tools (do not write tools: *). Read-only roles must not get Write or Edit.model (optional): one of sonnet | opus | haiku | inherit. Default to inherit unless a specific tier is justified. Use haiku for cheap classification, opus only when the role demands deep reasoning.effort (optional): an effort level string or a positive integer. Omit unless tuning.color (optional): one of red | blue | green | yellow | purple | orange | pink | cyan.memory (optional): one of user | project | local. Add only when the agent will benefit from persistent notes across runs (reviewers, architects, etc.).Reader-only fields (parsed if present, but not part of the canonical write set; only include when explicitly needed):
disallowedTools: comma-separated tool names to block.permissionMode: own | approve | plan | chat.maxTurns: positive integer.isolation: worktree.background: boolean.initialPrompt: string prepended to the first user turn.skills, mcpServers, hooks: include only when the user requests them or the project clearly needs them.When drafting each agent, follow the same rules Claude Code's built-in agent-creation wizard follows. These are not stylistic preferences; they are how the parent Claude decides whether to delegate.
helper, assistant, manager, agent. Make it concrete (migration-checker, not db-helper).Use this agent when ... and embeds one or more <example> blocks. The example shape is:
<example>
Context: <one-line situation>
user: "<user message>"
assistant: "I'm going to use the Task tool to launch the <name> agent to ..."
<commentary>
<one-line reason this agent fires here.>
</commentary>
</example>
If the agent should fire proactively (without the user asking), say so in the description and add an example showing proactive invocation.omitClaudeMd), or the parent conversation.memory: is set): include a section telling the agent what to record. Template:
Update your agent memory as you discover [domain items]. This builds institutional knowledge across runs. Examples of what to record: [item 1], [item 2], [item 3].
pnpm test --filter=api from repo root" is useful.Use $brief to detect whether the user provided a path, a desired agent set, or global/personal scope.
If a path was provided, use it. Otherwise:
pwd.git rev-parse --show-toplevel.Choose the target directory:
~/.claude/agents/<project-root>/.claude/agents/Success criteria: Project root and target agent directory are identified. Any ambiguity about scope has been resolved before writing.
Read enough of the project to design useful agents:
CLAUDE.md, AGENTS.md, .claude/agents/*.md, .claude/skills/*/SKILL.md, .claude/commands/*.mdREADME*, package manifests, build files, test configs, CI configs, docs index filesAvoid reading generated/vendor directories such as node_modules, .git, dist, build, coverage, .next, target, .venv, vendor, and binary assets.
Success criteria: You can state the project's main stack, major workflows, existing Claude configuration, and the boundaries that justify each proposed agent.
Propose a compact list before writing files. For each agent, include:
nameUse AskUserQuestion for confirmation. Offer concrete choices such as:
Let the user provide freeform edits. If AskUserQuestion is unavailable, ask the same checkpoint in plain text.
Success criteria: The user has confirmed the proposed files or provided edits that have been incorporated.
Human checkpoint: Required before writing new files if more than one agent will be created or any existing agent name conflicts.
Each agent body should include:
Good project agent types include:
Avoid agents that duplicate Claude's normal behavior without project-specific value.
Success criteria: Every draft has valid frontmatter, a non-generic system prompt, scoped tools, and a clear output contract.
Create the target directory with mkdir -p.
For each agent:
<target-dir>/<name>.md.name.Success criteria: All confirmed agent files exist at the target path and contain the approved content.
Read the written files back. These checks mirror Claude Code's own validateAgent.ts and parseAgentFromMarkdown and will reject the file if they fail:
Frontmatter:
---.name matches ^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$, length 3-50.name equals filename without .md (case-sensitive).name is unique across the target agents directory.description is present, double-quoted, with newlines escaped as \n. Soft length window 10-5000 chars.description starts with Use this agent when ... and embeds at least one <example> block.tools (if present) is a comma-separated list of real Claude Code tool names. Read-only roles do not include Write, Edit, NotebookEdit, or write-capable Bash patterns.model (if present) is one of sonnet | opus | haiku | inherit.color (if present) is one of red | blue | green | yellow | purple | orange | pink | cyan.memory (if present) is one of user | project | local.permissionMode (if present) is one of own | approve | plan | chat.isolation (if present) is worktree.maxTurns (if present) is a positive integer.Body:
memory: is set.Filesystem:
<project-root>/.claude/agents/ (or ~/.claude/agents/ if user explicitly chose personal scope).Tell the user they can list installed subagents with:
claude agents
or open the in-app manager with /agents.
Success criteria: Every check above passes for every written file. Any failure is fixed before reporting completion.
Report:
Use the <agent-name> subagent to ....