mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-07-15 19:06:18 +08:00
a517ecee07
scripts/skill-conformance.test.ts auto-discovers each .claude/skills/*/SKILL.md with nc: fences (15 today) and asserts, per skill: lint clean (errors and warn-lints); per branch-scenario from a colocated apply-fixtures.json, a full applySkill run with stubbed exec/execStream/resolveRemote goes green — nothing deferred, nothing degraded to agent, every var bound; every when: guard value is exercised by some scenario (coverage read from ApplyResult.vars, with documented exclusions); static effect ordering (mutations before build, build before test, restart only after both); and a run-health sabotage probe — a failing fetch/check/external run must gate every later restart/step/wire. Fixture values satisfy the skills' real validate: regexes, so a fixture can't paper over a broken prompt. Skills with prompts but no fixture fail with an actionable message; prompt-less skills get a default empty scenario. scripts/skill-inputs.ts adds the inputsFromEnv helper from the seam spec §6 (NC_INPUT_<VAR>, collision error); its test round-trips env-supplied inputs through a real skill apply. Runs in the existing CI vitest step — no workflow change needed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>