Automated summary
Manages the Morphir knowledge base under kb/, including OKF bundles, concept documents, SQLite indexing, intent lifecycle, and decision records.
Strengths
- Automates scaffolding and wiring of new bundles and concepts via morphir kb add-concept/new-bundle.
- Provides conformance and provenance checks with non-zero exits, plus read-only SQL queries over the SQLite index.
- Enforces writing registers and style cards for consistent concept prose.
Limitations
- Depends on the external morphir CLI and a kb/ directory that follows Morphir conventions.
- Primarily oriented to Claude Code tool permissions and Bash access, not a general-purpose editor.
- Does not draft final prose itself; scaffolds leave TODO comments for the author.
Use when you need to create, validate, search, or query Morphir knowledge base content and its derived index.
Avoid when working outside a Morphir kb/ knowledge base or when you need general document editing without OKF conventions.
Security analysis
CautionThe skill is scoped to a specific CLI and common file utilities, with no destructive shell patterns like rm -rf, curl|sh, or token exfiltration. However, it grants broad git access and includes network-capable sync operations, which are powerful tools used for legitimate knowledge-base management but warrant a caution rating.
- •Bash(git *) allows arbitrary git commands, including push/pull to remote repositories, which could modify or exfiltrate repository content if misused.
- •Bash(morphir kb *) includes sync commands that may perform network operations (pull/push) against upstream repositories.
Examples
Use the kb skill to add a new concept to the architecture bundle called 'event-sourcing', wire it into the index and log, then show me the generated file.Run morphir kb check --verbose on the knowledge base and summarize all conformance and provenance findings with their file paths.Use morphir kb query --sql to list the five most linked concepts in the kb index, with their bundle names and link counts.name: kb description: "Manages the Morphir knowledge base under kb/ — OKF bundles and concept documents. Use when adding content to a bundle, creating a new bundle, checking the knowledge base for conformance or provenance drift, building or querying its SQLite index, managing intent through its lifecycle, recording or reading architectural decisions as Decision Records, or navigating, searching and listing its bundles, concepts and links." allowed-tools: Bash(morphir kb *), Bash(cat *), Bash(ls *), Bash(find *), Bash(git *), Read, Edit, Write metadata: version: 0.1.0 lineage: descends from the morphir-scala kb skill 0.7.0, retargeted at the morphir CLI
kb — Morphir Knowledge Base Assistant
Manages kb/, the Open Knowledge Format knowledge base. Bundles live under kb/bundles/, optionally grouped a level
deeper. kb/AGENTS.md is the source of truth for the conventions; this skill automates the
mechanical parts of following them.
The morphir kb command
Everything runs through the kb subcommand of the Morphir CLI. It takes the same subcommands, flags, defaults,
JSON shapes and exit codes as the Scala kb tool from morphir-scala, so a playbook written against that tool runs
here. Where the reference implementation was wrong it is corrected rather than reproduced — a filter you pass is a
filter that applies, and --json means JSON.
morphir kb list
morphir kb check --verbose
Every command accepts --json. Progress output goes to stderr, so --json on stdout is clean and pipeable —
prefer it when you need to consume the result rather than read it.
Full flag reference: → references/commands.md
| Command | Does |
| ------- | ---- |
| list | Bundles and their concept counts; --bundle X lists that bundle's concepts |
| show --path /x.md | One document: frontmatter, outbound links, heading outline |
| search --query X | Search titles, descriptions, tags and paths; --body to include prose |
| check | Conformance and provenance findings; non-zero exit on errors |
| index | Builds the SQLite index; --status reports its freshness |
| refresh | Both kinds of derived state; narrow with refresh markdown / refresh db |
| query --sql | Read-only SQL over that index |
| sync … | Mirroring an upstream repository into a bundle — status, pull, push, diff |
| intent … | Intent lifecycle — new, list, show, the transition verbs, check |
| decision … | Decision Records — list, show |
| new-bundle | Scaffolds a bundle with index.md and log.md |
| add-concept | Scaffolds a concept and wires it into the index and log |
When to use what
Adding content to an existing bundle. Run add-concept to create the file and wire it up, then write the body
yourself. The scaffold deliberately leaves a TODO comment rather than plausible-looking prose.
→ references/authoring.md before writing the body.
Writing or reviewing prose. Every concept body is written in one of three registers, chosen by its type:.
The style cards are tool-neutral and live at styles/; voice.md there applies to all registers and
includes the banned-pattern list (no em-dashes, no AI filler), diagrams.md says when a Mermaid diagram or SVG
should replace prose narration of a flow or structure, and altitude.md sizes documents to capability stories:
one narrative-home Design Note per capability in flight, with every fine-grained concept reachable from it.
| type: | Register | Card |
| ------- | -------- | ---- |
| Playbook, tutorial, orientation, guidance | article | styles/article.md |
| Design Note, Decision Record, Intent, synthesis | white-paper | styles/whitepaper.md |
| Reference, Specification Section, Glossary, Data Dictionary, version-pinned notes | reference | styles/reference.md |
Delegate drafting to the kb-writer subagent and review to the kb-reviewer subagent
(.claude/agents/kb-writer.md, kb-reviewer.md), naming the target file and register in the dispatch. Writing
inline is fine for small edits; still apply the cards. Style applies to new and touched content only; do not
sweep existing prose.
Creating a bundle. Run new-bundle, then add it to the Bundles table in kb/README.md and to the group's
README.md if it is in a group. The command reminds you; it does not edit those files, because their wording is a
judgement call.
Checking the knowledge base. Run check. It reports structural problems (missing type, broken links,
unindexed concepts, frontmatter that does not parse) and provenance drift (commit-pinned sources whose reference
checkout has moved on). Nothing here touches the network.
→ references/checks.md for the catalogue and how to fix each finding.
Searching and locating. search scans the markdown and is always current. For anything heavier — full-text
search over bodies, "what links here", orphaned concepts, tag or provenance distributions — build the SQLite index
once and query it.
morphir kb index
morphir kb search --query "entry point" --index
The index is derived state under .dev/kb/index.db, gitignored, and rebuilt from the markdown. It has no automatic
invalidation — morphir kb index --status lists files changed since the last build.
Keeping derived state honest. morphir kb refresh does both halves in one pass: it rewrites index bullets that
have drifted from their concept's description, then rebuilds the SQLite index if anything changed.
morphir kb refresh --dry-run
Narrow it when you only want one half — morphir kb refresh markdown or morphir kb refresh db, equivalently
--no-db and --no-markdown. Reach for it after editing descriptions or adding concepts, and before relying on a
query. --add-missing also appends entries for unindexed concepts, which is opt-in because it has to pick a section.
→ references/index-db.md for the schema, the views, and worked queries.
Managing intent. Features, enhancements and bugs are recorded as prose in the intent bundle, with a lifecycle whose obligations are enforced — most importantly, releasing requires linking the Capability it produced.
→ kb/CONTEXT.md for the vocabulary — states, kinds, and what each obliges; references/commands.md for flags.
Recording a decision. Architectural decisions are the knowledge base's third register, alongside Intent and
Capability: past-tense, immutable, and superseded rather than edited. morphir kb decision list and
morphir kb decision show read them; morphir kb check validates their supersession links.
→ references/decisions.md for the frontmatter, the checks and how to supersede one.
Mirroring an upstream repository. A bundle may declare a sync.yaml and carry upstream's own files rather than
a paraphrase of them. Markdown lands as concepts with an injected, fenced block of kb-owned frontmatter; everything
else lands as byte-identical assets. morphir kb sync push deletes exactly that fenced region, so what goes back
upstream is what came from it.
morphir kb sync status
→ references/sync.md for the manifest, the lockfile and the state model.
Finding divergence in the content. check finds mechanical inconsistency. Contradictions between what two
concepts assert — the thing that actually matters in a knowledge base — cannot be detected by a script.
→ references/divergence.md for that procedure.
Rules that the tooling assumes
- A bundle root is a directory whose
index.mdcarriesokf_version. That is how bundles are discovered. - Only
index.mdandlog.mdare reserved. Every other.mdfile inside a bundle is a concept and needstype:. The reservation stops at a mirror boundary — inside a vendored subtree those names are upstream's own files. - A grouping directory gets a
README.mdand never anindex.md.README.mdinside a bundle is an error. - Sub-directory
index.mdfiles carry no frontmatter. - Index bullets mirror the target concept's
description. Changing one means changing the other.
Where the implementation lives
The morphir kb command is implemented in Rust, in the morphir-okf (format model and parsing) and morphir-kb
(knowledge-base operations) crates under ecosystem/morphir-rust/crates/, wired into the CLI in crates/morphir.
Develop and test it there with cargo test; this skill only documents the command surface.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/morphir-knowledge-base-manager-mu7w4flz/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/morphir-knowledge-base-manager-mu7w4flz' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/morphir-knowledge-base-manager-mu7w4flz/download' --output '.skill-downloads/morphir-knowledge-base-manager-mu7w4flz/SKILL.md.part' && mv '.skill-downloads/morphir-knowledge-base-manager-mu7w4flz/SKILL.md.part' '.skill-downloads/morphir-knowledge-base-manager-mu7w4flz/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Bash(morphir kb *), Bash(cat *), Bash(ls *), Bash(find *), Bash(git *), Read, Edit, Write
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/morphir-knowledge-base-manager-mu7w4flz/SKILL.md' && test -s '.skill-downloads/morphir-knowledge-base-manager-mu7w4flz/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/kb' && cp -R '.skill-downloads/morphir-knowledge-base-manager-mu7w4flz' '.claude/skills/kb'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/morphir-knowledge-base-manager-mu7w4flz'openskills read 'morphir-knowledge-base-manager-mu7w4flz'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/morphir-knowledge-base-manager-mu7w4flz/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Supabase Docs Authoring
Documentation
Write, edit, and review Supabase documentation content including guides, tutorials, reference docs, and partials. Follow style guides and MDX/TOML validation rules.
Create Architecture Decision Record
Documentation
Create a new Architecture Decision Record with sequential numbering, register it in the AgentDB graph, and link related ADRs.
Plan update with deep research
Documentation
Updates a plan document by launching parallel subagents to analyze a topic across all compiler passes, then consolidates findings into the plan doc.