Help us improve
Share bugs, ideas, or general feedback.
From pqa
Design a plugin agent: role, tool allowlist, skill assignments, execution flows, operating principles. Trigger: design agent, agent design, create agent spec, plan agent, draft agent. Enforces plugin subagent constraints (no hooks/mcpServers/permissionMode in frontmatter).
npx claudepluginhub javimontano/jm-adk --plugin plugin-qaHow this skill is triggered — by the user, by Claude, or both
Slash command
/pqa:design-agentThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> "An agent is a role, not a god -- it owns a boundary, delegates within it, and never crosses it."
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
"An agent is a role, not a god -- it owns a boundary, delegates within it, and never crosses it."
Design a plugin agent with complete frontmatter, role definition, skill assignments, execution flows, and operating principles. Prominently enforces the plugin subagent constraint: agents in plugins cannot use hooks, mcpServers, or permissionMode.
Plugin agents are subagents with restricted capabilities. The following fields are FORBIDDEN in plugin agent frontmatter:
| Forbidden Field | Reason |
|---|---|
hooks | Plugin agents cannot define lifecycle hooks. Hooks belong in the plugin's hooks.json. |
mcpServers | Plugin agents cannot start or connect to MCP servers. |
permissionMode | Plugin agents cannot override the session's permission model. |
Attempting to use these fields will cause runtime errors or silent failures. This constraint is enforced by the Claude Code runtime and cannot be circumvented.
[DOC] for role definition, [CONFIG] for boundary rules.Draft the YAML frontmatter using ALL supported fields for plugin subagents:
| Field | Required | Type | Description |
|---|---|---|---|
name | YES | string | kebab-case agent identifier |
description | YES | string | Role summary + trigger phrases |
tools | no | list[string] | Tool allowlist (same as skill allowed-tools) |
disallowedTools | no | list[string] | Tool blocklist (opposite of tools) |
model | no | string | Override model for this agent |
maxTurns | no | integer | Maximum conversation turns before agent stops |
skills | no | list[string] | Skills this agent can invoke |
memory | no | object | Memory configuration for cross-session state |
background | no | string | Background context loaded when agent activates |
isolation | no | string | Isolation mode (e.g., "worktree" for git worktree isolation) |
Use tools OR disallowedTools, never both. If both are present, disallowedTools is ignored.
[CODIGO]/prefix:command
1. Agent receives request
2. Runs skill-a
3. If condition: runs skill-b, else: runs skill-c
4. Collects results
5. Presents to user
[DOC]maxTurns = (skills * 4) + (complexity_bonus) + (interaction_points * 2)[INFERENCIA]references/agent-constraint-matrix.md. [CONFIG]# Agent Name
**Role**: {one-sentence role description}
## Responsibilities
## Skills Assigned
## Execution Flows
## Operating Principles
## Delegation Criteria (if multi-agent plugin)
[CONFIG][CODIGO][DOC][DOC][INFERENCIA][CONFIG].md file. The output is a specification for review before spec-agent-command produces the deployable artifact.Bad agent design:
---
name: my-agent
description: Handles things
hooks:
PreToolUse: [...]
---
# My Agent
This agent does validation.
Missing: forbidden hooks field, no tool allowlist, no skills assigned, no execution flows, no operating principles.
Good agent design:
---
name: plugin-qa-engineer
description: >
Orchestrates validation, audit, and reporting for plugin quality assurance.
Trigger: qa engineer, run validation, audit plugin.
tools:
- Read
- Glob
- Grep
- Bash
maxTurns: 45
---
# Plugin QA Engineer
**Role**: This agent validates plugin quality by orchestrating 9 QA skills across 4 movements.
## Skills Assigned
| Skill | Movement | Invocation |
|-------|----------|------------|
| validate-structure | VALIDATE | Sequential, first |
| validate-manifest | VALIDATE | Sequential, second |
## Operating Principles
1. Read first, write never -- this agent only reads and reports.
2. Cite file + line for every finding.
Includes: no forbidden fields, tool allowlist, maxTurns, structured body, skill table, operating principles.
hooks in agent frontmatter (forbidden for plugin subagents -- causes runtime error).maxTurns too low (agent stops mid-execution) or too high (wastes resources).tools AND disallowedTools simultaneously (disallowedTools is silently ignored).allowed-tools at the skill level to restrict per-skill.background field with the reference file path.