Plugin Review
SkillAI & modelsReview plugin quality with tiered checks and dependency scoping. Use for PR and pre-release audits.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Plugin Review skill
What this skill tells your AI
The instructions your AI receives, as published by athola/claude-night-market in plugins/abstract/skills/plugin-review/SKILL.md and read by ahel’s review.
Overview
Tiered quality review of plugins with dependency-aware scoping.
When NOT To Use
- Reviewing one skill rather than a plugin (use
abstract:skills-eval) - Reviewing hooks (use
abstract:hooks-eval) - Tracing
Skill()references across plugins (useabstract:skill-graph-audit)
Table of Contents
- Tiers
- Orchestration
- Scope Detection
- Module Loading
- Verdict
- Output Format
- Quality Gate Mode
- 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 fromdocs/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.mdthenmodules/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.
Exit Criteria
- The output includes a per-plugin table with columns: test, lint, type, reg, verdict, and an aggregate PASS / PASS-WITH-WARNINGS / FAIL verdict.
- Scope detection identifies affected plugins via
git diff main --name-onlyfiltered toplugins/*/; if git diff is unavailable, the skill falls back to all-plugin scope and states this explicitly. - Any plugin scoring below the
structure_min(default 80) orskills_min(default 75) threshold is listed as a FAIL, not a warning. -
--quality-gatemode returns exit code 2 for blocking failures and exit code 1 for non-blocking warnings, distinguishable by the calling CI step.
Signals
- GitHub stars
- 337
- Forks
- 34
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
plugin-review- Source
- github.com/athola/claude-night-market