Cross-agent Claude Code / Codex skill to author, convert, and validate Markdown in Open Knowledge Format (OKF).
SaferSkills independently audited okf-author (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Author, convert, and validate Open Knowledge Format (OKF) documents — skill version 1.3.1.
OKF (Google Cloud, v0.1, released 2026-06-12) represents knowledge as a directory of Markdown files with YAML frontmatter. The authoritative specification is vendored next to this file at `reference/SPEC.md` and is the source of truth — when in doubt, read it. A deterministic conformance checker (`validate.py`) and an index/log generator (`generate_indexes.py`) ship alongside.
already an OKF bundle — detect that by a root index.md, files carrying type: frontmatter, or an okf_version declaration. In an OKF context, author and maintain documents in OKF automatically.
knowledge / reference / notes / documentation file outside any OKF context. Offer once: "I can structure this as OKF (portable Markdown knowledge with YAML frontmatter) — want that?" Proceed only on a yes.
Anti-nag rules: offer at most once per directory per session; never re-offer after a decline; skip trivial/throwaway files (scratch notes, TODO lists, transcripts), code, and prose the user has not asked to structure. All three modes below can also be invoked explicitly at any time on request.
reference/SPEC.md).md file.---) + a Markdown body.type — a short, descriptive, free-form string (e.g.Reference, Playbook, Meeting, BigQuery Table). Types are not registered centrally.
title, description (one sentence),resource (canonical URI, if any), tags (list), timestamp (ISO 8601 last-modified).
index.md — a directory listing for progressive disclosure, withno frontmatter (except the bundle-root index.md, which may carry okf_version); and log.md — chronological history whose ## headings are ISO YYYY-MM-DD dates.
(../concepts/x.md) and bundle-absolute links beginning with / (resolved from the bundle root) are conformant — but prefer relative: GitHub and other forges resolve a /-rooted link against the repository root, so bundle-absolute links break whenever the bundle is a subdirectory, while relative links render correctly wherever the bundle lives.
.md has parseable frontmatter with a non-emptytype, and reserved files follow their structure. Everything else is soft guidance — missing optional fields, unknown types, and broken links never make a bundle nonconformant.
---
type: <Concept type> # REQUIRED — short, descriptive
title: <Human-readable display name>
description: <One-sentence summary.>
resource: <https://canonical/uri> # omit for purely abstract concepts
tags: [<tag>, <tag>]
timestamp: <YYYY-MM-DDTHH:MM:SSZ>
---
# <Body — prefer headings, lists, tables, and fenced code over free prose>When writing a new document in an OKF context (or after the user accepts an offer):
Reuse types already present in the bundle rather than inventing synonyms — keep the vocabulary consistent.
title, description, and timestamp; addresource when the concept maps to a real asset/URL, and tags for cross-cutting topics. Use the current time, in ISO 8601, for timestamp.
headings when they apply: # Schema, # Examples, # Citations.
../concepts/glossary.md) sothey render correctly on GitHub and other forges wherever the bundle lives (see Links above).
run validate.py on the result.
Default posture: safe, staged, and non-destructive. Never overwrite a user's files without a clear, reversible plan.
in place (every change is reversible via git). Otherwise write a parallel copy at <dir>-okf/ and say so — never silently mutate un-versioned originals.
type each willreceive, and any structural changes. Convert only on the user's go-ahead.
type + smartdefaults to each concept file. No renames, no moves. This alone makes a bundle conformant.
`generate_indexes.py` to write each folder's index.md + log.md and the root index.md (with okf_version) deterministically from the frontmatter, instead of hand-writing them: python generate_indexes.py <bundle> [--title "…"]. Prefer relative links — bundle-absolute /… links break on GitHub when the bundle is a subdirectory. Confirm every file rename, and never delete an existing README.md.
validate.py and report.When creating a bundle's entry files, ask once: "Is this going to GitHub or a similar git host?"
README.md (the human/GitHub-rendered overview) andindex.md (OKF's reserved listing, no frontmatter). GitHub auto-renders README.md, not index.md.
index.md only (a README.md would be redundant where nothing renders it).README.md; if a non-forge bundle already has one,keep it and just ensure index.md exists.
# <Group / Section heading>
* [<Title>](<relative-link>) - <one-line description>
* [<Subdirectory>](subdir/index.md) - <what it contains># Update Log
## 2026-06-20
* **Creation**: Established the [orders table](tables/orders.md).
* **Update**: Revised the SLA in the [freshness playbook](playbooks/freshness.md).Run the bundled checker and report the verdict — do not eyeball conformance:
python validate.py <bundle-dir> # spec §9 conformance; exit 0 = conformant
python validate.py --strict <bundle-dir> # also require title/description/timestamp
python validate.py --json <bundle-dir> # machine-readable outputErrors break conformance; warnings (missing recommended fields, non-ISO timestamps, broken links) are advisory and never fail a bundle. Fix the errors, then re-run.
reference/SPEC.md is the vendored OKF v0.1 specification (verbatim; Apache-2.0, © Google LLC) and governs every rule above. If this skill and the spec ever disagree, the spec wins — read it.
One deliberate, spec-permitted refinement: §5.1–5.2 make both link forms conformant and the spec recommends bundle-absolute, but this skill prefers relative links because bundle-absolute /… links break on GitHub and other forges when the bundle is a subdirectory.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.