Agent skill

Conventions

by xiaolai in xiaolai/nlpm

Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.

ISCAuto-check passedAgent Workflows

Install Conventions

skills CLI
$ npx skills add xiaolai/nlpm --skill conventions -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install xiaolai/nlpm conventions --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/nlpm/conventions .claude/skills/conventions && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
conventions
GitHub stars
146
Token cost
~3.6k tokens
SKILL.md length
1,617 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
ISC

At a glance

Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.

  • Works in 7 steps: SKILL.md — Cross-Tool Open Standard → AGENTS.md — Canonical Universal Memory… → General Prompt Engineering → …
  • Tasks that involve Agent instruction files
  • SKILL.md covers 1. SKILL.md — Cross-Tool Open…, 2. AGENTS.md — Canonical…, 3. General Prompt Engineering and 4. Vague Quantifiers (R01), plus 4 more sections
  • Calls pnpm and claude; needs OPENAI_API_KEY

What it does

Conventions is an agent skill from xiaolai/nlpm. Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Agent instruction files. The repository describes itself as: Natural-Language Programming Manager — scan, lint, and score NL artifacts with Claude-native quality scoring. The licence is ISC.

When your agent uses it

  • Tasks that involve Agent instruction files

Example prompts

  • “/conventions”

Requirements

  • Python 3
  • A credential in OPENAI_API_KEY

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. SKILL.md — Cross-Tool Open Standard
  2. AGENTS.md — Canonical Universal Memory File
  3. General Prompt Engineering
  4. Vague Quantifiers (R01)
  5. Naming Conventions (universal)
  6. Rule Overrides (.claude/nlpm.local.md or equivalent)
  7. Universal Tool References

What it can do on your machine

Read from SKILL.md and the folder at commit 6fdbd05. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • agentskills.io
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Conventions loads about 3.6k tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 1,617 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~24
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from xiaolai/nlpm at commit 6fdbd05, republished under its ISC licence (© xiaolai). 1,617 words, ~3,627 tokens.

