Skip to content
alyn
scaccogatto

Validate skill

Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2 spec (§11). Use when asked to validate, lint, or check an OKF bundle, or before committing changes to one. Runs a deterministic Python checker — not an eyeball pass. Also migrates a v0.1 bundle to v0.2 in place with `--migrate`.

$npx skills add scaccogatto/okf-skills --skill validate
View this skill on GitHubscaccogatto/okf-skills/skills/validate/SKILL.md
Pack stars
448
Pack installs
3.4k
Alyn Score
53/99
Updated
7 days ago
License
MIT
– views – installs via Alyn

Install Validate

Pick your agent. Every command is ready to paste.

$npx skills add scaccogatto/okf-skills --skill validate

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads validate when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the validate skill”. In Codex, type $validate.

The skill itself

SKILL.md

FolderGitHub

Validate an OKF bundle

Run the deterministic conformance checker against the target bundle. Default to the project's .okf/ directory when no path is given.

uv run "${CLAUDE_SKILL_DIR}/scripts/okf_validate.py" $ARGUMENTS

If uv is unavailable, fall back to:

python3 -m pip install --quiet pyyaml && \
python3 "${CLAUDE_SKILL_DIR}/scripts/okf_validate.py" $ARGUMENTS

${CLAUDE_SKILL_DIR} resolves whether this skill runs as part of the okf plugin or is installed standalone (e.g. via npx skills add), so the checker is always found alongside the skill.

Interpret the result:

  • ERROR → a hard §11 conformance failure (no parseable frontmatter, a missing/empty type, or a file the checker cannot read as UTF-8). The bundle is non-conformant. Fix every one.

Only index.md and log.md are reserved: §11.1 makes every other .md in the tree a concept, convention files included. An AGENTS.md or README.md dropped next to a bundle is therefore an ERROR until it carries frontmatter with a type (Document reads well), which is the fix; a skip-list would put the checker out of conformance. Move the file above the bundle root if it is not knowledge.

  • warn → soft guidance (missing recommended field, non-ISO log date, broken cross-link, a malformed v0.2 family, a footnote naming no source, an actor that misses the §7 shapes, an Attested Computation missing runtime, a computation path that resolves nowhere, frontmatter in a reserved file (§8, §9), a root index.md carrying extra keys or declaring a different okf_version (§12)). Never blocks; broken links in particular are explicitly tolerated by the spec (§6.1). Fix when cheap.

One warning is worth more than the others: a §7 near-miss such as Human:dana or human/dana. §5.3 keys trust tiers off the exact lowercase human: prefix, so the concept silently reads as machine-confirmed when a person did review it. Fix that one on sight.

v0.1 bundles validate too: a legacy timestamp or # Citations section is reported as a warning naming its v0.2 replacement (generated.at, sources), never as an error (§13.1). Under --strict those warnings do fail the run — that is the migration nudge, and --migrate is the door.

Migrating a v0.1 bundle

--migrate rewrites the bundle in place before validating — the one mode of this skill that is not read-only, so say what it will touch before running it on a bundle the user has not asked to migrate. It is textual (comments, key order and quoting survive) and idempotent.

uv run "${CLAUDE_SKILL_DIR}/scripts/okf_validate.py" .okf --migrate --strict

It hoists timestamp to generated: { by: process:okf-migrate, at }, lifts a # Citations list into sources, and bumps okf_version. Two limits worth repeating to the user: generated.by cannot be recovered for pre-v0.2 content (hence the process: actor — the concept stays correctly unverified under §5.3), and per-claim [^id] attribution was never encoded in v0.1, so only the source list moves up.

Exit codes

Non-zero if any error is present, or if warnings exceed the gate: --strict allows none, --max-warnings N allows N, the default allows any. Add --json for machine-readable output (useful in CI).

Tips for Validate

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • This skill ships scripts. Read them before the first run, and run it in a project without secrets first.
  • • It is part of a pack with 4 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Validate

What does the Validate skill do?

Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2 spec (§11). Use when asked to validate, lint, or check an OKF bundle, or before committing changes to one. Runs a deterministic Python checker — not an eyeball pass. Also migrates a v0.1 bundle to v0.2 in place with `--migrate`.

How do I install Validate?

Run "npx skills add scaccogatto/okf-skills --skill validate" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Validate work in Cursor and Codex?

Yes. Validate uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Validate free?

Validate is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made Validate?

Validate is published by scaccogatto in the scaccogatto/okf-skills repository, together with 3 other skills.

Similar skills. From other creators.