Validates PopKit compliance with Claude Code patterns using concrete standards and automated checks
/plugin marketplace add jrc1883/popkit-claude/plugin install popkit@popkit-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
checklists/blog-practices.jsonchecklists/claude-code-compliance.jsonchecklists/hook-patterns.jsonscripts/calculate_score.pyscripts/validate_hooks.pyscripts/validate_plugin_structure.pyscripts/validate_routing.pystandards/agent-routing.mdstandards/hook-protocol.mdstandards/plugin-schema.mdstandards/progressive-disclosure.mdValidates PopKit compliance with official Claude Code patterns, hook protocols, and Anthropic engineering best practices using concrete standards and automated validation.
Unlike prose-based assessments, this skill uses:
When invoked, follow this process:
Execute the validation scripts in order:
# From packages/plugin directory
python skills/pop-assessment-anthropic/scripts/validate_plugin_structure.py
python skills/pop-assessment-anthropic/scripts/validate_hooks.py
python skills/pop-assessment-anthropic/scripts/validate_routing.py
python skills/pop-assessment-anthropic/scripts/calculate_score.py
If automated checks identify issues requiring context:
Read: skills/pop-assessment-anthropic/standards/hook-protocol.md
Read: skills/pop-assessment-anthropic/standards/plugin-schema.md
Read: skills/pop-assessment-anthropic/standards/agent-routing.md
Read: skills/pop-assessment-anthropic/standards/progressive-disclosure.md
For comprehensive review:
Read: skills/pop-assessment-anthropic/checklists/claude-code-compliance.json
Read: skills/pop-assessment-anthropic/checklists/hook-patterns.json
Read: skills/pop-assessment-anthropic/checklists/blog-practices.json
Use the output style assessment-report and include:
calculate_score.py output| File | Purpose |
|---|---|
hook-protocol.md | Exact JSON stdin/stdout protocol requirements |
plugin-schema.md | plugin.json and hooks.json required fields |
agent-routing.md | Routing configuration rules and coverage |
progressive-disclosure.md | Tiered loading and context efficiency |
| File | Purpose |
|---|---|
claude-code-compliance.json | Machine-readable plugin structure checks |
hook-patterns.json | Hook implementation validation rules |
blog-practices.json | Anthropic engineering blog recommendations |
| Script | Purpose | Output |
|---|---|---|
validate_plugin_structure.py | Check plugin.json, hooks.json, .mcp.json | JSON findings |
validate_hooks.py | Verify JSON protocol in all hooks | JSON findings |
validate_routing.py | Check routing coverage and conflicts | JSON findings |
calculate_score.py | Calculate final score from findings | Score + breakdown |
Each check has a severity and point deduction:
| Severity | Deduction | Description |
|---|---|---|
| critical | -20 | Must fix before release |
| high | -10 | Should fix, blocks quality |
| medium | -5 | Recommended to fix |
| low | -2 | Nice to have |
| warning | -1 | Minor improvement |
Starting Score: 100 Minimum Score: 0
| Score Range | Status | Meaning |
|---|---|---|
| 90-100 | EXCELLENT | Production ready |
| 80-89 | GOOD | Minor improvements needed |
| 70-79 | ACCEPTABLE | Should address issues |
| 60-69 | NEEDS WORK | Several issues to fix |
| 0-59 | FAILING | Critical issues present |
# Anthropic Engineer Assessment Report
**Assessed:** PopKit Plugin v0.2.0
**Date:** 2025-12-12
**Score:** 87/100 (GOOD)
## Automated Check Results
### Plugin Structure (validate_plugin_structure.py)
| Check | Status | Details |
|-------|--------|---------|
| plugin.json schema | PASS | All required fields present |
| hooks.json schema | PASS | Valid event types |
| .mcp.json valid | PASS | Schema reference included |
### Hook Protocol (validate_hooks.py)
| Hook | stdin | stdout | error_handling | Status |
|------|-------|--------|----------------|--------|
| pre-tool-use.py | PASS | PASS | PASS | PASS |
| post-tool-use.py | PASS | PASS | PASS | PASS |
| session-start.py | PASS | PASS | WARN | WARN |
### Routing Coverage (validate_routing.py)
| Category | Coverage | Missing |
|----------|----------|---------|
| Keywords | 95% | 2 agents |
| File Patterns | 90% | yaml, yml |
| Error Patterns | 85% | ImportError |
## Score Breakdown
| Category | Max | Earned | Deductions |
|----------|-----|--------|------------|
| Plugin Structure | 25 | 25 | 0 |
| Hook Protocol | 30 | 28 | -2 (1 warning) |
| Agent Routing | 25 | 21 | -4 (medium issues) |
| Progressive Disclosure | 20 | 13 | -7 (2 medium) |
| **Total** | **100** | **87** | **-13** |
## Recommendations
1. **HIGH**: Add error patterns for ImportError, ConnectionError
2. **MEDIUM**: Add file patterns for *.yaml, *.yml
3. **LOW**: session-start.py error handling could be improved
agents/assessors/anthropic-engineer/AGENT.mdoutput-styles/assessment-report.mdThis 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.
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.
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.