Teach your agent to hand repeatable work to
Nika: a plain-text
workflow it can check before a token is spent and verify after.
One Add installs the whole suite: 4 skills · 3 subagents · 6 slash commands
· 3 hooks · the read-only MCP oracle (9 tools: nika_check ·
nika_explain · nika_schema · nika_examples ·
nika_template · nika_canon · nika_catalog ·
nika_tools · nika_inspect).
The binary first, everywhere: brew install supernovae-st/tap/nika
(other paths). Then one Add for your client:
# Claude Code · updating is TWO rungs (clone, then install, then restart)
claude plugin marketplace add supernovae-st/nika-agents
claude plugin install nika@nika# Codex · the per-version cache refreshes on your next run
codex plugin marketplace add supernovae-st/nika-agents
codex plugin add nika@nika# Grok Build · reads the Claude Code kit natively; --trust activates hooks + MCP
grok plugin marketplace add supernovae-st/nika-agents
grok plugin install nika@nika --trust# OpenClaude · its loader reads the same marketplace layout, unported
openclaude plugin marketplace add supernovae-st/nika-agents
openclaude plugin install nika@nika# Hermes, or any skills.sh-compatible client
npx skills add supernovae-st/nika-agentsCursor · search "nika" in Settings → Plugins, one Add installs the full
bundle (a manual drop into ~/.cursor/plugins/local/ loads MCP + skills
ONLY · until the listing serves you, nika init equips the repo fully).
Everyone else (opencode · Kimi Code · Gemini CLI · Zed · Cline ·
Copilot CLI · Amp · Warp · 30+ clients): nika init equips the repo,
nika wire <client> wires the machine, and the read-only oracle rides any
MCP client. Every door on one page:
docs.nika.sh/integrations/everywhere.
Once installed, paste one of these into your agent:
Turn this repeatable task into a checked Nika workflow.
Validate this .nika.yaml file and repair every finding.
Diagnose this failed Nika run from its trace.
The plugin proposes the command; you type it. Spend is capped at the call that would cross the cap, the effect boundary is declared in the file and reviewable in a diff, and every run leaves a hash-chained trace you can verify afterwards. Running stays yours:
Coverage is a machine-checked contract, not a claims list:
clients.yaml tracks 31 clients across 9 component classes
(CI-gated both ways against the shipped binary). The proven rows, each with
a deterministic receipt:
| Client | The receipt |
|---|---|
| Claude Code | full suite loads in-session: skills · subagents · /nika:* · hooks · oracle |
| Codex | marketplace page live (interface block · try-now prompts) · plugin cache enabled |
| Grok Build | grok inspect --json lists every component with origins · grok mcp doctor --json: handshake OK, 9 tools (fiche) |
| Kimi Code | a stream-json run emits tool_calls: mcp__nika__nika_canon · the oracle loaded AND called (fiche) |
| opencode | opencode mcp list → ✓ nika connected (fiche) |
| Hermes / skills.sh | e2e-proven skill pack, listed live (skills.sh) |
| Any MCP client | the containerized oracle answers initialize + tools/list on every CI run (integrations/mcp) |
One-click MCP wiring where the client supports it (binary still required):
Every surface invokes the binary and the plugin kits ride its release train, but no surface updates another: brew never touches a plugin, a marketplace never touches the binary.
| Surface | Update gesture |
|---|---|
| Binary | brew upgrade nika |
| Claude Code plugin | claude plugin marketplace update nika then claude plugin update nika@nika (two rungs · restart after) |
| Codex plugin | codex plugin marketplace upgrade nika |
| Every surface at once | scripts/update-mirrors.sh (--check reports drift read-only, CI-able) |
nika doctor is the coherence oracle: it reads what each client actually
loads, names any kit lagging the binary's train, and prints the exact
per-client fix. Drift is advisory (warn · exit 0).
ENGINE supernovae-st/nika the source of truth
├─ .agents/plugins/nika/ THE plugin kit (skills · subagents ·
│ 3 manifests: claude · codex · commands · rules · hooks · MCP · logo)
│ cursor · mirrored HERE, byte-pinned
├─ nika init per-REPO scaffold (AGENTS.md ·
│ .cursor/{rules,mcp.json} · .vscode ·
│ copilot brief · CLAUDE.md · skill)
└─ nika wire <client> per-MACHINE wiring (cursor · zed ·
cline · continue · claude · …)
THIS REPO supernovae-st/nika-agents the install surface (light clone —
marketplaces clone their target)
Claude Code · Codex · Cursor · the mirrored plugin, one Add each
Grok Build · OpenClaude
Hermes / skills.sh · opencode · kit-native integrations
Kimi Code · MCP registries
nika-vscode supernovae-st/nika-vscode the IDE product (compiled extension:
LSP · live DAG canvas · replay
debugger · runs view · VS Code ·
Cursor · Windsurf, one build)
Three mechanisms, no overlap: the plugin teaches any agent the language
(per-agent) · nika init equips one repository (per-repo) · nika wire configures one machine's clients (per-machine). The extension is not
a plugin: it is the full IDE surface, and on Cursor it nudges you to the
plugin for the agent side.
plugin marketplace add clones its target. The engine repo carries the full
Rust workspace and media; this repo carries the plugin only, so the install
is instant. The files are mirrored verbatim from the engine's
.agents/plugins/.
File issues and PRs against supernovae-st/nika.
📜 nika-spec ──── the civil code · the law tables, the corpus, the exam
│ sync-pack: byte-gated mirror │ projectors: drift-gated
▼ ▼
⚙️ nika ───────── the engine + the catalog (the yellow pages)
│ the release train 🖥️ nika.sh · 📖 nika-docs
▼ the showroom · the manual
📦 homebrew-tap · npm · Docker ── the docks
🔌 nika-client · 🎨 nika-vscode · 🤖 nika-agents · ⚡ gh-nika ── the doors ◀── you are here
🏭 nika-action · 🧪 nika-actions-starter ── the CI district
🏪 nika-registry ── the market · 🏛 nika-estate ── the land registry
This building · THE AI KIT · agents learn the language here (the authoring skill · the MCP oracle · commands).
Root · neither · this building teaches the LANGUAGE. Its corpus is a sha256-pinned mirror of nika-spec and its commands are probed against the released engine · nothing authoritative is typed here.
Consumes · the engine's .agents/plugins/ (mirrored byte-pinned · the heal follows the release train).
Serves · Claude Code · Codex · Cursor · Grok Build sessions, one Add each (OpenClaude rides the same layout).
Truth lives · everything here is a MIRROR · file issues and PRs against the engine.
All the buildings: nika-spec · nika · nika.sh · nika-docs · nika-client · nika-vscode · nika-agents · gh-nika · homebrew-tap · nika-action · nika-actions-starter · nika-registry · nika-estate
Every fact has one home · everything else is a gated projection. The living map: nika.sh/map.
.agents/plugins/marketplace.json Codex marketplace manifest
.agents/plugins/nika/ the plugin (the full suite, one bundle)
.codex-plugin/plugin.json Codex manifest
.claude-plugin/plugin.json Claude Code manifest
.cursor-plugin/plugin.json Cursor manifest (logo + all components)
skills/{nika-authoring,nika-debugging,nika-operating,nika-migration}/
author · run forensics · day-2 ops · script porting
agents/{nika-author,nika-debugger,nika-migrator}.md
the three subagents (write · root-cause · port)
commands/{check,explain,new,trace,permits,doctor}.md
the /nika:* slash commands
hooks/{cursor,claude}-hooks.json the three seatbelts, one file per dialect:
session map · check-on-edit · guard-run (a nika
run must pass nika check · the deny teaches)
rules/nika-workflow-language.mdc the language rule (the init template, verbatim)
rules/nika-delegation.mdc WHEN to propose a workflow, WHICH surface to use
assets/nika-logo.png the marketplace logo
.mcp.json the read-only oracle wiring
.claude-plugin/marketplace.json Claude Code marketplace manifest
.cursor-plugin/marketplace.json Cursor marketplace manifest
clients.yaml the client × component matrix (the coverage SSOT)
skills/autonomous-ai-agents/nika/ the Hermes delegation skill (kit-native)
integrations/{grok-build,kimi-code,opencode,openclaude,mcp}/
per-client fiches · live-verified, version-pinned
integrations/description-bank.md the words every listing copies
listings.yaml the public submissions ledger
mirror.json the drift contract (classes + pins)
Two content classes, one contract (mirror.json): engine-mirror files
are byte-identical projections of the engine repo, pinned by sha256 at the
engine SHA they were proven against: a pin mismatch means corruption (hard
fail), upstream movement means a re-sync is due. kit-native files are
owned here and proven against the latest released binary instead: the gate
asserts every taught nika <subcommand> and every advertised nika_* tool
actually ships. The oracle is read-only by design:
threat model.
You want to support Nika in your client? Copy the matching
integrations/ folder: each one is self-contained,
version-pinned, and gate-checked against the live binary. Missing a
workflow for your use case?
Ask for one
· the answer ships as a checked file, receipts included.
Start from a template: nika-actions-starter (workflow + editor wiring + CI receipts)
Docs: docs.nika.sh · Engine (AGPL-3.0): nika · 🦋 SuperNovae Studio · Paris

