check
Check cross-artifact consistency — reference integrity, orphans, contradictions
Score NL programming artifacts — 100-point quality score per file
> /plugin marketplace add xiaolai/nlpm > /plugin install nlpm@xiaolai
How it fires
How this command gets triggered: by you, by Claude, or both.
/scoreContext preview
What this command does when you run it.
Score NL programming artifacts — 100-point quality score per file
name: score description: "Score NL programming artifacts — 100-point quality score per file" argument-hint: "[path]" allowed-tools: Read, Write, Glob, Grep, Bash, Task
$ARGUMENTS
Read `.claude/nlpm.local.md` if it exists. Extract `score_threshold` (default: 70).
| Input | Behavior | |-------|----------| | (empty) | Score all Category A+B artifacts in cwd | | directory path | Score all artifacts under that directory | | file path | Score that single file | | --changed | Score only files changed since last commit (uses `git diff --name-only HEAD`) |
If `--changed` is present: run `git diff --name-only HEAD` to get changed files, then filter through `${CLAUDE_PLUGIN_ROOT}/commands/shared/classify.md` to keep only NL artifacts. Skip the full discovery step.
If path is a directory: use `${CLAUDE_PLUGIN_ROOT}/commands/shared/discover.md` to discover all NL artifacts. If path is a file: use `${CLAUDE_PLUGIN_ROOT}/commands/shared/classify.md` to determine its type.
If no artifacts found → "No NL programming artifacts found."
Dispatch two agents in parallel for each batch of up to 5 artifacts:
1. **`nlpm:scorer`** -- scores each artifact on the 100-point rubric (penalties, structure, heuristics) 2. **`nlpm:vague-scanner`** -- counts vague quantifier words mechanically (fast, haiku)
The scorer incorporates the vague-scanner's word counts into its penalty calculation. If the vague-scanner reports counts that differ from the scorer's own detection, use the vague-scanner's counts (deterministic grep is more reliable than heuristic detection for word counting).
Pass to both agents:
Collect results: per-artifact score + finding list.
NLPM Score Report
File Type Score Findings
───────────────────────────────────────────────────────────
{for each file}
Overall: {avg_score}/100 — {EXCELLENT|GOOD|ADEQUATE|WEAK|REWRITE} [threshold: {score_threshold}]
High: {N} | Medium: {N} | Low: {N}
Below threshold: {N} files
Top findings:
1. [{SEVERITY}] {file}:{line} — {finding} ({penalty})
2. ...
Score guide: 90+ Excellent | 80-89 Good | 70-79 Adequate | 60-69 Weak | <60 Rewrite**Error handling:**
Persist this scoring run so `/nlpm:trend` has data to compare against. Follow `${CLAUDE_PLUGIN_ROOT}/commands/shared/append-history.md` with:
The partial handles file creation, deduplication of trivial repeats, and atomic write. Silent failure on write (e.g., read-only project) is acceptable — the score report the user just saw is the primary output; persistence is best-effort telemetry.
If Step 4 scored zero artifacts (no NL artifacts found), skip this step.
Natural-Language Programming Manager — score, check, fix, and test NL artifacts across Claude Code, Codex CLI, and Antigravity. Tier-aware scoring with per-tool overlays. Part of the xiaolai plugin marketplace.
Check cross-artifact consistency — reference integrity, orphans, contradictions
Auto-fix fixable findings in NL artifacts — missing fields, heading gaps, field renames
Prepare NLPM for this project — detect artifacts, set strictness, capture baseline trend snapshot
Discover all natural language programming artifacts in a repository
Render a self-contained HTML report — per-file scores, score trend, cross-artifact graph, vocabulary noun-verb map, drift…
Scan a Claude Code plugin for security risks in executable artifacts (hooks, scripts, MCP configs, dependencies).