plugins/plugin-master/skills/agent-development/SKILL.md
Canonical guide to authoring Claude Code agent frontmatter and system prompts. PROACTIVELY activate for: (1) creating a new agent, (2) adding an agent to a plugin, (3) writing agent frontmatter, (4) designing a system prompt, (5) configuring <example> trigger blocks, (6) restricting tools, (7) setting model inherit, (8) migrating deprecated agent true flag, (9) fixing "agent never triggers", (10) ensuring skills have agent trigger coverage. Provides: agent templates, lean-orchestrator pattern, and validation checklist.
npx skillsauth add JosiahSiegel/claude-plugin-marketplace agent-developmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Agents are autonomous subprocesses that handle complex, multi-step tasks independently. Each agent is a markdown file in the agents/ directory with YAML frontmatter defining its configuration and a markdown body serving as its system prompt.
This is the template every new agent MUST follow. Deviating from this shape is the #1 cause of agents that never trigger.
---
name: my-agent # REQUIRED: kebab-case, 3-50 chars, alphanumeric start/end
model: inherit # REQUIRED: always `inherit` unless you have a hard reason
color: blue # RECOMMENDED: one of blue/cyan/green/yellow/magenta/red
tools: Read, Write, Edit, Glob, Grep, Bash # RECOMMENDED: minimal set; omit for full access
description: |
One-sentence summary of what the agent does. PROACTIVELY activate for: (1) concrete trigger, (2) concrete trigger, ..., (N) concrete trigger. Provides: comma-separated capability nouns.
<example>
Context: Realistic situation where the agent should fire
user: "A realistic user quote -- the kind of thing someone would actually type"
assistant: "Short 1-2 sentence response. Mention loading a specific skill if relevant."
<commentary>Triggers for specific-keyword-1, specific-keyword-2, specific-keyword-3</commentary>
</example>
<example>
Context: Another realistic situation covering a different capability
user: "..."
assistant: "..."
<commentary>Triggers for ...</commentary>
</example>
<example>
Context: A debugging / troubleshooting scenario
user: "..."
assistant: "..."
<commentary>Triggers for ...</commentary>
</example>
<example>
Context: A "when to pick this vs. that" scenario
user: "..."
assistant: "..."
<commentary>Triggers for ...</commentary>
</example>
---
You are [role] specializing in [domain]. [Lean orchestrator body -- see "Lean Orchestrator Pattern" below.]
name: is required. Do NOT use the deprecated agent: true flag — that pattern is legacy and results in an unnamed agent that cannot be referenced or routed to reliably. If you find agent: true in an existing file, replace it with name: <kebab-name-from-filename>.model: inherit is required. Never hard-code a model unless the agent has a documented capability requirement.description: MUST include the enumerated PROACTIVELY activate for: (1)... (2)... (N)... pattern AND a Provides: ... capability list. A description that only says "Use this agent for help with X" will not route reliably.<example> blocks are conditional, not unconditional. Whether the description needs <example> blocks depends on the agent's body word count — see "Example-block requirement by agent body size" below. Lean orchestrators deliberately omit them; fat agents need them. Do not blanket-require examples on every agent.description: | (YAML block scalar) whenever the description spans multiple lines or contains <example> blocks. A folded scalar (>) or implicit flow scalar will mangle the examples.description: block. That text is used for routing-match, and boilerplate that appears in many agents poisons the signal. Put it in the markdown body under a clearly named ## Windows file path requirements section (or similar) instead.The number of <example> blocks a description needs is a function of the agent's markdown body word count. This rule reconciles two earlier conflicting recommendations ("always add 4-6 examples" vs. "lean orchestrators don't need examples") into a single tier table that authoring guidance, the canonical checklist, and scripts/validate_plugins.py all share.
| Agent body word count | Tier | Example-block requirement | |---|---|---| | < 1,500 words | Sub-target | Optional | | 1,500-2,500 words | Lean orchestrator (target band) | Optional, often omitted by design | | 2,500-3,000 words | Above-target | Recommended (3-5) | | > 3,000 words | Oversized | Required (3-5) AND extraction mandatory |
The validator only flags "missing examples" when the body crosses 2,500 words (AGENT_EXAMPLES_THRESHOLD_WORDS). Lean orchestrators under that threshold pass cleanly without examples — that absence is by design.
Authoring distilled: decide lean-orchestrator vs. fat-agent first; if lean, the PROACTIVELY activate for: enumeration carries routing and examples are not required. When refactoring fat -> lean, stripping examples is a legitimate part of the refactor. When auditing, compute body word count BEFORE recommending example-block fixes — see "Pre-recommendation intent check" below.
| Broken pattern | What it does | Fix |
|---|---|---|
| agent: true (no name:) | Agent cannot be named/routed reliably | Replace with name: <kebab-name> |
| description: without <example> blocks (agent body > 2,500 words) | Fat agent that routes ambiguously without examples | Add 3-5 <example> blocks OR split into orchestrator + skills (preferred) |
| description: with "Use this agent for X" prose only | Vague routing, poor trigger | Rewrite with PROACTIVELY activate for: (1)... enumeration |
| Windows boilerplate inside YAML description: | Pollutes routing signal | Move to ## Windows file path requirements in body |
| model: missing or hard-coded (e.g. model: sonnet) | Fails to inherit session model | Set model: inherit |
| Single <example> block with full code in assistant: | Dilutes matching, bloats description | Keep assistant replies to 1-2 sentences; put code in skills |
Detailed rules for each frontmatter field (name, description, model, color, tools) live in references/frontmatter-fields-reference.md. Highlights:
code-reviewer, domain-expert).PROACTIVELY activate for: (1)... (N)... enumeration and Provides: ... capability list. <example> blocks gated by the body-word-count tier table above.inherit is the default; only deviate with a documented capability reason.blue/cyan (analysis), green (generation), yellow (validation), red (critical/security), magenta (creative/architecture).Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch, Skill, Agent. MCP tools as mcp__server__tool.Load references/frontmatter-fields-reference.md when authoring or auditing a real agent.
The markdown body becomes the agent's system prompt. Write in second person ("You are...", "You will..."). Required sections: Core Responsibilities, Process, Quality Standards, Output Format, Edge Cases. DO be specific and define output clearly; DON'T write in first person, be vague, or embed domain knowledge that belongs in skills. Full template + DO/DON'T list: references/design-principles-and-mistakes.md.
An agent body must be a lean orchestrator, NOT a domain knowledge dump. The agent delegates to skills for detailed knowledge.
| Metric | Target | Hard Maximum | |--------|--------|-------------| | Word count | 1,500-2,500 words | 3,000 words | | Character count | ~10,000-15,000 chars | 20,000 chars |
| Section | Required | Purpose | |---------|----------|---------| | Role identity | Yes | "You are [role] specializing in [domain]" | | Skill activation rules | Yes | Topic-to-skill mapping table | | High-level process | Yes | Design/workflow steps | | Output format | Yes | What to include in responses | | Brief service summaries | Optional | 2-3 sentences per area to help decide which skill to load | | Edge cases / troubleshooting tips | Optional | Quick reference only |
NEVER duplicate content between the agent body and skills. This is the most common mistake and causes massive context bloat.
Bad: Agent body contains a full "Plugin.json Schema" section AND the plugin-master skill also contains it.
Good: Agent body says "For plugin.json schema details, load plugin-master:plugin-master" and keeps only a 1-sentence summary.
You are [role] specializing in [domain].
## Skill Activation - CRITICAL
[Topic-to-skill mapping table -- this is the heart of the agent]
## Core Responsibilities
[2-5 bullet points on what this agent does]
## Process
[5-7 step workflow for handling user requests]
## Quality Standards
[Brief checklist -- 5-10 items]
## Output Format
[What to include in responses]
Agent descriptions should be concise and effective:
| Element | Guideline | |---------|-----------| | Intro text | 1-2 sentences on when to trigger | | Example blocks | 3-7 blocks covering diverse scenarios | | Total description | Should fit naturally — focus on quality trigger examples over length |
Detailed design principles (agent-first design, single responsibility, skill integration, preventing trigger phrase overlap) and the full Common-Mistakes table live in references/design-principles-and-mistakes.md. Core distillation:
{domain}-expert. Users converse, not navigate menus.Before finalizing an agent:
PROACTIVELY activate for: enumeration and Provides: capability list<example> blocks present if and only if required by the agent's body word count (see "Example-block requirement by agent body size" tier table). Lean orchestrators under 2,500 words are exempt.inherit (unless specific need)agents/agent-name.mdFull table (vague descriptions, model overrides, tool over-grants, cross-cutting boilerplate in every skill, re-adding examples to a lean orchestrator, etc.) lives in references/design-principles-and-mistakes.md.
Before recommending a fix to an existing agent — especially one that involves re-adding content that has been stripped — confirm the apparent defect is not the result of a deliberate prior decision. Example-block stripping during lean-orchestrator refactors is routine and intentional; a follow-up audit that flags "agent missing examples" without checking word count produces a false-positive backlog of contradictory remediation work.
Short rule: before listing any agent finding, run the three-question intent check (size tier, git log, validator output). Only if all three say "real defect" should it appear in the audit report.
Full check, with rationale, expanded list of stripped-on-purpose patterns, and the authoring-vs-auditing contrast: see references/validation-and-audits.md.
scripts/validate_plugins.pyThe repo ships a read-only quality gate at scripts/validate_plugins.py. It is the single source of truth for what counts as "good" agent frontmatter in this marketplace. When the validator and this skill disagree, the validator wins.
Quick invocations:
python scripts/validate_plugins.py # whole marketplace
python scripts/validate_plugins.py --plugin my-plugin # one plugin
python scripts/validate_plugins.py --strict # warnings fail the build
The complete rule tables (agent-level, skill-level, plugin-level) plus the list of known validator gaps live in references/validation-and-audits.md.
development
This skill should be used when the user asks to train, debug, scale, or improve ML models. PROACTIVELY activate for: (1) PyTorch, TensorFlow/Keras, JAX, Flax, Hugging Face Trainer/Accelerate training loops, (2) distributed training, DDP/FSDP/DeepSpeed, TPU/GPU setup, (3) mixed precision AMP/bf16, gradient accumulation, checkpointing, seeding, (4) overfitting, imbalance, loss functions, regularization, LR schedules, warmup, (5) memory optimization, gradient checkpointing, offloading, quantization-aware training. Provides: reproducible training best practices across deep learning and classical ML.
development
This skill should be used when the user asks to productionize, track, version, govern, monitor, or automate ML systems. PROACTIVELY activate for: (1) MLflow, Weights & Biases, Neptune, Comet, ClearML experiment tracking, (2) model registry, model versioning, artifact lineage, reproducibility, (3) Kubeflow, SageMaker Pipelines, Vertex AI Pipelines, Azure ML pipelines, Databricks workflows, (4) CI/CD, continuous training/evaluation, A/B tests, canary/shadow deployments, (5) drift detection, model monitoring, data validation, responsible AI governance. Provides: end-to-end MLOps architecture and operational safeguards.
development
This skill should be used when the user asks to optimize, export, serve, compress, or accelerate ML inference. PROACTIVELY activate for: (1) latency, throughput, p95/p99, batching, concurrency, KV cache, memory, or cost issues, (2) quantization INT8/INT4, GPTQ, AWQ, bitsandbytes, pruning, sparsity, distillation, (3) ONNX export, ONNX Runtime, TensorRT, TorchScript, torch.compile, XLA, OpenVINO, Core ML, TFLite, (4) Triton, TorchServe, TF Serving, BentoML, Seldon, KServe configuration, (5) edge deployment, CPU/GPU/TPU/Inferentia serving. Provides: hardware-aware inference optimization and safe benchmarking.
testing
This skill should be used when the user asks to tune hyperparameters, run sweeps, optimize search spaces, or use AutoML. PROACTIVELY activate for: (1) Optuna, Ray Tune, FLAML, AutoGluon, Hyperopt, Nevergrad, KerasTuner, W&B sweeps, (2) grid search, random search, Bayesian optimization, TPE, Gaussian processes, evolutionary search, (3) ASHA, Hyperband, successive halving, multi-fidelity optimization, population-based training, (4) learning-rate finder, batch-size search, early stopping, pruning, (5) reproducible sweep design and experiment analysis. Provides: budget-aware hyperparameter search strategy.