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-agents --plugin nika2plugins reuse this skill
First indexed Jul 14, 2026
Hardens Nika workflows for production: enforces spend caps, declares permits boundaries, seals secrets with taint tracking, swaps models, and wires CI or scheduler runs.
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.