conventions-antigravit…
Antigravity and Gemini CLI artifact schemas: .gemini/ paths, extensions, hooks.
Claude Code artifact schemas: plugin.json, frontmatter, hooks, settings, tools.
$ npx -y skills add xiaolai/nlpm --skill conventions-claude --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/conventions-claudeContext preview
The summary Claude sees to decide when to auto-load this skill.
Claude Code artifact schemas: plugin.json, frontmatter, hooks, settings, tools.
name: conventions-claude description: "Claude Code artifact schemas: plugin.json, frontmatter, hooks, settings, tools." version: 0.3.1 user-invocable: false
Tool-specific overlay for Claude Code plugin artifacts. Loaded by the scorer and checker when an artifact is classified as **Tier 2-Claude** (per `agents/scorer.md` step 3). The universal floor lives in `nlpm:conventions`; this overlay adds Claude-Code-specific schemas on top.
**Last refreshed:** 2026-08-02 against current docs (Claude Code ≥ v2.1.218); §2.2, §2.4 and §14 corrected 2026-10-01 against Claude Code 2.1.285. **Notation:** a `+` splits `$+ARGUMENTS` and the dollar-brace variables such as `$+{CLAUDE_PLUGIN_ROOT}` throughout this file. The real tokens have no `+`. They are split because Claude Code replaces the contiguous tokens with their values whenever it loads a skill, including when an agent preloads it, so a literal token here would reach the reader as an empty string or a path (§2.4).
**Primary authoritative sources:**
---
The plugin manifest.
**Required fields:**
The manifest is **fully optional** — artifacts auto-discover from conventional paths, and only `name` is required when present. Unrecognized top-level fields are ignored with a warning (error only under `claude plugin validate --strict`).
**Optional fields:**
**NOT plugin.json fields (common mistake):**
**Artifact path fields (all optional, string or string[]):**
**Plugin structure note:** a `bin/` directory in a plugin root puts its executables on the Bash tool's `PATH` — files there are invokable as bare commands in any Bash call while the plugin is enabled.
**Example manifest → [reference.md](reference.md#pluginjson-example).**
---
**Critical:** as of Claude Code v2.1.x, commands and skills are the **same architecture**. Both surfaces support the same frontmatter and execution semantics. The recommended canonical path is:
.claude/skills/<name>/SKILL.md # preferred for new development .claude/commands/<name>.md # still works; equivalent behavior
Existing `.claude/commands/` files continue to function. New code should prefer the skill layout because it allows companion files (`scripts/`, `references/`, `examples/`) in the same directory.
**Authoritative reference:** <https://code.claude.com/docs/en/skills.md> (command/skill frontmatter now lives here; the old `slash-commands.md` page was retired)
**Recommended (per official docs, the only *recommended* frontmatter field — all keys are technically optional):**
**Optional (universal):**
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.
Antigravity and Gemini CLI artifact schemas: .gemini/ paths, extensions, hooks.
Codex CLI artifact schemas: config.toml, .codex-plugin, skills, hooks, AGENTS.md.
Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.
Multi-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries.
NL artifact anti-patterns: vague quantifiers, bare prohibitions, oversized skills.
The 50 NL programming rules (R01-R50) for skills, agents, commands, hooks, prompts.