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.
Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.
$ npx skills add xiaolai/nlpm --skill conventions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install xiaolai/nlpm conventions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "conventions" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/conventions into .claude/skills/conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/conventionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add xiaolai/nlpm --skill conventions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install xiaolai/nlpm conventions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/nlpm/conventions .agents/skills/conventions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "conventions" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/conventions into .agents/skills/conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add xiaolai/nlpm --skill conventions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install xiaolai/nlpm conventions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/nlpm/conventions .cursor/skills/conventions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "conventions" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/conventions into .cursor/skills/conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/xiaolai/nlpm.git --path skills/nlpm/conventions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add xiaolai/nlpm --skill conventions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install xiaolai/nlpm conventions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/nlpm/conventions .gemini/skills/conventions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "conventions" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/conventions into .gemini/skills/conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install xiaolai/nlpm conventionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add xiaolai/nlpm --skill conventions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/nlpm/conventions .github/skills/conventions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "conventions" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/conventions into .github/skills/conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add xiaolai/nlpm --skill conventions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install xiaolai/nlpm conventions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/nlpm/conventions .opencode/skills/conventions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "conventions" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/conventions into .opencode/skills/conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "conventions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
conventionsUniversal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.
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.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6fdbd05. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pnpmclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
agentskills.iogithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from xiaolai/nlpm at commit 6fdbd05, republished under its ISC licence (© xiaolai). 1,617 words, ~3,627 tokens.
.claude/skills/conventions/SKILL.md (or your agent's skills folder).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.
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):
| Tool | Path |
|---|---|
| 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):
references/).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 demandassets/ — templates, images, data filesProgressive disclosure:
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/AGENTS.override.md for personal overlays.GEMINI.md natively, but context.fileName setting accepts an array — set to ["AGENTS.md", "GEMINI.md"] to make it read AGENTS.md.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):
## 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.
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.
Universal patterns applicable to any NL artifact (commands, agents, skills, prompts) regardless of tool.
Layer order (imperative for complex prompts):
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.
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").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.mdscored 82 on nine occurrences ofrelevant, seven of them pointing back to its own## Select relevant evidencetable, which binds each changed surface to a named command (documentation topnpm run doc-sync, model-visible output to the owning keyless snapshot). The two that name no enumerated set — "therelevantpnpm run test:e2etarget" and "when unit coverage isrelevant" — 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).
| Item | Convention | Example |
|---|---|---|
| File names | kebab-case | tdd-guardian.md, pre-write-check.sh |
| Plugin/package names | kebab-case | nlpm, echo-sleuth |
| Skill references | plugin-name:skill-name | nlpm:conventions, tdd-guardian:rules |
| Rule files (ordered) | NN-kebab.md | 01-formatting.md |
| Environment variables | SCREAMING_SNAKE | OPENAI_API_KEY, CLAUDE_PLUGIN_ROOT |
| Plugin directory env vars | tool-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.
.claude/nlpm.local.md or equivalent)The override system is universal. The configuration file path is per-tool:
| Tool | Config 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):
---
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:
| Type | Effect | Example |
|---|---|---|
suppress: true | Disable the rule (penalty becomes 0) | R10: { suppress: true } |
enabled: true | Activate a rule that ships disabled by default (currently only R51) | R51: { enabled: true, vocabulary_skill: ... } |
max_penalty: N | Cap the penalty (less negative = more lenient) | R01: { max_penalty: -10 } |
threshold: N | Adjust numeric thresholds | R05: { threshold: 600 } |
min_examples: N | Raise 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.
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:
nlpm:conventions-claude §16nlpm:conventions-codexnlpm:conventions-antigravityThis skill covers the universal floor — conventions that apply regardless of which tool the artifact targets. It does NOT cover:
nlpm:conventions-claude / nlpm:conventions-codex / nlpm:conventions-antigravitynlpm:scoringnlpm:patterns© xiaolai, ISC. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/nlpm/conventions of xiaolai/nlpm.
Open the folder on GitHubat commit 6fdbd05
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Conventions this skillxiaolai/nlpm | 146 | — | ~3.6k | Automated safety check: Pass | ISC | |
| Using Agent Skillsaddyosmani/agent-skills | 103k | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Claude ReflectBayramAnnakov/claude-reflect | 1.7k | 2 repos | ~627 | Automated safety check: Pass | MIT | |
| Writing For Agentsbestofjs/bestofjs | 3.1k | 19 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Task Observerrebelytics/one-skill-to-rule-them-all | 3.2k | 1 repos | ~12k | Automated safety check: Pass | CC-BY-4.0 |
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.
BayramAnnakov/claude-reflect
Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.
bestofjs/bestofjs
Writing documents for agents. An agent skill from bestofjs/bestofjs.
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.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
microsoft/SkillOpt
Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.
xiaolai/nlpm
Antigravity and Gemini CLI artifact schemas: .gemini/ paths, extensions, hooks.
xiaolai/nlpm
Codex CLI artifact schemas: config.toml, .codex-plugin, skills, hooks, AGENTS.md.
xiaolai/nlpm
Multi-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries.
xiaolai/nlpm
NL artifact anti-patterns: vague quantifiers, bare prohibitions, oversized skills.
xiaolai/nlpm
100-point NL artifact rubric: penalty tables per artifact type, calibration cases.
xiaolai/nlpm
NL artifact test specs for /nlpm:test: spec format, TDD for skills and agents.
Categories
Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming. Conventions is an agent skill from xiaolai/nlpm.md, vague quantifiers, naming.
Conventions fits situations like: tasks that involve Agent instruction files.
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.
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.
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.
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.
SKILL.md names 2 domains. As links in the text: agentskills.io and github.com. This is read from the text; nothing was executed.
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.
Conventions is published under the ISC licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.