- Bug fix (non-breaking change that fixes an issue)
- New feature (non-breaking change that adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Documentation update (improvements to README, CLAUDE.md, or component docs)
- Refactoring (code change that neither fixes a bug nor adds a feature)
- Chore (maintenance tasks: dependencies, CI, tooling)
- Test (adding or updating tests)
- Configuration change (changes to .markdownlint.json, plugin.json, etc.)
- Commands (
/plugin-dev:*) - Skills (methodology and best practices)
- Agents (plugin-validator, skill-reviewer, agent-creator)
- Hooks (event-driven automation)
- Marketplace (marketplace.json, distribution)
- Documentation (README.md, CLAUDE.md, SECURITY.md)
- Configuration (.markdownlint.json, plugin.json)
- Issue/PR templates
- Other (please specify):
Fixes #
Test Configuration:
- Claude Code version:
- GitHub CLI version:
- OS:
- Testing repository:
Test Steps:
- My code follows the style guidelines of this project
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas (if applicable)
- My changes generate no new warnings or errors
- I have updated the documentation accordingly (README.md, CLAUDE.md, or component docs)
- I have updated YAML frontmatter (if applicable)
- I have verified all links work correctly
- I have run
markdownlintand fixed all issues - My markdown follows the repository style (ATX headers, dash lists, fenced code blocks)
- I have verified special HTML elements are properly closed (
<p>,<img>,<example>,<commentary>)
- Shell scripts pass
shellcheck - Scripts are executable (
chmod +x) - Scripts use
${CLAUDE_PLUGIN_ROOT}for portable paths
- I have tested the plugin locally with
claude --plugin-dir plugins/plugin-dev - I have tested the full workflow (if applicable)
- I have verified GitHub CLI integration works (if applicable)
- I have tested in a clean repository (not my development repo)
- I have run relevant validation scripts (validate-agent.sh, validate-command.sh, validate-hook-schema.sh, etc.)
- I have updated
plugins/plugin-dev/.claude-plugin/plugin.json(source of truth) - I have updated
.claude-plugin/marketplace.json(metadata.version AND plugins[0].version) - I have updated
CLAUDE.md(version line) - I have updated CHANGELOG.md with relevant changes
Commands (click to expand)
- Command uses imperative form ("Do X", not "You should do X")
- Error handling is included for common failure modes
- GitHub CLI commands are properly formatted
- Success/failure messages are clear and helpful
Skills (click to expand)
- Description uses third-person with specific trigger phrases
- SKILL.md is 1,000-2,200 words (progressive disclosure)
- Detailed content is in
references/subdirectory - Templates follow the established format
Agents (click to expand)
- Agent includes 3-4
<example>blocks - Examples demonstrate triggering conditions clearly
- System prompt is clear and focused
- Tool list is minimal and appropriate
- YAML frontmatter includes required fields (name, description, model, color)
- Optional frontmatter configured correctly (tools, skills, allowed-tools)
Hooks (click to expand)
- Hook uses correct event type (PreToolUse, PermissionRequest, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification)
- Matchers are properly configured for tool filtering
- Hook type is appropriate (prompt for LLM-driven, command for scripts)
- Prompt-based hooks have clear, focused instructions
- Command-based hooks handle errors gracefully
# Example: paste relevant output here
Areas that need special attention:
Known limitations or trade-offs:
- All CI checks pass
- Documentation is accurate and complete
- Changes align with project architecture and design patterns
- No security vulnerabilities introduced
- Breaking changes are clearly documented
- Labels are appropriate for the change type
- Version numbers are updated in all version files (if applicable)
- CHANGELOG.md is updated (if applicable)