npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@jfomhover/okf-validator

v0.1.7

Published

Validate Open Knowledge Format (OKF) v0.2 bundles: parse markdown + YAML frontmatter, check OKF v0.2 conformance, and validate frontmatter against the versioned default OKF JSON Schema or a per-document custom schema URL.

Readme

@jfomhover/okf-validator

⚠️ Experimental. Everything here may change without notice — flags, API, schema, package. Use it with that in mind.

Validate OKF v0.2 bundles — the format Google's knowledge-catalog uses. One tool, three ways to use it:

| | | |---|---| | 💻 CLI | npx okf-validate <path> — check bundles locally or in CI | | 🤖 Agent skill | teach opencode / Claude Code / Copilot to run it for you |

Checks OKF v0.2 conformance out of the box against a single versioned default JSON Schema — and honors your own custom schemas, per document, when you need stricter rules.

Quick start

npm install @jfomhover/okf-validator
npx okf-validate ./my-bundle

Requires Node.js ≥ 18. Output: errors: 0, warnings: 2 — warnings are informative, errors fail the run.

💻 CLI

Point it at a bundle, a folder of bundles, or a bundles/ corpus:

npx okf-validate ./my-bundle                                  # one bundle
npx okf-validate /path/to/knowledge-catalog/okf/bundles       # whole corpus
npx okf-validate --json ./my-bundle                           # machine-readable report
npx okf-validate --schemas ./my-schemas ./my-bundle           # resolve custom schema: paths

Exit codes: 0 conformant · 1 errors · 2 usage error. npx okf-validate --help lists all flags.

🤖 Agent skill

skills/okf-validate/ teaches a coding agent when to reach for the validator, how to install it, and what to run — then you can just say "validate this bundle" and let the agent take it from there.

It's standard Agent Skills (SKILL.md + frontmatter), so it works in opencode, Claude Code, Codex, GitHub Copilot CLI, Cursor, and 30+ other agents.

npx skills add jfomhover/okf-validator                              # all skills
npx skills add jfomhover/okf-validator --skill okf-validate         # just this one

Or drop skills/okf-validate/ into any discovery directory (.opencode/skills/, ~/.config/opencode/skills/, …). Full reference: skills/okf-validate/references/usage.md.

Custom schemas — your rules, per document

A concept's schema: frontmatter key chooses its validator:

  • URL (https/http/file) → fetched and enforced for that document.
  • Path (schema: revenue) + --schemas <dir> → resolved under that directory, with a .schema.json fallback.
  • Anything else (okf_bundle, absent) → the bundled default schema applies.

The default schema is deliberately permissive: type is the only required field, the §5/§10 families are loosely typed, and unknown keys always pass (extensions are legal OKF). Strict per-type rules belong in a custom schema — the validator never judges what your schema requires.

Explicit bundle references

Use the validator-defined bundle: prefix when a frontmatter value must point to a file inside the current bundle:

graph:
  - relation: supports
    target: bundle:/concepts/example.md

source:
  extract: bundle:/extracts/example-page-03.md

bundle: references are resolved from the bundle root recursively through arrays and objects. Missing targets and paths that escape the bundle are errors. Ordinary strings, external URLs, and unprefixed resource descriptors keep their existing behavior.

What it checks

Errors — the bundle is not conformant:

  • missing, malformed, or non-mapping frontmatter; missing or empty type
  • missing index.md in a Markdown-containing directory
  • reserved index.md/log.md violations (frontmatter where it isn't allowed, non-ISO date headings)
  • a schema: reference that can't be loaded or resolved

Warnings — informative, never fatal:

  • broken internal links, unresolvable path fields
  • log.md frontmatter / entries not newest-first, misplaced or unsupported okf_version

Never flagged: unknown keys, unknown type values, absolute-URL links, #anchor links.

License

MIT © jfomhover