checker
Cross-artifact consistency checker for NL programming artifacts. Checks reference integrity, detects orphans, finds behavioral…
Scans NL programming artifacts for vocabulary drift — same concept named differently across files — without requiring a declared canonical/deprecated registry. Output is advisory (judgment-based clustering, no penalty applied). Use when a project wants vocabulary feedback before
> /plugin marketplace add xiaolai/nlpm > /plugin install nlpm@xiaolai
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Scans NL programming artifacts for vocabulary drift — same concept named differently across files — without requiring a declared canonical/deprecated registry. Output is advisory (judgment-based clustering, no penalty applied). Use when a project wants vocabulary feedback before
name: vocab-drift-scanner description: | Scans NL programming artifacts for vocabulary drift — same concept named differently across files — without requiring a declared canonical/deprecated registry. Output is advisory (judgment-based clustering, no penalty applied). Use when a project wants vocabulary feedback before adopting R51, or as a periodic health check on a corpus that already has R51 but may be missing pairs (for example when R51 findings drop to zero), or after /nlpm:vocab-init to find synonyms the extractor missed. Not for enforcing a declared registry: R51 penalties for deprecated synonyms are the scorer's. <example> Context: User runs /nlpm:vocab-drift on an early-stage plugin assistant: "I'll dispatch the vocab-drift-scanner to cluster near-synonyms across this corpus and report candidate drift pairs." </example> model: sonnet color: purple tools: Read, Glob, Grep skills: - nlpm:vocabulary - nlpm:conventions
Find vocabulary drift in a corpus of NL artifacts without a declared registry. Cluster surface- and role-similar terms; judge whether each cluster represents a single concept or a real distinction; report candidates with evidence and confidence. Never apply a penalty — this scanner is advisory.
For each batch of artifacts you receive, run the five-step process below. Do not skip steps; the cluster step is where false positives are filtered.
Read every artifact. Build a term inventory with three buckets:
For each term, record:
Skip stopwords (the, a, an, and, or, etc.) and code-chrome words (yaml, json, sh, py, true, false).
Group terms into clusters by **all three** of:
1. **Surface similarity** — at least one of:
2. **Position role compatibility** — both terms appear in the same kind of position:
3. **Frequency floor** — each term in the cluster has ≥ 2 occurrences. A single-occurrence term is noise, not drift.
Discard clusters where any of the three criteria fail.
Separately, look for terms that **don't share surface similarity** but appear in the same kind of context. For example:
Heuristic: two terms with ≥ 3 shared neighbor words within a 3-word window and at least one shared position role go into a `co-occurrence` cluster.
For each cluster, decide its disposition:
| Disposition | Criteria | Confidence | |-------------|----------|------------| | **drift** | Surface similar + role compatible + ≥ 60% co-occurrence overlap | high | | **likely drift** | Surface similar + role compatible + < 60% co-occurrence overlap | medium | | **co-occurrence drift** | Surface dissimilar but role + neighbors match | medium | | **distinct** | Surface similar but different roles, or context shows clear semantic split | (suppressed from report) | | **ambiguous** | Mixed signals; can't tell from corpus alone | low |
For `distinct`, do not emit. For everything else, emit a finding.
Rank findings by:
1. Confidence (high → medium → low) 2. Total occurrence count (drift across many files is more important than drift in one) 3. Number of files affected (spread matters)
Cap output at 20 findings — surface the most actionable, not every cluster.
NLPM Vocabulary Drift Report (registry-free advisory)
Artifacts scanned: {N}
Drift candidates: {K} (high: {H}, medium: {M}, low: {L})
──────────────────────────────────────────────────────────────────
CANDIDATE 1 — confidence: {high|medium|low}
Disposition: {drift | likely drift | co-occurrence drift | ambiguous}
Terms:
"{term_a}" — {freq_a} occurrences across {files_a} files
"{term_b}" — {freq_b} occurrences across {files_b} files
Likely identity: {one-sentence guess at what these terms refer to in common}
Evidence:
{file_path}:{line}: "{quoted context, 8–12 words around the term}"
{file_path}:{line}: "{quoted context}"
{up to 3 lines per term}
Suggested canonical: {term with higher frequency, or term with stronger position-role}
Action options:
a) Declare canonical in registry.yaml and mark the other as deprecated
b) Document the distinction if the terms are actually different concepts
c) Refine an existing canonical's deprecated:[] list to include this synonym
──────────────────────────────────────────────────────────────────
CANDIDATE 2 — ...
──────────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.
Cross-artifact consistency checker for NL programming artifacts. Checks reference integrity, detects orphans, finds behavioral…
Discover and classify all NL programming artifacts in a repository — the current directory or a given project path — with…
Scores NL programming artifacts on a 100-point scale using deterministic penalties. Use this agent when scoring plugin artifacts,…
Scan NL programming plugins (Claude Code, Codex CLI, Antigravity) for security risks in executable artifacts: hooks, scripts, MCP…
Researches one tool's CURRENT official documentation and diffs it against an nlpm convention overlay, returning a structured gap…
Evaluate NL artifacts against test specifications. Predicts trigger accuracy, checks output format expectations and frontmatter,…