Download SKILL.mdSave it as .claude/skills/conventions/SKILL.md (or your agent's skills folder).
name
conventions
description
Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.
version
0.2.1
user-invocable
false

Universal NL Programming Conventions

The cross-tool floor for all artifact schemas. Use this skill when scoring or writing any NL programming artifact regardless of which tool (Claude Code / Codex CLI / Antigravity) it targets.

Notation: $+{CLAUDE_PLUGIN_ROOT} in this file is Claude Code's plugin-root variable, split by a + so Claude Code does not replace it with a path when it loads this skill; the real token has no + (nlpm:conventions-claude §2.4).

Tool-specific overlays load on top of this universal floor:

  • nlpm:conventions-claude — Claude Code artifacts (.claude/, plugin.json, etc.)
  • nlpm:conventions-codex — Codex CLI artifacts (.codex/, .agents/, AGENTS.md)
  • nlpm:conventions-antigravity — Antigravity (and legacy Gemini CLI) artifacts (.gemini/, .agent/)

The scorer loads the matching overlay per tier classification — see agents/scorer.md step 3.

Design rationale: analysis/multi-tool-design-2026-05.md.


1. SKILL.md — Cross-Tool Open Standard

SKILL.md is the Agent Skills open spec, stewarded by the Agentic AI Foundation under the Linux Foundation. Anthropic published the spec on 2025-12-18; OpenAI, Microsoft, Google adopted within 48 hours. By 2026-03, 32+ tools read the same SKILL.md format (Claude Code, Codex, Gemini CLI / Antigravity, Cursor, Kiro, Continue, etc.).

Authoritative reference: https://agentskills.io/specification

Required frontmatter (per the open spec):

  • name — string; 1-64 chars, lowercase + hyphens only, MUST match parent directory name (no leading/trailing/consecutive hyphens).
  • description — string; 1-1024 chars; should describe what the skill does AND when to use it.

Optional frontmatter (per the open spec):

  • license — license name or reference to a bundled file.
  • compatibility — environment requirements, max 500 chars (e.g., "Designed for Claude Code", "Requires Python 3.14+ and uv").
  • metadata — arbitrary key-value mapping (author, version, etc. go here, NOT as top-level fields).
  • allowed-tools — space-separated tool list (experimental in spec; tool-specific in practice — e.g., Bash(git:*) Read).

Tool-specific extensions to SKILL.md frontmatter live in the per-tool overlay skills. The scorer applies the universal spec rules to ALL SKILL.md files. Tool-specific overlay rules apply ONLY to files at the matching tool's canonical paths.

Skill paths (canonical, per tool):

ToolPath
Open-spec (cross-tool).agents/skills/<name>/SKILL.md
Claude Code.claude/skills/<name>/SKILL.md
Codex CLI.agents/skills/<name>/SKILL.md
Antigravity<workspace>/.agent/skills/<name>/SKILL.md (singular) AND .agents/skills/<name>/SKILL.md (cross-tool alias)
Gemini CLI (legacy).gemini/skills/<name>/SKILL.md
Continue, Cursor, Kiro.<tool>/skills/<name>/SKILL.md

Body rules (recommendations, not spec requirements):

  • Keep under 500 lines — exceeding creates context bloat (spec recommends under 5000 tokens for the body, with overflow in references/).
  • Reference material — imperatives belong in commands/agents.
  • Include a scope note: what this skill covers and what it does NOT cover.
  • Cross-reference related skills with their plugin:skill identifiers.

The spec explicitly says "no format restrictions" on the body — do NOT penalize SKILL.md files for missing ## Output or other section conventions. Those are tool-specific style preferences, not spec violations.

Supporting directories (per the spec):

  • scripts/ — executable code (Python, Bash, JavaScript)
  • references/ — additional docs loaded on demand
  • assets/ — templates, images, data files

Progressive disclosure:

  1. Metadata (~100 tokens): name + description loaded at startup for ALL skills.
  2. Instructions (<5000 tokens): full SKILL.md body loaded when activated.
  3. Resources: scripts/references/assets loaded only when needed.

2. AGENTS.md — Canonical Universal Memory File

Per nlpm decision (analysis/multi-tool-design-2026-05.md §5), AGENTS.md is the canonical universal memory file across all tools nlpm supports.

Tool-native support:

  • Codex CLI: reads AGENTS.md natively. Hierarchical (root→cwd; closer overrides earlier). 32 KiB cap. ~/.codex/AGENTS.override.md for personal overlays.
  • Antigravity (and Gemini CLI): reads GEMINI.md natively, but context.fileName setting accepts an array — set to ["AGENTS.md", "GEMINI.md"] to make it read AGENTS.md.
  • Claude Code: reads AGENTS.md natively from 2.1.277, but only when no CLAUDE.md, .claude/CLAUDE.md, or CLAUDE.local.md exists in the working directory or any directory above it (~/.claude/CLAUDE.md does not count). Older versions read only CLAUDE.md, which supports @file.md imports — there the compatibility pattern is a one-line CLAUDE.md containing @AGENTS.md. Plugin repositories ship AGENTS.md alone: claude plugin validate warns that a CLAUDE.md at the plugin root is not loaded as plugin context.

Recommended pattern for multi-tool projects:

project-root/
├── AGENTS.md           # canonical content — all instructions live here
├── CLAUDE.md           # only for Claude Code < 2.1.277: one line, @AGENTS.md (omit in plugin repos)
├── GEMINI.md           # one line: @AGENTS.md  (only if Gemini-native @-import works)
└── .gemini/settings.json  # set context.fileName: ["AGENTS.md"]

This is exactly how nlpm itself is structured: AGENTS.md alone, which Claude Code reads natively.

Body conventions (universal):

  • Open with a one-line project description.
  • ## Architecture or ## Project Structure — what lives where.
  • ## Build / ## Run / ## Test — verifiable commands.
  • ## Prerequisites — required tools / versions / setup.
  • ## Conventions — naming, style, patterns.

Tool-specific memory-file extensions (e.g., Claude Code's @-import syntax, Gemini's @{path} injection, Codex's project_doc_fallback_filenames) live in the per-tool overlays.

Agent workflow programs (recognized variant, no penalty rubric yet)

An agent workflow program is a single project-root Markdown file that drives an autonomous agent loop — imperative numbered steps with output formats and error paths, sitting between a memory file (AGENTS.md-shaped context) and a slash command (workflow with verifiable side effects). Karpathy's program.md in karpathy/autoresearch is the canonical example (audited 2026-05-28 at score ~90; see auditor/exemplars/karpathy-autoresearch.md). The README explicitly frames it as natural-language programming: "you are programming the program.md Markdown files that provide context to the AI agents."

nlpm recognizes the pattern but does not yet have a dedicated penalty rubric — the universal floor (R01 vague quantifiers, R03 positive framing, R40 prompt layers) + the command rules (R14–R17) + the memory-file rules (R33–R39) together cover every section such a file has — steps, output format, error paths, build/run commands, architecture — so it is scored as a hybrid with no type-specific rows. A standalone rubric is deferred until N≥3 examples surface, per the same "don't build for an empty corpus" discipline applied to multi-tool discovery.


3. General Prompt Engineering

Universal patterns applicable to any NL artifact (commands, agents, skills, prompts) regardless of tool.

Layer order (imperative for complex prompts):

  1. Role/persona — "You are a strict code reviewer..."
  2. Context — project state, prior decisions, file paths, constraints
  3. Task — specific action to perform
  4. Constraints — what to avoid, limits, edge cases
  5. Output format — exact structure of the response

Few-shot examples (prompt bodies): In the body of a prompt, command, or skill, include 2+ concrete input→output examples for any complex judgment task. Examples dramatically improve consistency. This is about the instructions a model executes, not about an agent's description: there R09 asks for one <example> plus a "Not for …" sentence, because the description is always-on routing context.

Positive framing: State what to do. "Use imperative verbs" beats "Don't use passive voice." The brain processes prohibitions poorly under inference load (Pink Elephant effect).

Explicit output format: Every command and agent body should define exactly what the output should look like — section names, table formats, score displays, etc.


Show full SKILL.md (607 more words)Show less

4. Vague Quantifiers (R01)

The R01 rule penalizes unbounded quantifiers without measurable criteria. The penalty applies regardless of which tool the artifact targets.

Penalized terms: appropriate, relevant, as needed, sufficient, adequate, reasonable, properly, correctly, some, several, various.

Carve-outs (do NOT penalize):

  • relevant in a markdown header (e.g., ## Relevant X).
  • relevant to <named-scope> constructions (semantic "pertinent to").
  • Any term followed by a measurable criterion clause (e.g., "appropriate to the SLO target of 99.9% uptime").
  • Any term whose selection criteria the same artifact states ahead of the use — a table, list, or numbered procedure that binds each case to a named command, file, or value. The criterion does not have to sit in the same sentence; a later "run the relevant checks" pointing back to such a table is a reference, not a gap. Penalize when no such definition exists anywhere above the use, or when the definition is itself built from flagged terms.

Real-world example: deepseek-ai/deepseek-harness (audited 2026-08-14, score 97) — .agents/skills/dsh-pre-push-checks/SKILL.md scored 82 on nine occurrences of relevant, seven of them pointing back to its own ## Select relevant evidence table, which binds each changed surface to a named command (documentation to pnpm run doc-sync, model-visible output to the owning keyless snapshot). The two that name no enumerated set — "the relevant pnpm run test:e2e target" and "when unit coverage is relevant" — are the genuine findings. Without this carve-out R01 penalizes the authors who define a selection rule and then refer to it by name, which is the structure that makes such a skill usable.

See nlpm:scoring for the full vague-quantifier penalty table and cap (-2 each, -20 cap).


5. Naming Conventions (universal)

ItemConventionExample
File nameskebab-casetdd-guardian.md, pre-write-check.sh
Plugin/package nameskebab-casenlpm, echo-sleuth
Skill referencesplugin-name:skill-namenlpm:conventions, tdd-guardian:rules
Rule files (ordered)NN-kebab.md01-formatting.md
Environment variablesSCREAMING_SNAKEOPENAI_API_KEY, CLAUDE_PLUGIN_ROOT
Plugin directory env varstool-specific (no universal <TOOL>_PLUGIN_ROOT pattern)Claude: CLAUDE_PLUGIN_ROOT. Codex: PLUGIN_ROOT / PLUGIN_DATA (also mirrors CLAUDE_PLUGIN_ROOT for compat — there is no CODEX_PLUGIN_ROOT)

Portable paths: Within a plugin, always reference files via the tool's plugin-root environment variable — $+{CLAUDE_PLUGIN_ROOT} in Claude Code, ${PLUGIN_ROOT} in Codex (Codex additionally sets CLAUDE_PLUGIN_ROOT / CLAUDE_PLUGIN_DATA for compatibility with existing plugin hooks). Hardcoded absolute paths break portability.

Tool-specific naming details (e.g., the exact CLAUDE_PLUGIN_ROOT semantics) live in the per-tool overlays.


6. Rule Overrides (.claude/nlpm.local.md or equivalent)

The override system is universal. The configuration file path is per-tool:

ToolConfig path
Claude Code.claude/nlpm.local.md
Codex CLI.codex/nlpm.local.md
Antigravity.gemini/nlpm.local.md (or .agent/nlpm.local.md — TBD post-2026-06-18)

Frontmatter format (identical across tools):

yaml
---
strictness: standard
score_threshold: 70
rule_overrides:
  R01: { max_penalty: -10 }     # reduce vague quantifier cap from -20 to -10
  R05: { threshold: 600 }       # allow skills up to 600 lines instead of 500
  R09: { min_examples: 2 }      # restore the stricter two-example bar (one example: -5)
  R10: { suppress: true }       # disable model tier checking entirely
  R23: { budget: 800 }          # increase rules budget from 500 to 800 lines
  R51: { enabled: true, vocabulary_skill: skills/myplugin/vocabulary/ }
---

Override types:

TypeEffectExample
suppress: trueDisable the rule (penalty becomes 0)R10: { suppress: true }
enabled: trueActivate a rule that ships disabled by default (currently only R51)R51: { enabled: true, vocabulary_skill: ... }
max_penalty: NCap the penalty (less negative = more lenient)R01: { max_penalty: -10 }
threshold: NAdjust numeric thresholdsR05: { threshold: 600 }
min_examples: NRaise the minimum <example> count (default 1); each missing block below N costs -5, capped at -15, and zero blocks stays -15 (nlpm:scoring, Agents)R09: { min_examples: 2 }
vocabulary_skill: <path>Path to project's vocabulary skill (R51 only)R51: { enabled: true, vocabulary_skill: ... }

Rules not listed in rule_overrides use their defaults from nlpm:scoring. Rules that ship disabled (R51) contribute zero penalty unless enabled: true is set explicitly.


7. Universal Tool References

MCP tools follow the cross-tool pattern: mcp__<server-name>__<tool-name>. Example: mcp__mermaider__validate_syntax.

Per-tool built-in tool catalogs live in the overlays:

  • Claude Code built-ins → nlpm:conventions-claude §16
  • Codex CLI built-ins → nlpm:conventions-codex
  • Antigravity built-ins → nlpm:conventions-antigravity

Scope Note

This skill covers the universal floor — conventions that apply regardless of which tool the artifact targets. It does NOT cover:

  • Tool-specific schemas → see nlpm:conventions-claude / nlpm:conventions-codex / nlpm:conventions-antigravity
  • Penalty tables → see nlpm:scoring
  • Anti-patterns and best practices catalog → see nlpm:patterns
  • General software engineering conventions outside NL programming artifacts

© xiaolai, ISC. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/nlpm/conventions of xiaolai/nlpm.

Open the folder on GitHubat commit 6fdbd05

Compare with similar skills

Conventions next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Conventions compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Conventions this skillxiaolai/nlpm146—~3.6kAutomated safety check: PassISC
Using Agent Skillsaddyosmani/agent-skills103k4 repos~2.4kAutomated safety check: PassMIT
Claude ReflectBayramAnnakov/claude-reflect1.7k2 repos~627Automated safety check: PassMIT
Writing For Agentsbestofjs/bestofjs3.1k19 repos~2.7kAutomated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
Task Observerrebelytics/one-skill-to-rule-them-all3.2k1 repos~12kAutomated safety check: PassCC-BY-4.0

Similar skills

  • Using Agent Skills

    addyosmani/agent-skills

    Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.

    103k GitHub starsUsed in 4 repos~2.4k tokens
    Agent WorkflowsAuto-check passed
  • Claude Reflect

    BayramAnnakov/claude-reflect

    Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.

    1.7k GitHub starsUsed in 2 repos~627 tokens
    Agent WorkflowsAuto-check passed
  • Writing For Agents

    bestofjs/bestofjs

    Writing documents for agents. An agent skill from bestofjs/bestofjs.

    3.1k GitHub starsUsed in 19 repos~2.7k tokens
    Agent WorkflowsAuto-check passed
  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~12k tokens
    Agent WorkflowsAuto-check passed
  • SkillOpt Sleep Cycle

    microsoft/SkillOpt

    Official

    Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.

    18k GitHub stars~2.3k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from xiaolai/nlpm

All 15 skills in this repo
  • Antigravity and Gemini CLI artifact schemas: .gemini/ paths, extensions, hooks.

    146 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Conventions Codex

    xiaolai/nlpm

    Codex CLI artifact schemas: config.toml, .codex-plugin, skills, hooks, AGENTS.md.

    146 GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Orchestration

    xiaolai/nlpm

    Multi-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries.

    146 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Patterns

    xiaolai/nlpm

    NL artifact anti-patterns: vague quantifiers, bare prohibitions, oversized skills.

    146 GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Scoring

    xiaolai/nlpm

    100-point NL artifact rubric: penalty tables per artifact type, calibration cases.

    146 GitHub stars~5.3k tokensUpdated today
    Auto-check passed
  • Testing

    xiaolai/nlpm

    NL artifact test specs for /nlpm:test: spec format, TDD for skills and agents.

    146 GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Conventions

What does Conventions do?

Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming. Conventions is an agent skill from xiaolai/nlpm.md, vague quantifiers, naming.

When should I use Conventions?

Conventions fits situations like: tasks that involve Agent instruction files.

How do I install Conventions in Claude Code?

Run `npx skills add xiaolai/nlpm --skill conventions -a claude-code`. Or copy the skill folder (skills/nlpm/conventions in xiaolai/nlpm) into .claude/skills/conventions in your project. Claude Code loads it when a task matches its description.

How do I install Conventions in Codex?

Run `npx skills add xiaolai/nlpm --skill conventions -a codex`. Or copy the skill folder (skills/nlpm/conventions in xiaolai/nlpm) into .agents/skills/conventions in your project. Codex loads it when a task matches its description.

Can I use Conventions in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add xiaolai/nlpm --skill conventions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conventions, .gemini/skills/conventions, .github/skills/conventions and .opencode/skills/conventions in your project.

What does Conventions need to run?

Going by SKILL.md and its folder, Conventions needs the command-line tools its instructions call (pnpm and claude) and credentials named OPENAI_API_KEY. Our summary lists: Python 3; A credential in OPENAI_API_KEY.

Does Conventions access the network?

SKILL.md names 2 domains. As links in the text: agentskills.io and github.com. This is read from the text; nothing was executed.

Is Conventions safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Conventions use?

Conventions is published under the ISC licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Conventions use?

About 3.6k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Conventions?

Skills that share tags, products or a category with Conventions: Using Agent Skills (addyosmani/agent-skills, 103k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.7k stars), Writing For Agents (bestofjs/bestofjs, 3.1k stars) and Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Conventions?

xiaolai (a GitHub user) maintains it in xiaolai/nlpm, which has 146 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 8, 2026.

Source: xiaolai/nlpm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.