Okf loom
Skill ojamin/okf-loom
Load this repo skill when working with Open Knowledge Format (OKF) bundles: validate, search, discover, update, render, serve the live studio, author concepts, or use the bundled OKF docs. The repo is the distribution unit; run scripts from the checkout with scripts/okf-loom.From its SKILL.md
npx -y skills add ojamin/okf-loomAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- skips confirmationTells the agent to proceed without asking first, 2 times: "do these without being asked" and 1 more.
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `scripts/okf-loom bootstrap <dir>` and 7 more.
SKILL.md
8.6 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
okf-loom — repo-local skill
This repository is the skill. Clone it, load this SKILL.md, then use the
small resource files and checkout-local scripts referenced below. There is no
package-publishing workflow to learn; the durable artifact is this git repo
layout.
Default behaviours (do these without being asked)
These are the standing expectations for any agent using this skill:
-
Docs are OKF bundles. When the user asks for documentation, notes, a knowledge base, or "write this up", author it as OKF concepts — one markdown file per concept with full frontmatter (
type,title,description,tags,timestamp, plusaliases/entities/relations/provenance/citationswhere they carry real information). Start a new bundle withscripts/okf-loom bootstrap <dir>or add to an existing one.docs-bundle/demo/showcase.mdis the canonical example of a fully-dressed concept (open it rendered to see why each key earns its place). -
Validate after writing. Run
scripts/okf-loom validate <bundle>after any batch of writes and fix findings; runscripts/okf-loom discover <bundle>periodically to catch missing links/indexes/descriptions. In JSON discovery reports, act onactionability.safe_to_applyfirst, reviewneeds_review, and treat suppressed buckets as explanations unless the user asks for a broad audit. For imports or larger bundles, also runscripts/okf-loom graph-quality <bundle>as an advisory graph-health report (not a conformance gate). Ifindex.mdfiles are stale,scripts/okf-loom index <bundle>regenerates the generated blocks (marker-safe — it only rewrites betweenokf:generatedmarkers; hand-authored index prose without markers will be REPLACED, so checkgit diffafter). -
Serve proactively. The rendered wiki is the product, not a debug view. Whenever the user wants to see, read, review, or comment on docs — or you have just built/changed a bundle they'd plausibly want to look at — start the studio without waiting to be asked and hand them the URL:
scripts/okf-loom serve path/to/bundle --no-open # local: http://127.0.0.1:8787/ scripts/okf-loom serve path/to/bundle --no-open --tunnel # + public https URL (needs cloudflared)--tunnelprints ahttps://…trycloudflare.comlink for users who are not on this machine and wires the tunnel host into the studio's cross-origin allowlist automatically;scripts/okf-loom tunnel <bundle>attaches the same link to an already-running session without a restart. Tell the user they can comment by selecting any text; the graph lives at/__graph. -
Run the collaboration loop. While a studio is up, user comments are work for you:
scripts/okf-loom wait <bundle>blocks until there is a comment or change, then claim → edit → resolve (comment-claim/ mutators /comment-resolve). When an ask is ambiguous, ask in the thread withcomment-replyandwaitfor the answer instead of guessing. During comment triage, commit frequently after coherent batches or resolved threads so the work stays traceable and easy to review or revert. Readresources/studio-agent-loop.mdbefore your first loop. -
Prefer mutators for content changes while a studio session is live (
write-concept,set-frontmatter,link-add,entity-add,update-section,replace-text,update): they are attributed, undoable, and broadcast live to open tabs. For edits inside an existing body, reach forupdate-section/replace-text(swap one block, keep the rest) rather than a whole-bodywrite-concept --force. Direct file edits are fine otherwise — the watcher picks them up.
Fast start
From inside okf-loom/:
scripts/okf-loom --help
scripts/okf-loom validate docs-bundle --strict
No primary runtime install step is required for normal docs validation. PyYAML is used when present; otherwise okf-loom uses its conservative built-in YAML fallback.
From a parent workspace where the checkout is named okf-loom/:
okf-loom/scripts/okf-loom validate okf-loom/docs-bundle --strict
Examples use the checked-in helper directly rather than a local shell wrapper or installed console script.
What to read, when
| When | Read |
|---|---|
| Always, first (60-second orientation + default paths) | resources/overview.md |
| Before your first write to any bundle | resources/gotchas.md |
| Running any CLI verb / unsure of a flag | resources/command-reference.md |
| Writing or editing concept files by hand | resources/format-basics.md then resources/authoring.md |
| Improving graph usefulness / after imports | resources/graph-health.md |
| Deciding what "good" frontmatter looks like | docs-bundle/demo/showcase.md — the worked example |
| A validate run fails or you need CI gating | resources/validation.md |
| Search modes, discovery, plans, static builds | resources/advanced-operations.md |
| A studio is up and users are commenting | resources/studio-agent-loop.md |
Changing the runtime under scripts/okf_loom/ | resources/architecture-map.md |
| Anything ambiguous — the binding contract | docs-bundle/reference/spec.md |
| End-user documentation to point humans at | docs-bundle/ |
Repo layout
okf-loom/
├── SKILL.md # this loadable skill entrypoint
├── resources/ # small agent-readable guidance files
├── scripts/
│ ├── okf-loom # checked-in helper command
│ ├── okf_loom/ # checkout-local runtime package
│ ├── build_skill_archive.py
│ ├── capture_readme_media.py
│ ├── capture_viewer_proof.py
│ ├── capture_signal_controls.py
│ └── lint-js.sh
├── docs-bundle/ # OKF documentation bundle
├── samples/ # example OKF bundles
├── tests/ # pytest proofs for checkout scripts
├── docs/ # README media (docs/media/), screenshots, design plans
├── README.md # human overview
├── AGENTS.md # thin pointer for agents that read AGENTS first
└── CLAUDE.md # thin pointer for agents that read CLAUDE first
Core commands
# Validate a bundle.
scripts/okf-loom validate path/to/bundle --strict
# Inspect / search.
scripts/okf-loom info path/to/bundle
scripts/okf-loom graph-quality path/to/bundle
scripts/okf-loom search path/to/bundle "customer order" --mode hybrid
# Serve the live collaborative studio (add --tunnel for a public link).
scripts/okf-loom serve path/to/bundle --no-open
# Discover gaps and apply safe mutations.
scripts/okf-loom discover path/to/bundle --out /tmp/okf-suggestions.json
scripts/okf-loom link-add --bundle path/to/bundle --source tables/orders --target tables/customers
# Collaboration loop while a studio is up (current spec §12).
scripts/okf-loom wait path/to/bundle # blocks until a comment/change arrives
scripts/okf-loom comment-claim path/to/bundle <comment-id> --summary "what I will do"
scripts/okf-loom comment-resolve path/to/bundle <comment-id> --summary "what I did"
Non-negotiables
- Use
scripts/okf-loom; do not assume an installed package or console script. - PyYAML is preferred when present, but the bundled fallback is enough for normal runtime/docs validation and fails closed on unsupported advanced YAML.
- Do not add PyPI/package-publishing flow back as the primary path.
- Preserve unknown frontmatter keys and hand-authored bundle content.
typeis the only hard-required concept frontmatter key under OKF v0.1.- Broken links are warnings by default for consumers; authoring mutators fail
closed on missing targets unless
--allow-forward-referenceis explicit. - All okf-loom writes must stay atomic and marker-safe.
For deeper rules, read resources/gotchas.md.
What ships with it: 228 files
10475.6 KB alongside SKILL.md, 85 of them executable
docs-bundle/
- demo/index.md293 B
- demo/showcase.md5.7 KB
- explanation/architecture.md13.1 KB
- explanation/diataxis.md10.3 KB
- explanation/index.md4.5 KB
- explanation/live_studio_design.md13.1 KB
- explanation/requirements.md16.0 KB
- explanation/research.md45.4 KB
- explanation/what_is_okf.md13.7 KB
- explanation/zero_dependencies.md10.9 KB
- .gitignore59 B
- how-to/archive_threads.md5.3 KB
- how-to/author_with_verbs.md6.8 KB
- how-to/build_static_site.md6.0 KB
- how-to/discover_and_fix_gaps.md7.6 KB
- how-to/embed_in_harness.md5.6 KB
- how-to/index.md1.6 KB
- how-to/migrate_spec_version.md4.3 KB
- how-to/validate_in_ci.md5.7 KB
- index.md4.2 KB
- log.md2.7 KB
- okf-loom.config.yaml1.7 KB
- reference/architecture.md25.1 KB
- reference/capabilities.md9.3 KB
- reference/cli.md31.7 KB
- reference/comment_lifecycle.md12.5 KB
- reference/config_yaml.md15.4 KB
- reference/embedding_guide.md32.1 KB
- reference/frontmatter.md9.9 KB
- reference/http_routes.md20.1 KB
- reference/index.md3.7 KB
- reference/links.md7.9 KB
- reference/search_modes.md11.2 KB
- reference/spec.md38.3 KB
- tutorials/author_with_agent.md9.9 KB
- tutorials/first_bundle.md7.9 KB
- tutorials/index.md1.1 KB
- AGENTS.md2.2 KB
- CLAUDE.md1.3 KB
- CONTRIBUTING.md1.4 KB
188 more files not listed here. See all 228 in the repository.