OR Key
drop another .md file to compare — side-by-side diff against snappy-os

snappy-os

Agent operating substrate. The tree every install starts from.
public 3 files

on-disk anatomy — the four parts a skill can have on disk (stack.md §1e) 0/4 present

Every row below is a file path that either exists in the repo or doesn't. Only Skill is required. The other three are optional — add them as the work demands. This is the physical shape; the harness panel below is the operational shape.

Skill
state/skills/snappy-os.md not present
Anthropic-spec markdown + YAML frontmatter
required — without this there is no skill
api.ts
state/lib/snappy-os.ts not present
TypeScript library module, shebanged, dual-purpose import/CLI
optional — prose-only skills skip this; add one when you need a typed surface
scripts
state/bin/snappy-os/ not present
shell or standalone files for ops
optional — extract executable blocks here when SKILL.md grows past ≥3 command lines
Loader
state/skills/snappy-os.agents.md not present
short keyword-gated per-turn context
optional — no loader means this skill is read-on-demand, not keyword-triggered

harness — the operating frame every snappy-os skill runs inside 0/5 present

Every skill ships with the same five-part frame. An actor produces, a different auditor grades (program.md §5), a loader footer heals loader gaps on every turn, a regen drain rewrites loaders asynchronously, and every run lands a row in the eval log. Cells marked not present carry a one-line teach — absence is load-bearing for snappy-os.

produces Actor
not present

No producer step surfaced in SKILL.md or AGENTS.md — likely a coordination or read-only skill.

grades Auditor
not present

No auditor surfaced. Without a separate grader, the producer can rubber-stamp itself — flag in review (program.md §5).

frame
learns Loader footer
not present

No self-correcting footer detected. Loader cannot learn from gaps — consider adding the `state/regen/footer.md` block.

rewrites Regen drain
not present

Without an AGENTS.md loader there's no per-turn setpoint to drain — the PID loop can't engage.

records Eval log
not present

No `eval:` frontmatter directive. Every skill must declare one — flag via `state/lint/check.ts`.

Critical rules pulled from AGENTS.md · hard-won invariants, not footnotes
No ## Critical Rules section in AGENTS.md. Hard-won invariants, if any, live inline in the prose below.

PID feedback — how this loader taught itself mock — real endpoint pending

Rows from state/log/agents-md-feedback.log filtered by snappy-os. Every agent run that hits an unhandled case appends one line — FIXED when the loader was edited inline (P-fix), LOGGED when the gap is too big for an inline edit and the state/regen/drain.sh queue will rewrite it asynchronously.

  1. Loading feedback rows…

SKILL.md— the prose file

no SKILL.md found

AGENTS.md— the loader file

no AGENTS.md found

api.ts— typed surface

⚠ no api.ts — this skill has no typed action surface

scripts— sidecar under state/bin/snappy-os/

prose-only skill — no sidecar under state/bin/ yet. Steps, if any, are described in SKILL.md.

last run— most recent artifact at state/log/artifacts/snappy-os/

loading…

eval contract— rubric + last 10 runs + deps

rubric unknown no rubric declared
recent no runs actor/auditor: unverifiable
deps none declared

no recent runs logged — the eval contract is declared but nothing has been graded yet