From plugin-curator
Create a new agent plugin following the standard template. Handles directory structure, plugin.json, agent definition, marketplace.json, README, and RATSI updates.
npx claudepluginhub hpsgd/turtlestack --plugin plugin-curatorThis skill is limited to using the following tools:
Create a new agent plugin for $ARGUMENTS.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Reviews prose for communication issues impeding comprehension, outputs minimal fixes in a three-column table per Microsoft Writing Style Guide. Useful for 'review prose' or 'improve prose' requests.
Create a new agent plugin for $ARGUMENTS.
Read(file_path="${CLAUDE_PLUGIN_ROOT}/templates/agent-template.md")
Read(file_path="CLAUDE.md")
Read(file_path=".claude-plugin/marketplace.json")
The agent template defines the MANDATORY structure. CLAUDE.md defines the directory conventions. marketplace.json is the registry.
Before writing anything, research the established standards and frameworks for this agent's domain:
The principle: adopt existing standards, don't invent. If a well-established framework exists, use it.
Classify the agent:
| Category | Criteria | Examples |
|---|---|---|
leadership/ | Coordinates other agents, makes cross-cutting decisions | coordinator, cpo, cto, grc-lead |
product/ | Customer-facing, product, design, content, marketing, support | product-owner, ui-designer, gtm, support |
engineering/ | Builds, tests, deploys, secures, monitors | architect, developers, qa, devops, security |
practices/ | Standards, methodology, cross-cutting rules | coding-standards, writing-style, thinking |
Create the directory structure:
mkdir -p plugins/{category}/{agent-name}/.claude-plugin
mkdir -p plugins/{category}/{agent-name}/agents
mkdir -p plugins/{category}/{agent-name}/skills
mkdir -p plugins/{category}/{agent-name}/templates # if agent produces artefacts
{
"name": "{agent-name}",
"description": "{Role} — {domain summary}.",
"version": "0.1.0",
"author": {
"name": "[author or organisation name]"
},
"repository": "[repository URL]",
"license": "Unlicense",
"keywords": [
"{keyword1}",
"{keyword2}"
]
}
Pretty-printed JSON with 2-space indent. Keywords are lowercase, hyphen-separated.
File: plugins/{category}/{agent-name}/agents/{agent-name}.md
Follow the agent template EXACTLY. Every section is mandatory:
Frontmatter:
---
name: {kebab-case — matches directory}
description: "{Role} — {domain summary}. Use when {trigger conditions}."
tools: {minimal set needed}
model: {sonnet for specialists, opus for leadership}
---
Body sections (all mandatory for implementation agents):
| Section | Purpose | Key requirements |
|---|---|---|
| Core statement | What the agent owns | One paragraph, second person ("You own...") |
| Non-negotiable | Absolute rules | Specific, falsifiable (not "do good work") |
| Pre-Flight | Read before acting | Step 1: CLAUDE.md + .claude/CLAUDE.md + rules. Step 2: understand patterns. Step 3: classify work |
| Domain methodology | The expertise | MANDATORY steps, not suggestions. Opinionated decisions |
| Output format | What the agent produces | Structured markdown template, all fields defined |
| Failure caps | When to stop | 3 consecutive failures → stop. 10 min without progress → stop |
| Decision checkpoints | When to ask | Table of triggers where human input is needed |
| Collaboration | Who they work with | Table: role, how you work together |
| Principles | Domain philosophy | 5–10 opinionated, domain-specific, falsifiable |
| What You Don't Do | Boundaries | Each exclusion names who DOES own it |
Quality targets:
Add the plugin entry to .claude-plugin/marketplace.json:
{
"name": "{agent-name}",
"source": "{category}/{agent-name}",
"description": "{one-line description}",
"version": "0.1.0",
"category": "{leadership|product|engineering|practices}",
"tags": ["{tag1}", "{tag2}"]
}
Read the coordinator agent and add the new agent to relevant activity rows in the RATSI matrix. Determine whether the new agent is R (Responsible), A (Accountable), T (Tasked), S (Support), or I (Informed) for each activity.
| Category | Lead to update |
|---|---|
engineering/ | CTO agent — add to team listing |
product/ | CPO agent — add to team listing |
leadership/ | Coordinator agent — add to peer listing |
Three places to update in README.md:
# All JSON valid
python3 -c "import json; json.load(open('plugins/{category}/{agent-name}/.claude-plugin/plugin.json'))"
python3 -c "import json; json.load(open('.claude-plugin/marketplace.json'))"
# Plugin count matches
echo "Dirs: $(find plugins -name 'plugin.json' | wc -l)"
echo "Registry: $(python3 -c "import json; print(len(json.load(open('.claude-plugin/marketplace.json'))['plugins']))")"
# No private references
grep -r "hps\.gd\|interstitium\|whns\.gd" --include="*.md" plugins/{category}/{agent-name}/
Run the agent audit criteria mentally:
After creation, report:
## Created: {agent-name}
### Files Created
- `plugins/{category}/{agent-name}/.claude-plugin/plugin.json`
- `plugins/{category}/{agent-name}/agents/{agent-name}.md`
- `plugins/{category}/{agent-name}/skills/` (empty, ready for skills)
- `plugins/{category}/{agent-name}/templates/` (if applicable)
### Registry Updates
- marketplace.json: ✅ added
- README: ✅ install commands + agent table
- Coordinator RATSI: ✅ {activities added to}
- Lead ({cto/cpo}): ✅ team listing updated
### Quality Score
- **Lines:** {count}
- **Agent audit score:** {X}/15
- **Model:** {model}
### Verification
- JSON valid: ✅
- Plugin count matches: ✅
- No private refs: ✅