From create-workflow
Generate agent definitions native to the target tool's runtime — Claude Code .claude/agents/*.md, Antigravity/Gemini agents with kind field, Hermes plugin-provided agents via register(ctx), Codex agent definitions, or Pi agent configs. Detects the active tool and emits the correct format. Invoked by scaffold or standalone via /generate-agents.
How this skill is triggered — by the user, by Claude, or both
Slash command
/create-workflow:generate-agentsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Produce agent definitions in the format native to the active AI coding tool.
Produce agent definitions in the format native to the active AI coding tool.
Agents are specialists — team members with focused expertise. Each agent has:
Detect which tool is running and emit native agent format:
| Signal | Tool | Agent Format |
|---|---|---|
.claude-plugin/ exists or CLAUDE_CODE env | Claude Code | .claude/agents/<name>.md with YAML frontmatter |
plugin.json at root with gemini fields | Antigravity/Gemini | agents/<name>.md with kind field in frontmatter |
plugin.yaml + __init__.py exist | Hermes | Python ctx.register_agent() in __init__.py |
.codex-plugin/ exists or CODEX env | Codex | .agents/<name>.md with YAML frontmatter |
package.json with "pi" key | Pi | pi/agents/<name>.md or TypeScript agent config |
When the tool cannot be detected, default to Claude Code format and warn.
Path: .claude/agents/<name>.md
---
name: <agent-name>
description: <what this agent does — when the system should invoke it>
model: <haiku|sonnet|opus>
tools:
- Read
- Grep
- Glob
---
# <Agent Name>
[Instructions for this agent's specific domain]
## When to Invoke
[Conditions that trigger this agent]
## Constraints
[What this agent must NOT do]
Path: agents/<name>.md
---
name: <agent-name>
description: <what this agent does>
kind: <reviewer|builder|researcher|analyst>
model: <gemini-2.5-flash|gemini-2.5-pro>
tools:
- Read
- Grep
- Glob
---
# <Agent Name>
[Instructions]
Key difference: Antigravity uses kind field for agent categorization and Gemini model names.
Agents registered via ctx.register_agent() in __init__.py:
def register(ctx):
ctx.register_agent(
name="code-reviewer",
description="Reviews code for quality and security",
instructions="You are a code reviewer. Focus on...",
model="sonnet",
tools=["Read", "Grep", "Glob"],
)
Path: .agents/<name>.md
---
name: <agent-name>
description: <what this agent does>
model: <gpt-4.1|o3|o4-mini>
tools:
- Read
- Grep
- Glob
---
# <Agent Name>
[Instructions]
Key difference: Codex uses OpenAI model names.
Path: pi/agents/<name>.md
---
name: <agent-name>
description: <what this agent does>
model: <haiku|sonnet|opus>
tools:
- Read
- Grep
- Glob
---
# <Agent Name>
[Instructions]
Pi shares Claude Code's model names (Anthropic provider).
When translating agents between tools, map models by capability tier:
| Tier | Claude Code | Antigravity/Gemini | Hermes | Codex | Pi |
|---|---|---|---|---|---|
| Fast/cheap | haiku | gemini-2.5-flash | haiku | o4-mini | haiku |
| Balanced | sonnet | gemini-2.5-flash | sonnet | gpt-4.1 | sonnet |
| Deep reasoning | opus | gemini-2.5-pro | opus | o3 | opus |
Read .claude/scaffold-decisions.md if it exists — primary source for resolved grill decisions. Map workflow roles from decisions to agent definitions.
Map workflow roles to agents:
| Workflow Role | Agent | Tier | Tools |
|---|---|---|---|
| Code review | code-reviewer | Balanced | Read, Grep, Glob |
| Security audit | security-reviewer | Deep | Read, Grep, Glob, Bash |
| Test writing | test-writer | Balanced | Read, Write, Edit, Bash |
| Documentation | doc-updater | Fast | Read, Write, Edit, Glob |
| Build triage | build-fixer | Balanced | Read, Edit, Bash, Grep |
| Deploy verify | deploy-verifier | Balanced | Read, Bash, Grep |
When --all-tools is passed, generate agents for ALL detected tools simultaneously. Emit each format to its native path. Model names are auto-translated using the cross-tool mapping table.
When invoked standalone, check for upstream primitives:
.claude/skills/): If empty, warn: "No skills found. Agents execute skills — consider running /generate-skills first.".claude/rules/): If empty, warn: "No rules found. Agents follow rules — consider running /generate-rules first."Informational, not blocking.
/generate-agents
$ARGUMENTS:
--list — List candidate agents without generating--name=reviewer,tester — Generate only specified agents--quick-grill — Abbreviated interrogation (3-5 questions)--tool=claude|antigravity|hermes|codex|pi — Force specific tool output (overrides detection)--all-tools — Generate agents for all detected tool manifestsnpx claudepluginhub zpankz/create-workflow --plugin create-workflowCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.