Agent skill

Validate

by scaccogatto in scaccogatto/okf-skills

Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2 spec (§11).

MITAuto-check: notes

Install Validate

skills CLI
$ npx skills add scaccogatto/okf-skills --skill validate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scaccogatto/okf-skills validate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/scaccogatto/okf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/validate .claude/skills/validate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
validate
GitHub stars
408
Token cost
~941 tokens
SKILL.md length
463 words
Files
2 (incl. scripts)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2 spec (§11).

  • Asked to validate
  • SKILL.md covers Migrating a v0.1 bundle and Exit codes
  • Runs Python scripts from its folder; calls uv, python3 and npx
  • Check an OKF bundle

What it does

Validate is an agent skill from scaccogatto/okf-skills. 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.

Its SKILL.md is about 940 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/okf_validate.py`).

It works with Python. The repository describes itself as: The OKF toolkit for Claude Code — author, maintain, validate & visualize Open Knowledge Format bundles. Plugin, agent skills, and a GitHub Action. The licence is MIT.

When your agent uses it

  • Asked to validate
  • Check an OKF bundle
  • Before committing changes to one

Example prompts

  • “/validate”

Requirements

  • Python 3
  • Node.js
  • Pre-approved tools (allowed-tools): Bash

What it can do on your machine

Read from SKILL.md and the folder at commit 8e31878. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv
    • python3
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Validate loads about 941 tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 463 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~79
When it runs · the whole SKILL.md, loaded when a task matches
~941

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from scaccogatto/okf-skills at commit 8e31878, republished under its MIT licence (© scaccogatto). 463 words, ~941 tokens.

Download SKILL.mdSave it as .claude/skills/validate/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
validate
description
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`.
allowed-tools
Bash
user-invocable
true
argument-hint
[bundle-dir] [--strict | --max-warnings N] [--migrate]

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.

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

If uv is unavailable, fall back to:

bash
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.

Show full SKILL.md (143 more words)Show less

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.

bash
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).

© scaccogatto, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/validate of scaccogatto/okf-skills.

  • SKILL.md
  • scripts/okf_validate.py

Open the folder on GitHubat commit 8e31878

Compare with similar skills

Validate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Validate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Validate this skillscaccogatto/okf-skills408—~941Automated safety check: NotesMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k14 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 14 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed

More from scaccogatto/okf-skills

  • Backfill

    scaccogatto/okf-skills

    Reconstruct an OKF bundle by event-sourcing a repository's history (git log and Claude session transcripts).

    408 GitHub stars~4.3k tokensUpdated 9 days ago
    Auto-check: notes
  • Okf

    scaccogatto/okf-skills

    Author, maintain, and consume Open Knowledge Format (OKF) knowledge bundles — portable markdown + YAML frontmatter that both humans and agents read.

    408 GitHub stars~2.1k tokensUpdated 9 days ago
    Auto-check: notes
  • Visualize

    scaccogatto/okf-skills

    Render an Open Knowledge Format (OKF) bundle as a single self-contained, interactive HTML graph (viz.html) — concepts as nodes coloured by type and sized by body length, markdown links and…

    408 GitHub stars~714 tokensUpdated 9 days ago
    Auto-check: notes

Works with

Questions about Validate

What does Validate do?

Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2 spec (§11). Validate is an agent skill from scaccogatto/okf-skills.2 spec (§11).

When should I use Validate?

Validate fits situations like: asked to validate; check an OKF bundle; before committing changes to one.

How do I install Validate in Claude Code?

Run `npx skills add scaccogatto/okf-skills --skill validate -a claude-code`. Or copy the skill folder (skills/validate in scaccogatto/okf-skills) into .claude/skills/validate in your project. Claude Code loads it when a task matches its description.

How do I install Validate in Codex?

Run `npx skills add scaccogatto/okf-skills --skill validate -a codex`. Or copy the skill folder (skills/validate in scaccogatto/okf-skills) into .agents/skills/validate in your project. Codex loads it when a task matches its description.

Can I use Validate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scaccogatto/okf-skills --skill validate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/validate, .gemini/skills/validate, .github/skills/validate and .opencode/skills/validate in your project.

What does Validate need to run?

Going by SKILL.md and its folder, Validate needs Python for the scripts in its folder and the command-line tools its instructions call (uv, python3 and npx). Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Bash.

Does Validate access the network?

SKILL.md contains no URLs. Its commands use uv and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Validate safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Validate use?

Validate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Validate use?

About 941 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Validate?

Skills that share tags, products or a category with Validate: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Validate?

scaccogatto (a GitHub user) maintains it in scaccogatto/okf-skills, which has 408 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 28, 2026.

Source: scaccogatto/okf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.