From nika
Diagnose and repair failed, paused, or suspicious Nika runs from their traces. Use when a run fails, pauses on a prompt, or a NIKA-XXXX runtime finding needs a root cause.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nika:nika-debuggingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Every run writes a hash-chained journal to `.nika/traces/`. That journal
Every run writes a hash-chained journal to .nika/traces/. That journal
is the ONLY truth about what happened — debug from the trace, never from
a memory of the terminal scroll.
autopsy:
line carries the FULL trace path — start there when you have it.nika trace ls — age · size · workflow ·
terminal state (completed/failed/paused) · ★ marks the newest
trace of each workflow (the resume candidate). Address a trace by
its store path — .nika/traces/<name> — everywhere below (ls
prints bare names; the readers take the path form on every
version).nika trace show <trace> — the final verdict,
the waves, per-task outcome. nika trace replay <trace> re-renders
the run live (replay = re-render, NEVER re-execute).nika trace outputs <trace> — verb ·
duration · tokens · a bounded preview per task (full value:
nika trace peek). The first red task is the root; everything
downstream is fallout.nika explain NIKA-XXXX teaches the cause ·
category · fix-form of any code the trace carries.nika check <file> — a run that failed often
fails again at check once you know what to look for (a model that no
longer resolves, a missing env var, a permits violation).On a terminal, nika:prompt blocks and waits (the run shows as
paused in nika trace ls). Headless — which is where an agent
lives — a prompt without a default: FAILS with
NIKA-BUILTIN-PROMPT-001 instead. Both states resolve with the same
line:
nika run <file> --resume <trace> --answer <task>=<value>
Confirm gates take booleans (--answer approve=true); every task the
journal already proved is skipped as a visible cache hit, so only the
prompt and its downstream run. Removing a paused trace refuses
without --force and names the prompt it would destroy — that
refusal is protecting an answer, not being difficult.
A failed run's card prints its own forensics line (autopsy: nika trace peek <trace> <task>) — start there, it points at the
exact failing task.
nika run <file> --from <task-id> — rerun from one task onward,
keeping upstream results.nika run <file> --task <task-id> — rerun exactly one task.nika test <file> --update rewrites the golden from an offline mock
run — never hand-edit a .golden.json to make red green.nika check <file> --json →
models_resolve says whether every model: runs in THIS binary;
nika catalog names the env var each provider needs.${{ secrets.X }} /
${{ env.KEY }} — the trace shows the task, the shell shows the
env. nika doctor audits the machine side.timeout: "300s" or
more — thinking models routinely think past 30s.--max-cost-usd blocks BEFORE the call that would
cross the cap — that is the feature working, not a bug. Raise the
cap deliberately or shrink the task.nika trace verify <trace> checks the hash chain: any edited,
inserted, dropped or reordered line breaks every hash after it.
Exit 0 intact · 2 broken · 3 unchained (pre-chain journal). Cite the
trace in any report — a verified chain is proof, prose is not.
brew install supernovae-st/tap/nika —
do not reconstruct runs from memory.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.
Hardens Nika workflows for production: enforces spend caps, declares permits boundaries, seals secrets with taint tracking, swaps models, and wires CI or scheduler runs.