Validates PopKit compliance with Claude Code patterns using concrete standards and automated checks
Uses automated Python scripts and JSON checklists to validate PopKit plugins against official Claude Code patterns, hook protocols, and Anthropic engineering standards. Triggers when you need to assess plugin compliance, generate a scored report, or verify production readiness before release.
/plugin marketplace add jrc1883/popkit-claude/plugin install popkit-ops@popkit-claudeThis 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.mdCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.