# References `example-payload.json` is a **real** payload, not an illustration, and `../SKILL.md` is the skill generated for the same bundle. Both come from the three-concept golden bundle that ships in this repository, `examples/ingest-golden-segmented-okf-v0-2/expected-bundle`, so anyone reading this file can regenerate them byte for byte and compare. Neither carries content from any corpus. Regenerate them from the repository root rather than editing either file, with `okf` being this checkout's own install (for example `.venv/bin/okf`): ```sh okf skill examples/ingest-golden-segmented-okf-v0-2/expected-bundle \ --out skills/okf-consume --force --example-question "Hva sier veiledningen om krav?" python3 -c 'import os, pathlib; p = pathlib.Path("skills/okf-consume/SKILL.md"); p.write_text(p.read_text(encoding="utf-8").replace(os.path.realpath(".") + "/", ""), encoding="utf-8")' okf check --skill skills/okf-consume/SKILL.md \ --payload skills/okf-consume/references/example-payload.json ``` Why each part is there: - **`--force`**: the generator refuses to replace an existing `SKILL.md` (`refused (target_occupied)`), because a silent overwrite would destroy a hand-edited copy. - **`--example-question`**: without it the question is derived from the bundle's own titles and the payload is a different one. `tests/test_okf_consume.py` asserts this payload byte for byte against the pre-pass for exactly `Hva sier veiledningen om krav?`, so the question is part of what the file is. - **The `python3` line**: `okf skill` writes the bundle root and the skill's own path absolute when `--out` is not under `.claude/skills/`, and this directory is not. Shipped as generated, the two commands in `SKILL.md` would name one checkout on one machine. The line strips that checkout's prefix and nothing else, and a test holds the shipped `SKILL.md` to the generator's output with exactly that prefix removed. - **`okf check`** should report `conformant: 17 rules over 3 excerpts and 0 withheld entries, 0 findings` and exit 0. The generated `name` is `b-golden-segmented-okf-v0-2-consume` while this directory stays `skills/okf-consume/`. Claude Code takes a project or personal skill's command from its directory name and uses `name` as a display label, so a copy placed at `.claude/skills/okf-consume/` is still `/okf-consume`. The payload is here so that its shape can be read without running anything, and so that a reader can see what the members the contract does not name look like in practice: `text` and `text_sha256` on every excerpt (§ 8 permits additional members; § 1 defines an excerpt as delivered *content*, and without a body the budget gate would measure a skeleton), `rank`, `bundle_id_inherited`, and the `raw_bytes`/`encoding_delta` pair that gives the known-positive a second, independent check.