by serradura
Open Knowledge Format for coding agents. Author, validate, lint, search, and visualize portable Markdown knowledge bundles. One gem carries the agent skill, the CLI and Ruby library, and an interactive graph. Docker and Claude Code plugin included, 100% local.
# Add to your Claude Code skills
git clone https://github.com/serradura/okf-gemLast scanned: 7/16/2026
{
"issues": [
{
"file": "README.md",
"line": 191,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://docker.okfgem.com/install.sh | sh\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-07-16T06:19:12.007Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}okf-gem is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by serradura. Open Knowledge Format for coding agents. Author, validate, lint, search, and visualize portable Markdown knowledge bundles. One gem carries the agent skill, the CLI and Ruby library, and an interactive graph. Docker and Claude Code plugin included, 100% local. It has 120 GitHub stars.
Yes. okf-gem passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/serradura/okf-gem" and add it to your Claude Code skills directory (see the Installation section above).
okf-gem is primarily written in Ruby. It is open-source under serradura on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh okf-gem against similar tools.
No comments yet. Be the first to share your thoughts!
okf-gem (okf on RubyGems or Docker) gives your project's knowledge one
durable home in your repo, in Markdown your team and your agents both read: the
decisions and the reasoning an agent cannot re-derive from the code, versioned
beside the code they explain.
One install carries the whole workflow, and that is the point of a single gem:
The package is Agent Skill + CLI/Lib + Graph. It runs 100% local, adds no service to your stack, and does not define a new place to keep knowledge: it gives you leverage over the Markdown you already have.
Project knowledge (why a service exists, what a metric really measures, the reasoning a schema encodes) lives scattered across wikis, code comments, and whoever happened to be in the room, and an agent re-derives it every session. OKF gives it one durable, diffable home, versioned next to the code it describes and read from the same file by people and agents alike. OKF is an open, vendor-neutral format (Google Cloud, 2026); this gem is the Ruby-native way to work with it.
Knowledge already has several homes near an agent, and each holds a different thing. None of the others is built for curated, durable team knowledge:
| OKF bundle (this) | CLAUDE.md / AGENTS.md |
Agent auto-memory | Wiki / Notion | |
|---|---|---|---|---|
| Holds | curated team knowledge | standing instructions | what one agent picked up | human docs |
| Versioned with the code | ✅ | ✅ | ❌ | ❌ |
| Portable across agents | ✅ plain Markdown + YAML | ⚠️ per-harness conventions | ❌ per-agent store | ⚠️ export needed |
| Typed and queryable | ✅ frontmatter + graph | ❌ prose | ❌ | ⚠️ partially |
| Reviewed in PRs | ✅ | ✅ | ❌ implicit | ⚠️ rarely |
| Scales past one context window | ✅ progressive disclosure(okf index + search) |
❌ loaded whole | ⚠️ partially | n/a |
| Checked by tooling | ✅ exit codes for CI(okf validate + lint) |
❌ | ❌ | ❌ |
The last two rows are this gem's job. Scaling past one context window is
progressive disclosure — okf index reads the map, okf search pulls only the
concepts a task needs, so the bundle is never loaded whole. And drift never
hides here: the other homes have no detector, but okf validate and lint turn
a bundle's drift into findings you can gate on in CI.
A bundle is just a directory; each concept is one Markdown file whose path is its id. This repo documents itself in OKF, so the tree below is real:
.okf/
├── index.md # progressive-disclosure map (root carries okf_version)
├── log.md # ISO-dated change history, newest first
├── overview.md
├── format/frontmatter.md
├── model/graph.md
└── capabilities/graph-server.md # one concept = one file
The only hard requirement is YAML frontmatter with a non-empty type; everything
else is optional and tolerated when missing. A concept (here the real
capabilities/graph-server.md, body trimmed) reads:
---
type: Capability
title: Interactive graph server (server)
description: A self-contained HTML knowledge graph served over HTTP, and a mountable Rack app.
resource: okf/lib/okf/server/app.rb
tags: [server, graph, rack, diagram]
timestamp: 2026-07-11T12:00:00Z
---
# Overview
`okf server` boots an interactive view of the [graph](../model/graph.md) …
That bundle is this gem's own documentation. Clone the repo and run
okf server .okf to browse it as an interactive graph.
From zero to your first bundle.
1. Get the okf command. Two ways in; either one puts okf on your PATH.
gem install okf # with Ruby
curl -fsSL https://docker.okfgem.com/install.sh | sh # no Ruby? Docker
2. Install the skill. Teach your agent the format — Claude Code, or any other agent.
okf skill .claude # or: okf skill .agents
3. Start an agent session where your project lives.
claude
4. Make your first bundle. Two ways in, by what you already have: docs keep every word, code gets written up for you.
/okf migrate <path-to-your-docs> # have docs? adopted in place, bodies verbatim
/okf produce based on <path-to-your-code> # only code? the skill authors the concepts
[!TIP] Once you have a bundle, run
/okf maintainin the agent session to keep it in sync as the code changes, andokf server <folder>to explore it as a graph. In Claude Code, the plugin adds a post-edit curation hook that runsvalidate+lintfor you.
The package, end to end:
What the gem does, and which verb does it. This table is the map; the docs are the manual.
| Capability | What it answers | Verb |
|---|---|---|
| Companion agent skill | Can an agent author it? | skill |
| Conformance validator | Is this a legal OKF bundle? | validate |
| Curation linter | Is it navigable, complete, fresh? | lint / loose |
| Ranked text search | Which concept covers X? | search |
| Read views | What is in here, and where? | index |