Plugin Review
Tiered quality review of plugins with dependency-aware scoping.
Table of Contents
- [Tiers](#tiers)
- [Orchestration](#orchestration)
- [Scope Detection](#scope-detection)
- [Module Loading](#module-loading)
- [Verdict](#verdict)
- [Output Format](#output-format)
- [Quality Gate Mode](#quality-gate-mode)
- [Configuration](#configuration)
Tiers
| Tier | Trigger | Scope | Depth | Duration | |------|---------|-------|-------|----------| | branch | Default | Affected and related | Quick gates | ~2 min | | pr | Before merge | Affected and related | Standard | ~5 min | | release | Before version bump | All 17 plugins | Full | ~15 min |
Orchestration
- Detect scope: parse
--tierflag, find affected
plugins from git diff, resolve related plugins from docs/plugin-dependencies.json
- Plan: build check matrix (tier x plugin x role)
- Execute: run checks per tier definition
- Report: per-plugin table, aggregate verdict
Scope Detection
Affected plugins: git diff main --name-only filtered to plugins/*/.
Related plugins: load docs/plugin-dependencies.json, look up each affected plugin's reverse index to find dependents. Mark as "related" (lighter checks).
If --tier release or no git diff available, scope to all plugins.
Module Loading
- Always: this SKILL.md (orchestration logic)
- branch tier: load
modules/tier-branch.md - pr tier: load
modules/tier-branch.mdthen
modules/tier-pr.md
- release tier: load all tier modules plus
modules/tier-release.md
- When resolving deps: load
modules/dependency-detection.md
Verdict
| Result | Meaning | |--------|---------| | PASS | All checks green | | PASS-WITH-WARNINGS | Non-blocking issues | | FAIL | Blocking issues found |
Output Format
Plugin Review (<tier> tier)
Affected: <list>
Related: <list> (<reason>)
Plugin test lint type reg verdict
<name> PASS PASS PASS PASS PASS
...
Verdict: <PASS|PASS-WITH-WARNINGS|FAIL> (N/N plugins healthy)
PR and release tiers add scorecard sections.
Quality Gate Mode
The --quality-gate flag enables CI/CD integration with exit codes that distinguish warnings from failures:
0: all quality gates passed1: warnings present but gates passed (non-blocking)2: quality gate failures (blocking)3: critical issues found (blocking)
Use --fail-on warning to treat warnings as blocking.
Configuration
Place a .plugin-review.yaml file in the plugin root to customize thresholds and focus areas:
plugin_review:
quality_gates:
structure_min: 80
skills_min: 75
hooks_min: 70
tokens_max_total: 50000
bloat_max_percentage: 15
focus_areas:
- skills
- hooks
- tokens
exclude_patterns:
- "*/legacy/*"
- "*/deprecated/*"
severity_overrides:
missing_description: warning
large_file: info
See the /plugin-review command reference for full usage examples.