Validates PopKit plugins for Claude Code compliance using automated Python scripts, JSON schemas, checklists, and hook protocol standards.
From popkit-opsnpx claudepluginhub jrc1883/popkit-ai --plugin popkit-opsThis skill uses the workspace's default tool permissions.
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.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Validates 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.md