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

MITAuto-check: notesDevOps & Cloud

Install Okf

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

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

GitHub CLI
$ gh skill install scaccogatto/okf-skills okf --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/okf .claude/skills/okf && 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
okf
GitHub stars
408
Token cost
~2.1k tokens
SKILL.md length
1,046 words
Files
7 (incl. scripts)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 6 steps: Read reference/SPEC.md. → Pick the source(s): code (derive… → Choose a directory layout by domain… → …
  • Capturing project knowledge (services
  • SKILL.md covers The one hard rule, Conventions to apply, The v0.2 families (all… and Default bundle location, plus 2 more sections
  • Runs Python scripts from its folder; calls uv

What it does

Okf is an agent skill from scaccogatto/okf-skills. Author, maintain, and consume Open Knowledge Format (OKF) knowledge bundles — portable markdown + YAML frontmatter that both humans and agents read. Use when capturing project knowledge (services, APIs, schemas, metrics, runbooks, decisions) into an OKF bundle, when updating one after code or docs change, or when a repository contains an .okf/ (or other OKF) bundle that should inform the task. Triggers on: "document this in OKF", "update the knowledge bundle", "capture this as a concept", or any work in a repo…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts (for example `reference/SPEC.md`, `scripts/okf_init.py` and `templates/concept.md`).

It sits in DevOps & Cloud, covering Runbooks and postmortems and Markdown. 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

  • Capturing project knowledge (services
  • Decisions) into an OKF bundle
  • Updating one after code
  • A repository contains an .okf/ (or other OKF) bundle that should inform the task

Example prompts

  • “document this in OKF”
  • “update the knowledge bundle”
  • “capture this as a concept”
  • “/okf”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Grep, Glob, Bash

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Read reference/SPEC.md.
  2. Pick the source(s): code (derive concepts from source, READMEs,
  3. Choose a directory layout by domain (e.g. services/, datasets/,
  4. Write each concept from templates/concept.md: set a
  5. Add/refresh index.md per directory (and okf_version: "0.2" in the root
  6. Validate (see below). Fix every error before finishing.

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:

    • Read
    • Write
    • Edit
    • Grep
    • Glob
    • 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

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

  • Network

    No URLs in SKILL.md. Its commands use uv, 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

Okf loads about 2.1k tokens when it runs. Until then it costs about 136 tokens; SKILL.md has 1,046 words of instructions outside code blocks.

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

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: Read, Write, Edit, Grep, Glob, 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). 1,046 words, ~2,094 tokens.

Download SKILL.mdSave it as .claude/skills/okf/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
okf
description
Author, maintain, and consume Open Knowledge Format (OKF) knowledge bundles — portable markdown + YAML frontmatter that both humans and agents read. Use when capturing project knowledge (services, APIs, schemas, metrics, runbooks, decisions) into an OKF bundle, when updating one after code or docs change, or when a repository contains an `.okf/` (or other OKF) bundle that should inform the task. Triggers on: "document this in OKF", "update the knowledge bundle", "capture this as a concept", or any work in a repo that has an OKF bundle.
allowed-tools
Read, Write, Edit, Grep, Glob, Bash
user-invocable
true
argument-hint
[produce|maintain|consume] [path]

Open Knowledge Format (OKF) skill

OKF represents knowledge as a directory of markdown files with YAML frontmatter. It is minimal by design: no schema registry, no runtime, no SDK. Your job is to produce, maintain, and consume OKF bundles conformant with the spec, not your memory of it.

Always read the canonical spec before non-trivial work: reference/SPEC.md. It is the verbatim OKF v0.2 specification and the source of truth for every rule below.

The one hard rule

A bundle is conformant (§11) iff: every non-reserved .md file has a parseable YAML frontmatter block, and every such block has a non-empty type field. Everything else is soft guidance. Consumers MUST tolerate missing optional fields, unknown types, and broken links — never reject a bundle over them.

Conventions to apply

  • One concept = one file. The file path (minus .md) is the concept ID.
  • Frontmatter: type is required. Add title, description, tags when they aid consumption; add resource (a canonical URI) only for concepts bound to a real asset — omit it for abstract concepts.
  • Body: prefer structural markdown (headings, tables, lists, fenced code). Conventional headings: # Schema, # Examples, # Computation.
  • Cross-links: standard markdown links; prefer absolute bundle-relative form (/services/auth-api.md). A link asserts a relationship; its kind lives in the surrounding prose, not the link.
  • Reserved files: index.md (directory listing, no frontmatter, except the bundle-root index, which may carry okf_version and this plugin's upkeep: enforced opt-in flag) and log.md (ISO-dated history, newest first). Never use these names for concepts.
  • What goes in log.md: lifecycle events only, written in the bundle-root log.md: a bundle created, a concept deprecated or retired, one concept superseding another, concepts regenerated after their source changed, a verification pass. Routine edits to a concept do not get an entry: its generated and git already record them. A log is append-only, so never rewrite or drop an existing entry.

The v0.2 families (all optional, all worth filling)

  • Trust (§5.2): generated: { by, at } — who produced the current content and when. verified: [{ by, at }] — who confirmed it since (a bare mapping is one entry). Write by in the actor convention (§7): <producer>/<version> for an agent, human:<id> for a person, process:<id> for an automated job. Use human: whenever a person authored or signed off — consumers key trust tiers off that prefix.
  • Lifecycle (§5.4–5.5): status: draft|stable|deprecated (absent means stable) and stale_after, an absolute ISO 8601 datetime (a bare date is tolerated), not a TTL.
  • Provenance (§5.1): sources: [{ id, resource, title, author, usage_count, last_modified }] plus a usage_window: { from, to } sibling of sources framing every usage_count (an entry may carry its own to override it); a usage_count without a window warns. resource is required per entry and may be a URL, a bundle path, or a scope descriptor. Attribute a specific claim with a markdown footnote whose label is the source's id: …sharded daily.[^ga4-schema] plus a [^ga4-schema]: … definition. The label is the join key, it must match a sources[].id.
  • Attestation (§10): a sanctioned computation is its own concept, type: Attested Computation, carrying runtime (required), parameters, executor, attester, and the computation itself under # Computation (or a computation: path). Concepts that need the value link to it. Never inline a number's SQL into the concept that narrates it.

Reading a v0.1 bundle? Two constructs were superseded (§13.1): timestamp is now generated.at, and a body # Citations list is now sources. Read both, write v0.2 — and when you touch a legacy concept in maintain mode, migrate its frontmatter as part of the edit. The validator warns on both.

Templates to copy: concept, index, log.

Default bundle location

Use .okf/ at the repository root unless the project already uses another location. Commit it alongside the code it describes — knowledge as code.

Modes

Show full SKILL.md (440 more words)Show less
produce — create or extend a bundle

Starting a brand-new bundle? Use the init fast-path instead of hand-writing the first files — it scaffolds a conformant index.md, log.md, and a getting-started.md concept with full recommended frontmatter in one shot:

bash
uv run "${CLAUDE_SKILL_DIR}/scripts/okf_init.py" <target-dir> [--title "..."]

It refuses to touch a directory that already has .md files unless --force is given. Then extend it:

  1. Read reference/SPEC.md.
  2. Pick the source(s): code (derive concepts from source, READMEs, docstrings, config), docs/wiki (distill pages into concepts, record the originals in sources), manual (decisions, playbooks, metrics).
  3. Choose a directory layout by domain (e.g. services/, datasets/, decisions/). One concept per file.
  4. Write each concept from templates/concept.md: set a descriptive type, fill recommended fields, record generated and the sources you actually read, cross-link related concepts.
  5. Add/refresh index.md per directory (and okf_version: "0.2" in the root index). A new bundle gets a dated Creation entry in log.md. Extending an existing one does not.
  6. Validate (see below). Fix every error before finishing.
maintain — keep a bundle in sync with reality
  1. Identify which concepts the change affects (search by resource, path, or topic). This bookkeeping is exactly what agents are good at — touch every affected file in one pass.
  2. Update the body and generated.at (with your own actor in generated.by); fix or add cross-links; create new concepts for new assets; mark removed assets status: deprecated and note the deprecation in log.md rather than silently deleting context. Facing a whole v0.1 bundle rather than a stray field? Do not hand-edit it — run the validator's --migrate once.
  3. Update the relevant index.md files. Append a dated log.md entry only if the change is a lifecycle event (see What goes in log.md).
  4. Validate.
consume — use a bundle as context
  1. Read the bundle-root index.md first for progressive disclosure, then follow links only into the concepts relevant to the task.
  2. Weigh what you read: status: draft/deprecated, a stale_after already past, or no verified entry all mean "check before relying on this". Treat broken links as not-yet-written knowledge, not errors.
  3. Need a number an Attested Computation covers? Run its computation with values bound to the declared parameters — never write your own query.
  4. If you learn something durable while working, switch to maintain and write it back.

Validation (do this before declaring done)

Never eyeball conformance — run the deterministic checker. Invoke the companion validate skill (/okf:validate <bundle-dir> --strict), which ships the checker. If that skill is not installed, run it directly:

bash
uv run "${CLAUDE_SKILL_DIR}/../validate/scripts/okf_validate.py" <bundle-dir> --strict

Resolve every ERROR (hard §11 failures). Under --strict warnings also fail the run (exit 1), so clear them too; drop --strict (or use --max-warnings N) if you only want §11 conformance gated.

© 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 6 other files (scripts) in skills/okf of scaccogatto/okf-skills.

  • SKILL.md
  • reference/APACHE-2.0.txt
  • reference/SPEC.md
  • scripts/okf_init.py
  • templates/concept.md
  • templates/index.md
  • templates/log.md

Open the folder on GitHubat commit 8e31878

Compare with similar skills

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

Okf compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Okf this skillscaccogatto/okf-skills408—~2.1kAutomated safety check: NotesMIT
Project Documentation To Confluencetestdouble/han279—~2.1kAutomated safety check: PassMIT
Trader Memory Coretradermonty/claude-trading-skills3k2 repos~4.3kAutomated safety check: PassMIT
Author Migrationnrwl/nx29k—~12kAutomated safety check: NotesMIT
Write Notes Like Deepseekczm15053/write-notes-like-deepseek497—~2kAutomated safety check: PassNone
OpenRig Upgrade Proceduremvschwarz/openrig6.2k—~2.9kAutomated safety check: PassApache-2.0

Similar skills

  • Creates or updates project documentation for a feature, system, or component and publishes it to a user-specified Confluence location.

    279 GitHub stars~2.1k tokensUpdated 7 days ago
    DevOps & CloudAuto-check passed
  • Trader Memory Core

    tradermonty/claude-trading-skills

    Track investment theses across their lifecycle — from screening idea to closed position with postmortem.

    3k GitHub starsUsed in 2 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Author or scope a first-party Nx migration. An agent skill from nrwl/nx.

    29k GitHub stars~12k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Write Notes Like Deepseek

    czm15053/write-notes-like-deepseek

    A skill your agent uses when a change is non-trivial by DSH standards (behavior, architecture, cross-file contracts, process/tooling, testing strategy, or on-disk/wire/config formats), when choosing…

    497 GitHub stars~2k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • OpenRig Upgrade Procedure

    mvschwarz/openrig

    Walks an agent through upgrading the OpenRig CLI and daemon one observed step at a time, keeping live seats alive and reconciling managed plugin files.

    6.2k GitHub stars~2.9k tokensUpdated today
    DevOps & CloudAuto-check passed
  • GreptimeDB Release Runbook

    GreptimeTeam/greptimedb

    Runbook for publishing a GreptimeDB version: pick the release branch, verify the Cargo version, then tag, create the GitHub release and open the docs note PR.

    6.7k GitHub stars~1.4k tokensUpdated today
    DevOps & CloudAuto-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 10 days ago
    Auto-check: notes
  • Validate

    scaccogatto/okf-skills

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

    408 GitHub stars~941 tokensUpdated 10 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 10 days ago
    Auto-check: notes

Categories

Questions about Okf

What does Okf do?

Author, maintain, and consume Open Knowledge Format (OKF) knowledge bundles — portable markdown + YAML frontmatter that both humans and agents read. Okf is an agent skill from scaccogatto/okf-skills. Author, maintain, and consume Open Knowledge Format (OKF) knowledge bundles — portable markdown + YAML frontmatter that both humans and agents read.

When should I use Okf?

Okf fits situations like: capturing project knowledge (services; decisions) into an OKF bundle; updating one after code; A repository contains an .okf/ (or other OKF) bundle that should inform the task.

How do I install Okf in Claude Code?

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

How do I install Okf in Codex?

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

Can I use Okf 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 okf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/okf, .gemini/skills/okf, .github/skills/okf and .opencode/skills/okf in your project.

What does Okf need to run?

Going by SKILL.md and its folder, Okf needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash.

Does Okf access the network?

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

Is Okf 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 Okf use?

Okf 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 Okf use?

About 2.1k tokens (SKILL.md is roughly 8.4k 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 Okf?

Skills that share tags, products or a category with Okf: Project Documentation To Confluence (testdouble/han, 279 stars), Trader Memory Core (tradermonty/claude-trading-skills, 3k stars), Author Migration (nrwl/nx, 29k stars) and Write Notes Like Deepseek (czm15053/write-notes-like-deepseek, 497 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Okf?

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.