Compare commits

..

1 Commits

Author SHA1 Message Date
Dickson Tsai
82d041227f Fix YAML frontmatter parsing errors in agent description fields
Use YAML block scalars (|) for multi-line description fields that contain
<example> blocks with colons and special characters. Without block scalars,
the YAML parser fails because it interprets lines like 'user:' and
'assistant:' as new key-value pairs.

Affected files:
- plugins/plugin-dev/agents/agent-creator.md
- plugins/plugin-dev/agents/skill-reviewer.md
- plugins/plugin-dev/agents/plugin-validator.md
- plugins/pr-review-toolkit/agents/code-simplifier.md
2026-02-04 15:59:39 -08:00
13 changed files with 143 additions and 138 deletions

View File

@@ -1,5 +1,5 @@
--- ---
name: writing-hookify-rules name: Writing Hookify Rules
description: This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns. description: This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
version: 0.1.0 version: 0.1.0
--- ---

View File

@@ -6,13 +6,13 @@ A comprehensive toolkit for developing Claude Code plugins with expert guidance
The plugin-dev toolkit provides seven specialized skills to help you build high-quality Claude Code plugins: The plugin-dev toolkit provides seven specialized skills to help you build high-quality Claude Code plugins:
1. **hook-development** - Advanced hooks API and event-driven automation 1. **Hook Development** - Advanced hooks API and event-driven automation
2. **mcp-integration** - Model Context Protocol server integration 2. **MCP Integration** - Model Context Protocol server integration
3. **plugin-structure** - Plugin organization and manifest configuration 3. **Plugin Structure** - Plugin organization and manifest configuration
4. **plugin-settings** - Configuration patterns using .claude/plugin-name.local.md files 4. **Plugin Settings** - Configuration patterns using .claude/plugin-name.local.md files
5. **command-development** - Creating slash commands with frontmatter and arguments 5. **Command Development** - Creating slash commands with frontmatter and arguments
6. **agent-development** - Creating autonomous agents with AI-assisted generation 6. **Agent Development** - Creating autonomous agents with AI-assisted generation
7. **skill-development** - Creating skills with progressive disclosure and strong triggers 7. **Skill Development** - Creating skills with progressive disclosure and strong triggers
Each skill follows best practices with progressive disclosure: lean core documentation, detailed references, working examples, and utility scripts. Each skill follows best practices with progressive disclosure: lean core documentation, detailed references, working examples, and utility scripts.
@@ -53,7 +53,7 @@ Use this workflow for structured, high-quality plugin development from concept t
## Skills ## Skills
### 1. hook-development ### 1. Hook Development
**Trigger phrases:** "create a hook", "add a PreToolUse hook", "validate tool use", "implement prompt-based hooks", "${CLAUDE_PLUGIN_ROOT}", "block dangerous commands" **Trigger phrases:** "create a hook", "add a PreToolUse hook", "validate tool use", "implement prompt-based hooks", "${CLAUDE_PLUGIN_ROOT}", "block dangerous commands"
@@ -73,7 +73,7 @@ Use this workflow for structured, high-quality plugin development from concept t
**Use when:** Creating event-driven automation, validating operations, or enforcing policies in your plugin. **Use when:** Creating event-driven automation, validating operations, or enforcing policies in your plugin.
### 2. mcp-integration ### 2. MCP Integration
**Trigger phrases:** "add MCP server", "integrate MCP", "configure .mcp.json", "Model Context Protocol", "stdio/SSE/HTTP server", "connect external service" **Trigger phrases:** "add MCP server", "integrate MCP", "configure .mcp.json", "Model Context Protocol", "stdio/SSE/HTTP server", "connect external service"
@@ -92,7 +92,7 @@ Use this workflow for structured, high-quality plugin development from concept t
**Use when:** Integrating external services, APIs, databases, or tools into your plugin. **Use when:** Integrating external services, APIs, databases, or tools into your plugin.
### 3. plugin-structure ### 3. Plugin Structure
**Trigger phrases:** "plugin structure", "plugin.json manifest", "auto-discovery", "component organization", "plugin directory layout" **Trigger phrases:** "plugin structure", "plugin.json manifest", "auto-discovery", "component organization", "plugin directory layout"
@@ -111,7 +111,7 @@ Use this workflow for structured, high-quality plugin development from concept t
**Use when:** Starting a new plugin, organizing components, or configuring the plugin manifest. **Use when:** Starting a new plugin, organizing components, or configuring the plugin manifest.
### 4. plugin-settings ### 4. Plugin Settings
**Trigger phrases:** "plugin settings", "store plugin configuration", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings" **Trigger phrases:** "plugin settings", "store plugin configuration", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings"
@@ -132,7 +132,7 @@ Use this workflow for structured, high-quality plugin development from concept t
**Use when:** Making plugins configurable, storing per-project state, or implementing user preferences. **Use when:** Making plugins configurable, storing per-project state, or implementing user preferences.
### 5. command-development ### 5. Command Development
**Trigger phrases:** "create a slash command", "add a command", "command frontmatter", "define command arguments", "organize commands" **Trigger phrases:** "create a slash command", "add a command", "command frontmatter", "define command arguments", "organize commands"
@@ -151,7 +151,7 @@ Use this workflow for structured, high-quality plugin development from concept t
**Use when:** Creating slash commands, defining command arguments, or organizing plugin commands. **Use when:** Creating slash commands, defining command arguments, or organizing plugin commands.
### 6. agent-development ### 6. Agent Development
**Trigger phrases:** "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "autonomous agent" **Trigger phrases:** "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "autonomous agent"
@@ -172,7 +172,7 @@ Use this workflow for structured, high-quality plugin development from concept t
**Use when:** Creating autonomous agents, defining agent behavior, or implementing AI-assisted agent generation. **Use when:** Creating autonomous agents, defining agent behavior, or implementing AI-assisted agent generation.
### 7. skill-development ### 7. Skill Development
**Trigger phrases:** "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content" **Trigger phrases:** "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content"
@@ -286,11 +286,11 @@ The hook-development skill includes production-ready utilities:
### Working Examples ### Working Examples
Every skill provides working examples: Every skill provides working examples:
- **hook-development**: 3 complete hook scripts (bash, write validation, context loading) - **Hook Development**: 3 complete hook scripts (bash, write validation, context loading)
- **mcp-integration**: 3 server configurations (stdio, SSE, HTTP) - **MCP Integration**: 3 server configurations (stdio, SSE, HTTP)
- **plugin-structure**: 3 plugin layouts (minimal, standard, advanced) - **Plugin Structure**: 3 plugin layouts (minimal, standard, advanced)
- **plugin-settings**: 3 examples (read-settings hook, create-settings command, templates) - **Plugin Settings**: 3 examples (read-settings hook, create-settings command, templates)
- **command-development**: 10 complete command examples (review, test, deploy, docs, etc.) - **Command Development**: 10 complete command examples (review, test, deploy, docs, etc.)
## Documentation Standards ## Documentation Standards

