NCI
Guides · Skills

NCI skills

Skills are short SKILL.md files that tell an agent how to think when it touches NCI. They live under skills/ in the repo and ship as a single shared knowledge layer for any client that loads them.

What a skill is

A skill is a plain Markdown file with frontmatter. The frontmatter names the skill and decides whether the host can auto-invoke it; the body is a short protocol the agent follows when the skill is in scope.

skills/ README.md <skill-name>/ SKILL.md

Install

Install both shipped skills from git with npx skills:

nci

nci-answer-quality sets disable-model-invocation: true so the protocol is not paraphrased when it fires. nci leaves invocation flexible for onboarding judgment.

Hosts that understand the open Agent Skills shape each discover SKILL.md from their own paths — there is no single global folder. The host map below is a reference; check each product’s docs when they ship an update.

Where each host looks

HostTypical locationsHow it behaves
Cursor

.cursor/skills/…, .agents/skills/…, plus user-level paths listed in Cursor’s skills docs

Complements always-on Rules (.cursor/rules/). Skills are loaded when the task matches the description — not on every message.

Claude Code

~/.claude/skills/ (user), .claude/skills/ in the repo (project)

Directory name becomes a slash command (for example /deploy for a folder named deploy); see Claude Code skills.

Claude Desktop / Claude apps

Managed in the app (Skills library, connectors, synced packs) — not the same on-disk layout as Claude Code

For repo-local workflows, many teams still keep a skills/ tree in git and point agents at it via prompts or filesystem access.

OpenCode

.opencode/skills/, ~/.config/opencode/skills/, and compatibility paths such as .claude/skills/ (see OpenCode skills)

Skills are usually invoked through OpenCode’s skill tool so only metadata loads until the agent needs the body.

Antigravity

Workspace .agent/skills/ and user ~/.gemini/antigravity/skills/ (see Google’s Antigravity skills codelab)

Same bundle layout as other hosts: one folder per skill with SKILL.md at the root.

Codex

Repo and parents .agents/skills/ and user ~/.agents/skills/ (see OpenAI’s Codex skills docs)

Loads name + description first, then the full SKILL.md only when the skill is invoked (progressive disclosure). Per-skill enable/disable lives in [[skills.config]] blocks in config.toml.

Shipped skills

SkillWhen it firesWhat it forces
nci

Fresh context, first NCI use in a repo, or “how do I use NCI?” before any query.

Verify CLI (nci --version), nci init -y, nci index, then read the compact primer (nci://primer/agent or bundled PRIMER.md) and run active-packageevidence.

nci-answer-quality

On any “using nci” question, type-level explanation request, or strict-correctness ask about composition operators.

Signature-first reasoning: list decision symbols, fetch their declarations through NCI, derive the conclusion from the signature, show one wrong alternative with its rejection, end with a confidence line.

The skills directory is not part of the CLI surface — nci does not read or write it. It is a sibling to NCI that any agent runtime can mount.