From nika
Hardens Nika workflows for production: enforces spend caps, declares permits boundaries, seals secrets with taint tracking, swaps models, and wires CI or scheduler runs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nika:nika-operatingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Authoring makes a file pass `nika check`. Operating makes it safe to
Authoring makes a file pass nika check. Operating makes it safe to
run unattended: bounded spend, a declared blast radius, masked
credentials, a model you chose, and a journal you can export.
nika check <file> prints the cost BEFORE any token: ≤ $X is a
ceiling · ≥ $X FLOOR means at least one task is unbounded — fix
the reason (a missing max_tokens, an uncataloged model, an
expression fan-out), never ship a floor to production.nika run <file> --max-cost-usd <n> blocks BEFORE the
call that would cross the cap.nika check <file> --infer-permits
prints the tightest permits: block the workflow needs — paste it
into the file. From then on the boundary is default-deny: a new host,
path or tool must be added consciously, in a reviewable diff. Permits
are data, not config — they travel with the file through PR review.
Every credential rides ${{ secrets.X }}, declared in the
secrets: block (source: env + key: VAR_NAME) with its
egress: sinks — the engine masks it in logs and refuses to send
it anywhere but the declared sinks.
The taint FLOWS: the output of a task that used a secret is
secret-derived, and every downstream sink it reaches needs its own
egress: entry. An authed fetch whose output feeds an infer:
declares both:
secrets:
gh_token:
source: env
key: GITHUB_TOKEN
egress:
- to: "nika:fetch"
- to: "infer"
The checker names the exact chain when one is missing
(secrets.X → tasks.A.output → tasks.B.output).
A host:-scoped egress cannot be proven against an interpolated
URL (${{ vars.repo }} in the address) — the checker refuses
conservatively. Pin the URL, or drop the host: scope and keep
the tool-level sink.
Values come from the environment at run time; CI injects them the same way a shell does. Never a literal in YAML, never in a trace.
nika doctor audits the machine: binary, PATH, provider env vars.
provider/name. nika catalog is the embedded registry:
providers · models · capabilities · which env var each needs.mock/echo (offline, deterministic, zero keys). Prove
structure first, spend later.--model ollama/<model> runs local — same file,
same check, same trace. Give local providers timeout: "300s"+.--model flag or one line in the YAML, never a rewrite.nika check <file> --json — exit 0 clean · 2
findings · 3 broken oracle. Parse clean, conformance[],
pricing, models_resolve from the payload.nika test <file> --update writes
<file>.golden.json from a mock run; nika test <file> replays
and compares — deterministic, zero model keys, CI-safe.nika:fetch still
rides the network under nika test, and a secrets: entry still
resolves from the environment (export a dummy in CI). Golden the
hermetic workflows (read · jq · write · infer); a workflow whose
truth lives on the network is proven by its TRACE, not a golden.--native-strict in CI keeps exec: honest: any shell task an
embedded builtin covers fails the gate (the exec ledger documents
the survivors).--var key=value carries the parameters.nika trace export <trace> projects the journal to OTLP/JSON
lines — drag into Jaeger UI (≥1.60) or POST to any OTLP/HTTP
endpoint. Local file, zero collector, zero vendor.nika trace ls shows the store; retention never collects the ★
newest trace of each workflow. nika trace rm --older-than <dur>
prunes deliberately.nika trace verify <trace> (hash-chain intact), never
a log screenshot.nika check <file> — clean, ceiling not floor.nika check <file> --native-strict — exec ledger complete.permits: pasted from --infer-permits — default-deny.secrets: with sinks — env-injected, never literal.nika test <file> --update, committed).--max-cost-usd)..nika/traces/) — export wired if anyone
watches dashboards.npx claudepluginhub supernovae-st/nika --plugin nika2plugins reuse this skill
First indexed Jul 14, 2026
Automates repeatable AI tasks as auditable YAML workflows with cost ceilings and tamper-evident traces. Useful for running budgeted, checked AI pipelines.
Runs repeatable AI tasks as checked, budgeted workflow files (.nika.yaml). Use for deterministic multi-step pipelines, cost-capped runs, or tasks that need audit traces.
Authors, checks, and repairs Nika workflow files (.nika.yaml). Use when writing or editing workflows, converting AI tasks into workflows, or fixing NIKA-XXXX findings from nika check.