okf-convert plugin & skill
binder ships an Agent Plugin, okf-convert, that teaches an AI agent to
drive binder — to ingest a plain-markdown corpus into a conformant OKF v0.2
bundle by reasoning over binder’s --json output, with the ingestion-analysis
judgment the deterministic CLI cannot encode (flag-choice triage, the
enrich/lint remediation loop, and the never-fabricate-trust discipline). It
lives in this repo under plugins/okf-convert/ and is
standalone-installable.
Install (in a plugin-aware host such as Claude Code):
/plugin marketplace add ghchinoy/binder/plugin install okf-convertThis resolves binder’s self-hosted marketplace
(.claude-plugin/marketplace.json) and the
okf-convert skill. The plugin assumes the binder binary is installed (see
Installation) — it drives the CLI, it does not embed it.
Usage walkthrough. A tiny sample corpus ships at
plugins/okf-convert/skills/okf-convert/assets/sample-corpus/
with three deliberate triage cases (an unresolved link, a missing-title file, a
no-frontmatter file). Following the skill, an agent drives:
cd plugins/okf-convert/skills/okf-convert/assets/sample-corpus
# 3. Dry-run triage — reason over structured output, never scrape prosebinder convert . --dry-run --json | jq '.result | {num_concepts, num_unresolved, num_recovered}'binder lint . --json | jq '.result | {broken_links, missing_titles, schema_violations}'
# 4. Remediate the source frontmatter (additive, lossless; preview first)binder enrich . --dry-run --json | jq '.result.files'
# 5. Convert and validate for §11 conformancebinder convert . -o /tmp/sample-bundle --json | jq '.result.num_concepts'binder validate /tmp/sample-bundle --json | jq '.result.findings' # [] ⇒ conformant (exit 0)The plugin’s boundary is deliberate: it is the binder-driven ingestion
surface. For authoring or validating a single bundle by hand with no binaries,
use the tool-agnostic okf-author / okf-validate skills in
ghchinoy/agent-skills. The bundle
is validated in CI against Agent Plugins 1.0.0 by
scripts/validate-plugin.sh (the plugin-validate
job), independent of the Go gate.