View File

@@ -1,6 +1,7 @@
--- ---
name: agent-creator name: agent-creator
description: Use this agent when the user asks to "create an agent", "generate an agent", "build a new agent", "make me an agent that...", or describes agent functionality they need. Trigger when user wants to create autonomous agents for plugins. Examples: description: |
Use this agent when the user asks to "create an agent", "generate an agent", "build a new agent", "make me an agent that...", or describes agent functionality they need. Trigger when user wants to create autonomous agents for plugins. Examples:
<example> <example>
Context: User wants to create a code review agent Context: User wants to create a code review agent
@@ -28,7 +29,6 @@ assistant: "I'll use the agent-creator agent to generate a configuration validat
Plugin development with agent addition, trigger agent-creator. Plugin development with agent addition, trigger agent-creator.
</commentary> </commentary>
</example> </example>
model: sonnet model: sonnet
color: magenta color: magenta
tools: ["Write", "Read"] tools: ["Write", "Read"]

View File

@@ -1,6 +1,7 @@
--- ---
name: plugin-validator name: plugin-validator
description: Use this agent when the user asks to "validate my plugin", "check plugin structure", "verify plugin is correct", "validate plugin.json", "check plugin files", or mentions plugin validation. Also trigger proactively after user creates or modifies plugin components. Examples: description: |
Use this agent when the user asks to "validate my plugin", "check plugin structure", "verify plugin is correct", "validate plugin.json", "check plugin files", or mentions plugin validation. Also trigger proactively after user creates or modifies plugin components. Examples:
<example> <example>
Context: User finished creating a new plugin Context: User finished creating a new plugin
@@ -30,7 +31,6 @@ Manifest modified, validate to ensure correctness.
</commentary> </commentary>
assistant: "I'll use the plugin-validator agent to check the manifest." assistant: "I'll use the plugin-validator agent to check the manifest."
</example> </example>
model: inherit model: inherit
color: yellow color: yellow
tools: ["Read", "Grep", "Glob", "Bash"] tools: ["Read", "Grep", "Glob", "Bash"]

