Deterministic Skills

Deterministic Skills

R1 now has an additive deterministic skill substrate under

internal/r1skill/. It does not replace the markdown skill system yet;

it sits beside it during migration.

What ships now

with useIR=true

Dual-stack migration

- useIR: true

- irRef: <path to .r1.json>

- compileProofRef: <path to .proof.json>

Compile flow

Compile a skill:

go run ./cmd/r1-skill-compile ./skills/deterministic-echo/skill.r1.json

Check-only mode:

go run ./cmd/r1-skill-compile --check ./skills/deterministic-echo/skill.r1.json

The compiler emits a sibling .proof.json file. Runtime execution is

allowed only when the manifest references both the IR and its proof.

Runtime flow

stoke_invoke consults skillmfr.Manifest. When useIR=true, the MCP

backend:

1. loads the IR from irRef

2. loads the compile proof from compileProofRef

3. executes the skill through internal/r1skill/interp

4. returns deterministic output in the MCP response

Example

The repo ships one deterministic example:

It uses the stdlib:echo pure function and demonstrates the minimal

compile-and-run path without depending on external effects.

Current limitations

canonical JSON IR.

llm_call. Additional node kinds should be added incrementally.

execution is manifest-gated.

Author guidance

skills for prompt-time guidance until the migration window closes.

Pages in this directory