Help us improve
Share bugs, ideas, or general feedback.
nlpm — Natural-Language Programming Manager by xiaolai
npx claudepluginhub xiaolai/nlpm-for-claudeNatural-Language Programming Manager — scan, lint, and write NL artifacts with Claude-native quality scoring
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Production-ready workflow orchestration with 80 focused plugins, 185 specialized agents, and 153 skills - optimized for granular installation and minimal token usage
Agent skills for building and maintaining promptfoo evaluations
Share bugs, ideas, or general feedback.
Natural-Language Programming Manager -- discover, score, check, and fix NL artifacts with Claude-native intelligence.
Part of the xiaolai Claude plugin marketplace.
NLPM treats natural language artifacts as programs that can be linted. Just as ESLint scores JavaScript and ruff scores Python, NLPM scores the markdown files that drive AI behavior: skills, agents, commands, rules, hooks, prompts, CLAUDE.md, and memory files.
Seven commands, each doing one thing:
| Command | What it does |
|---|---|
/nlpm:ls | Discover and inventory all NL artifacts in a repo |
/nlpm:score | Score artifact quality (100-point scale) |
/nlpm:check | Cross-component consistency checks |
/nlpm:fix | Auto-fix fixable issues |
/nlpm:trend | Track quality score trends over time |
/nlpm:test | Run NL artifact tests against spec files (TDD) |
/nlpm:init | Initialize NLPM for a project |
Claude-native -- no Codex, no external models, no API keys, no runtime dependencies.
# Project scope (recommended)
claude plugin install nlpm@xiaolai --scope project
# Global (all projects)
claude plugin install nlpm@xiaolai --scope user
/nlpm:ls # see what NL artifacts you have
/nlpm:score # score them all
/nlpm:score agents/ # score just agents
/nlpm:score --changed # score only git-changed files
/nlpm:check # check cross-component consistency
/nlpm:fix # auto-fix what's fixable
/nlpm:trend # track score history over time
/nlpm:test # run NL-TDD specs
Scores start at 100 and go down. Every issue has a fixed penalty. The score is deterministic: same artifact, same penalties, same number.
| Score | Band | Meaning |
|---|---|---|
| 90-100 | Excellent | Production-ready |
| 80-89 | Good | Minor gaps |
| 70-79 | Adequate | Meets threshold, should improve |
| 60-69 | Weak | Below threshold |
| <60 | Rewrite | Fundamental problems |
Default pass threshold: 70. Configure in .claude/nlpm.local.md.
See skills/nlpm/scoring/SKILL.md for the full penalty tables. See skills/nlpm/rules/SKILL.md for the 50 Rules of Natural Language Programming.
13 artifact types across 3 categories:
| Category | Artifacts |
|---|---|
| A: Plugin | commands, shared partials, agents, skills, hooks, plugin.json, .mcp.json |
| B: Project | CLAUDE.md, .claude/rules/, settings files |
| F: Memory | ~/.claude/projects//memory/.md |
Write test specs BEFORE writing artifacts:
1. Write spec: .nlpm-test/my-agent.spec.md
2. /nlpm:test -> RED (artifact doesn't exist)
3. Write artifact: agents/my-agent.md
4. /nlpm:test -> check trigger accuracy, output format, score
5. /nlpm:score -> verify quality score
6. Iterate -> fix until GREEN
See skills/nlpm/testing/SKILL.md for the full spec format.
Create .claude/nlpm.local.md (or run /nlpm:init):
---
strictness: standard
score_threshold: 70
rule_overrides:
R09: { min_examples: 1 } # require only 1 example block
R05: { threshold: 600 } # allow skills up to 600 lines
R23: { budget: 800 } # increase rules budget
---
| Level | Threshold | Effect |
|---|---|---|
| Relaxed | 60 | Only flag seriously broken artifacts |
| Standard | 70 | Flag artifacts that need improvement |
| Strict | 80 | Flag anything below good quality |
NLPM ships a PostToolUse hook that fires when you write or edit files. A shell script (scripts/check-artifact.sh) classifies the file -- if it's an NL artifact, Claude reminds you to run /nlpm:score. Non-NL files produce no output.
This is advisory -- it does not block writes. For blocking enforcement, use a PreToolUse hook (see tdd-guardian for an example).
commands/ User-facing commands (7 + 2 shared partials)
ls.md Discover artifacts -> dispatches scanner
score.md Score quality -> dispatches scorer + vague-scanner in parallel
check.md Cross-component checks -> dispatches checker
fix.md Auto-fix issues -> dispatches scorer
trend.md Track score history -> dispatches scorer + vague-scanner
test.md Run NL-TDD specs -> dispatches tester
init.md Configure project
shared/
discover.md Artifact path patterns (not user-invocable)
classify.md Type classification rules (not user-invocable)