View File

@@ -1,6 +1,7 @@
--- ---
name: skill-reviewer name: skill-reviewer
description: Use this agent when the user has created or modified a skill and needs quality review, asks to "review my skill", "check skill quality", "improve skill description", or wants to ensure skill follows best practices. Trigger proactively after skill creation. Examples: description: |
Use this agent when the user has created or modified a skill and needs quality review, asks to "review my skill", "check skill quality", "improve skill description", or wants to ensure skill follows best practices. Trigger proactively after skill creation. Examples:
<example> <example>
Context: User just created a new skill Context: User just created a new skill
@@ -29,7 +30,6 @@ assistant: "I'll use the skill-reviewer agent to review the changes."
Skill description modified, review for triggering effectiveness. Skill description modified, review for triggering effectiveness.
</commentary> </commentary>
</example> </example>
model: inherit model: inherit
color: cyan color: cyan
tools: ["Read", "Grep", "Glob"] tools: ["Read", "Grep", "Glob"]

View File

@@ -1,5 +1,5 @@
--- ---
name: agent-development name: Agent Development
description: This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins. description: This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
version: 0.1.0 version: 0.1.0
--- ---

View File

@@ -1,5 +1,5 @@
--- ---
name: command-development name: Command Development
description: This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code. description: This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
version: 0.2.0 version: 0.2.0
--- ---

View File

@@ -1,5 +1,5 @@
--- ---
name: hook-development name: Hook Development
description: This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API. description: This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
version: 0.1.0 version: 0.1.0
--- ---

View File

@@ -1,5 +1,5 @@
--- ---
name: mcp-integration name: MCP Integration
description: This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration. description: This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
version: 0.1.0 version: 0.1.0
--- ---

View File

@@ -1,5 +1,5 @@
--- ---
name: plugin-settings name: Plugin Settings
description: This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content. description: This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.
version: 0.1.0 version: 0.1.0
--- ---

View File

@@ -1,5 +1,5 @@
--- ---
name: plugin-structure name: Plugin Structure
description: This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices. description: This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
version: 0.1.0 version: 0.1.0
--- ---

View File

@@ -1,5 +1,5 @@
--- ---
name: skill-development name: Skill Development
description: This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins. description: This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
version: 0.1.0 version: 0.1.0
--- ---

View File

@@ -1,6 +1,11 @@
--- ---
name: code-simplifier name: code-simplifier
description: Use this agent when code has been written or modified and needs to be simplified for clarity, consistency, and maintainability while preserving all functionality. This agent should be triggered automatically after completing a coding task or writing a logical chunk of code. It simplifies code by following project best practices while retaining all functionality. The agent focuses only on recently modified code unless instructed otherwise.\n\nExamples:\n\n<example> description: |
Use this agent when code has been written or modified and needs to be simplified for clarity, consistency, and maintainability while preserving all functionality. This agent should be triggered automatically after completing a coding task or writing a logical chunk of code. It simplifies code by following project best practices while retaining all functionality. The agent focuses only on recently modified code unless instructed otherwise.
Examples:
<example>
Context: The assistant has just implemented a new feature that adds user authentication to an API endpoint. Context: The assistant has just implemented a new feature that adds user authentication to an API endpoint.
user: "Please add authentication to the /api/users endpoint" user: "Please add authentication to the /api/users endpoint"
assistant: "I've implemented the authentication for the /api/users endpoint. Here's the code:" assistant: "I've implemented the authentication for the /api/users endpoint. Here's the code:"