/agent-creator
Creates new specialized agents with frontmatter, tools, delegation. Triggers: new agent, create agent, agent scaffold, specialized agent.
$ npx -y skills add softspark/ai-toolkit --skill agent-creator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/agent-creator
Context preview
The summary Claude sees to decide when to auto-load this skill.
Creates new specialized agents with frontmatter, tools, delegation. Triggers: new agent, create agent, agent scaffold, specialized agent.
SKILL.md
agent-creator.SKILL.mdname: agent-creator
description: "Creates new specialized agents with frontmatter, tools, delegation. Triggers: new agent, create agent, agent scaffold, specialized agent."
effort: high
disable-model-invocation: true
argument-hint: "[agent name or role]"
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
Agent Creator
$ARGUMENTS
Create a new specialized agent following ai-toolkit conventions.
Workflow
1. **Capture role** -- what problem space should the agent own? 2. **Define triggers** -- which keywords or task types should route to this agent? 3. **Choose tools** -- minimal tool set, least privilege first 4. **Choose model** -- `opus` for deep reasoning, `sonnet` for lighter pattern work 5. **Map supporting skills** -- which knowledge skills should the agent reference? 6. **Write instructions** -- capabilities, constraints, escalation rules, deliverables 7. **Validate** -- frontmatter, naming, skills references, tool whitelist
Required Frontmatter
---
name: agent-name
description: "When to use this agent. Triggers: keyword1, keyword2."
tools: Read, Write, Edit
model: sonnet
skills: skill-one, skill-two
---
Authoring Rules
- **MUST** match filename and `name:` using lowercase-hyphen format — drift breaks routing
- **MUST** include an explicit `Triggers:` list in the description so the router can dispatch deterministically
- **NEVER** reference skills that do not exist — either create the dependency first or drop the reference
- **NEVER** grant write access to `.claude/agents/` — that authority belongs to `meta-architect` alone
- **CRITICAL**: avoid tool bloat. Every extra tool widens blast radius; start from `Read` and justify additions one by one
- Give the agent a clear boundary: what it owns and what it must escalate
- Prefer specialized, narrow responsibility over generic "do everything" agents
Agent Skeleton
---
name: {agent-name}
description: "When to use this agent. Triggers: keyword1, keyword2."
tools: Read, Edit
model: sonnet
skills: relevant-skill
---
You are a specialized agent for {domain}.
## Responsibilities
- Responsibility one
- Responsibility two
## Constraints
- Do not edit files outside owned scope unless required
- Escalate security, data-loss, or architecture risks
## Deliverables
- Clear findings
- Specific edits or recommendations
- Validation notesValidation Checklist
- [ ] Filename matches `name:` in frontmatter
- [ ] Description includes trigger words and use cases
- [ ] Tools are from the approved Claude Code tool set
- [ ] Referenced skills exist
- [ ] Model choice matches expected complexity
- [ ] `scripts/validate.py` passes after adding the agent
Gotchas
- The `description` is the **only** content the model sees at routing time (progressive disclosure, tier 1). Adding triggers to the body without putting them in `description` means the agent is invisible to the router.
- `tools:` parser acceptance varies between Claude Code, ai-toolkit adapters, and downstream consumers — some accept comma-separated, some space-separated, some YAML lists. Stick to one style consistent with neighbouring agents in the repo and let `scripts/validate.py` catch drift.
- Agent `name` is capped at 64 chars; some consumers silently truncate longer names, which then **fail to match** the filename at load time. Keep names short and unambiguous.
- `skills:` can reference skills inside plugin packs; if the user has not enabled that pack, the agent fails on first invocation with an opaque "skill not found" error. Either reference only in-tree skills, or document the plugin prerequisite in the agent body.
When NOT to Use
- For a **skill** (slash command or knowledge doc) — use `/skill-creator` instead
- For a **slash command** that is *not* an agent delegate — use `/command-creator`
- For a **plugin pack** bundling multiple agents and skills — use `/plugin-creator`
- To *modify* an existing agent — delegate to the `meta-architect` agent; this skill is create-only
- When the task is really a workflow (orchestrator + N specialists) — reach for `/orchestrate` or `/workflow` before minting a new agent
Read more
name: agent-creator description: "Creates new specialized agents with frontmatter, tools, delegation. Triggers: new agent, create agent, agent scaffold, specialized agent." effort: high disable-model-invocation: true argument-hint: "[agent name or role]" allowed-tools: Read, Write, Edit, Bash, Grep, Glob
Agent Creator
$ARGUMENTS
Create a new specialized agent following ai-toolkit conventions.
Workflow
1. **Capture role** -- what problem space should the agent own? 2. **Define triggers** -- which keywords or task types should route to this agent? 3. **Choose tools** -- minimal tool set, least privilege first 4. **Choose model** -- `opus` for deep reasoning, `sonnet` for lighter pattern work 5. **Map supporting skills** -- which knowledge skills should the agent reference? 6. **Write instructions** -- capabilities, constraints, escalation rules, deliverables 7. **Validate** -- frontmatter, naming, skills references, tool whitelist
Required Frontmatter
--- name: agent-name description: "When to use this agent. Triggers: keyword1, keyword2." tools: Read, Write, Edit model: sonnet skills: skill-one, skill-two ---
Authoring Rules
- **MUST** match filename and `name:` using lowercase-hyphen format — drift breaks routing
- **MUST** include an explicit `Triggers:` list in the description so the router can dispatch deterministically
- **NEVER** reference skills that do not exist — either create the dependency first or drop the reference
- **NEVER** grant write access to `.claude/agents/` — that authority belongs to `meta-architect` alone
- **CRITICAL**: avoid tool bloat. Every extra tool widens blast radius; start from `Read` and justify additions one by one
- Give the agent a clear boundary: what it owns and what it must escalate
- Prefer specialized, narrow responsibility over generic "do everything" agents
Agent Skeleton
---
name: {agent-name}
description: "When to use this agent. Triggers: keyword1, keyword2."
tools: Read, Edit
model: sonnet
skills: relevant-skill
---
You are a specialized agent for {domain}.
## Responsibilities
- Responsibility one
- Responsibility two
## Constraints
- Do not edit files outside owned scope unless required
- Escalate security, data-loss, or architecture risks
## Deliverables
- Clear findings
- Specific edits or recommendations
- Validation notesValidation Checklist
- [ ] Filename matches `name:` in frontmatter
- [ ] Description includes trigger words and use cases
- [ ] Tools are from the approved Claude Code tool set
- [ ] Referenced skills exist
- [ ] Model choice matches expected complexity
- [ ] `scripts/validate.py` passes after adding the agent
Gotchas
- The `description` is the **only** content the model sees at routing time (progressive disclosure, tier 1). Adding triggers to the body without putting them in `description` means the agent is invisible to the router.
- `tools:` parser acceptance varies between Claude Code, ai-toolkit adapters, and downstream consumers — some accept comma-separated, some space-separated, some YAML lists. Stick to one style consistent with neighbouring agents in the repo and let `scripts/validate.py` catch drift.
- Agent `name` is capped at 64 chars; some consumers silently truncate longer names, which then **fail to match** the filename at load time. Keep names short and unambiguous.
- `skills:` can reference skills inside plugin packs; if the user has not enabled that pack, the agent fails on first invocation with an opaque "skill not found" error. Either reference only in-tree skills, or document the plugin prerequisite in the agent body.
When NOT to Use
- For a **skill** (slash command or knowledge doc) — use `/skill-creator` instead
- For a **slash command** that is *not* an agent delegate — use `/command-creator`
- For a **plugin pack** bundling multiple agents and skills — use `/plugin-creator`
- To *modify* an existing agent — delegate to the `meta-architect` agent; this skill is create-only
- When the task is really a workflow (orchestrator + N specialists) — reach for `/orchestrate` or `/workflow` before minting a new agent
Professional-grade AI coding toolkit with multi-platform support. Machine-enforced safety, 109 skills, 44 agents, expanded lifecycle hooks, persona presets, experimental opt-in plugin packs, and benchmark tooling — works with Claude Code, Claude Chat/Cowork,
Repo: softspark/ai-toolkit
Other skills on ai-toolkit.
- /ai-toolkit-rules
Mandatory engineering, security, testing, git, performance, quality, and response rules. Claude MUST load this skill for every technical, coding, debugging, review, architecture, DevOps, data, or file-editing task in Chat or Cowork.
Open skill - /mem-search
Search past coding sessions using natural language. Finds relevant observations, decisions, and context from previous work.
Open skill - /a11y-validate
Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. Triggers: a11y, accessibility, WCAG, EAA, ARIA, contrast, keyboard, screen reader.
Open skill - /analyze
Analyzes code quality, complexity, patterns across codebase. Triggers: quality report, hotspot scan, code analysis, architecture signal.
Open skill - /api-patterns
REST/GraphQL API design: naming, versioning, pagination, idempotency, OpenAPI. Triggers: API design, REST, GraphQL, OpenAPI, Swagger, idempotency, rate limit.
Open skill - /app-builder
App scaffolding: Next.js, Vite, Nuxt, Astro, FastAPI, Django, Laravel, RN, Flutter. Triggers: scaffold, bootstrap, new project, starter, dashboard, mobile app.
Open skill

