Generate production-ready agent .md and command .md files from designs. Enforces plugin subagent constraints and alias linkage. Trigger: spec agent, spec command, generate agent file, write command file, create agent specification.
"An agent without a clear role is a meeting without an agenda -- everyone is busy, nothing gets done."
Generates production-ready agent markdown files and command markdown files (canonical + alias pairs) from design documents. Enforces plugin subagent constraints: no hooks, mcpServers, or permissionMode in agent frontmatter. Validates kebab-case naming and cross-reference integrity.
argument-hint. [Read]WARNING: Unresolved skill reference.Compose the agent file with these sections:
Frontmatter (YAML):
name: kebab-case agent identifier.description: 1-2 sentence role description.tools: list of tools the agent uses.model: typically inherit.hooks, mcpServers, permissionMode (plugin subagent constraint).Title -- H1 with the agent name in title case.
Role -- 2-4 sentences defining what the agent does, which movement it owns, and its relationship to other agents.
Responsibilities -- Numbered list of high-level duties.
Skills Assigned -- Table with columns: #, Skill, Trigger.
Execution Flows -- One subsection per command/workflow showing the skill execution sequence as an indented flow diagram.
Operating Principles -- Numbered list of behavioral rules (5-8 items). Include safety, idempotency, and cross-reference rules.
hooks, mcpServers, permissionMode.tools list only contains valid tool names (Read, Write, Edit, Glob, Grep, Bash, etc.).For each canonical command:
Frontmatter (YAML):
description: 1 sentence describing what the command does.user-invocable: true.argument-hint: from design (use <> for required, [] for optional).Body:
For each alias:
Frontmatter (YAML):
alias-of: the canonical command name (without plugin prefix).description: same as canonical.user-invocable: true.Body: Single line stating this is an alias. Example: Alias for [canonical-name]. See commands/{canonical-name}.md.
^[a-z][a-z0-9]*(-[a-z0-9]+)*$.WARNING for each violation with suggested correction.skills/ directory. [Glob]commands/. [Glob]WARNING for each unresolved reference.hooks, mcpServers, permissionMode).alias-of pointer.design-agent's job.validate-structure will pass even if the command has nothing to do with validation.Bad agent spec:
---
name: my-agent
description: Does stuff
hooks:
PreToolUse: [...]
---
# My Agent
Handles validation.Missing: forbidden hooks field, no tools list, no skills table, no execution flows, no operating principles.
Good agent spec:
---
name: plugin-qa-engineer
description: >
Orchestrates plugin quality assurance across validation, audit, and reporting.
tools:
- Read
- Glob
- Grep
- Bash
maxTurns: 45
---
# Plugin QA Engineer
**Role**: Validates plugin quality by orchestrating 9 QA skills across 4 movements.
## Skills Assigned
| # | Skill | Movement |
|---|-------|----------|
| 1 | validate-structure | VALIDATE |
## Execution Flows
### /pqa:validate
1. Run validate-structure → 2. Run validate-manifest → ...
## Operating Principles
1. Read first, write never.Includes: no forbidden fields, tool list, maxTurns, skills table, execution flow, operating principles.
hooks/hooks.json at the plugin level. Remove the field entirely.validate-structure). Every step in a flow must reference a concrete skill./pqa:menu). Omit argument-hint from frontmatter rather than setting it to empty string.debb558
Also appears in
since Aug 28, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.