Obsidian Canvas Boards
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
Designs and builds knowledge graphs from documents — ontology modeling with domain/range constraints, entity/relation/event extraction, entity resolution, provenance and supersession, and GraphRAG…
$ npx skills add Mathews-Tom/armory --skill kg-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Mathews-Tom/armory kg-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kg-builder .claude/skills/kg-builder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "kg-builder" agent skill from https://github.com/Mathews-Tom/armory/tree/main/skills/kg-builder into .claude/skills/kg-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kg-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Mathews-Tom/armory/tree/main/skills/kg-builderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Mathews-Tom/armory --skill kg-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Mathews-Tom/armory kg-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/kg-builder .agents/skills/kg-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kg-builder" agent skill from https://github.com/Mathews-Tom/armory/tree/main/skills/kg-builder into .agents/skills/kg-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kg-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Mathews-Tom/armory --skill kg-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Mathews-Tom/armory kg-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/kg-builder .cursor/skills/kg-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "kg-builder" agent skill from https://github.com/Mathews-Tom/armory/tree/main/skills/kg-builder into .cursor/skills/kg-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kg-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Mathews-Tom/armory.git --path skills/kg-builder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Mathews-Tom/armory --skill kg-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Mathews-Tom/armory kg-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/kg-builder .gemini/skills/kg-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "kg-builder" agent skill from https://github.com/Mathews-Tom/armory/tree/main/skills/kg-builder into .gemini/skills/kg-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kg-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Mathews-Tom/armory kg-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Mathews-Tom/armory --skill kg-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/kg-builder .github/skills/kg-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "kg-builder" agent skill from https://github.com/Mathews-Tom/armory/tree/main/skills/kg-builder into .github/skills/kg-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kg-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Mathews-Tom/armory --skill kg-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Mathews-Tom/armory kg-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/kg-builder .opencode/skills/kg-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "kg-builder" agent skill from https://github.com/Mathews-Tom/armory/tree/main/skills/kg-builder into .opencode/skills/kg-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kg-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
kg-builderDesigns and builds knowledge graphs from documents — ontology modeling with domain/range constraints, entity/relation/event extraction, entity resolution, provenance and supersession, and GraphRAG…
Kg Builder is an agent skill from Mathews-Tom/armory. Designs and builds knowledge graphs from documents — ontology modeling with domain/range constraints, entity/relation/event extraction, entity resolution, provenance and supersession, and GraphRAG serving. Use when asked to "build a knowledge graph", "design an ontology", "extract entities and relations", "deduplicate entities", "entity resolution", "add GraphRAG", or "graph memory for an agent". NOT for multi-agent task graphs or agent orchestration, use task-decomposer.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `evals/cases.yaml`, `references/extraction.md` and `references/fusion.md`).
It sits in Knowledge Management, covering Knowledge graphs. The repository describes itself as: Curated, production-grade skills for AI coding agents. Battle-tested workflows for developers who use AI seriously. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4594fb7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Kg Builder loads about 2.9k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 122 tokens; SKILL.md has 1,288 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Mathews-Tom/armory at commit 4594fb7, republished under its MIT licence (© Mathews-Tom). 1,288 words, ~2,897 tokens.
.claude/skills/kg-builder/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.A knowledge graph is a product with a schema, not a pile of triples. Quality comes from pipeline order: model the domain before extracting, validate during extraction, fuse before storing, and attach provenance to every fact from the first write.
This skill covers the full build — value test, ontology, extraction, quality gate, entity resolution, serving, and maintenance — plus the boundary question that decides whether the result is trustworthy: which stages are deterministic code and which are LLM judgment.
Scope note. This is about knowledge graphs — what an agent remembers. It is not about task graphs, agent orchestration, or multi-agent topology.
| File | Contents | Load When |
|---|---|---|
references/ontology-design.md | Competency questions, entity/relation types, domain/range, storage choice | Phase 1 |
references/extraction.md | Source routing, NER/RE/EE prompt patterns, validation, failure modes | Phase 2 |
references/fusion.md | Blocking, matching layers, merge policy, threshold bands | Phase 3 |
references/serving.md | GraphRAG retrieval, path queries, community summaries, query layer | Phase 4 |
references/provenance-and-supersession.md | Claim model, append-only updates, contradiction handling, audit trail | Phase 1 and Phase 4 |
Decide this before writing code. Code owns control flow, identity, validation, and merges. The model gets contained judgments behind a typed interface, each with a measured baseline.
| Stage | Deterministic (code) | LLM judgment (measure it) |
|---|---|---|
| Source routing | format detection, structured mapping | — |
| Entity extraction | span capture, type validation, dictionary matching | "what entities are in this text" |
| Relation extraction | domain/range enforcement, endpoint checks | "which relation does this sentence assert" |
| Quality gate | sampling, scoring, thresholds | — |
| Blocking | key generation, candidate pairing | — |
| Matching | string/attribute/structure scoring | ambiguous middle band only |
| Merge | canonical selection, edge union, lineage | — (never let a model own a merge) |
| Serving | traversal, subgraph selection, serialization | the agent's own reasoning |
Measure every LLM surface against a prompt-only baseline before trusting it. This is not theoretical caution. In a pre-registered real-model evaluation of an LLM-adjudicated dedup and contradiction loop, the loop trailed a plain prompt-only baseline by 0.28–0.33 on detection and safety across every provider cell tested. Adjudication that is not measured is decoration.
ACQUIRED, DEPENDS_ON) — never RELATED_TO. Keep it in
ontology.yaml as the single source of truth; every extraction prompt embeds it verbatim.Validate the schema before extracting anything:
uv run scripts/validate_ontology.py ontology.yamlOWNS).J. Smith nodes sharing three coauthors
and an affiliation are one person; identical names with disjoint neighborhoods are not);
merge policy is deterministic code that keeps the canonical name, unions aliases and edges,
preserves conflicting values with provenance, and records merged_from for undo.
An erroneous merge is far more damaging than a missed one — it silently fuses two entities'
entire edge sets. Auto-merge only above the high band; queue the middle for review.Check the blocking strategy against labeled pairs before running it at scale:
uv run scripts/blocking_report.py candidates.jsonl --labels matches.jsonl(head)-[REL {time, source}]->(tail) lines grouped by head. For multi-hop questions retrieve
paths between the query's entities, not neighborhoods around each — the path is the answer
skeleton. Cluster and pre-summarize for "what are the themes" questions.status, supersedes, and validity interval. When a new fact contradicts a stored one, keep
both with time and provenance and prefer the newer at retrieval. Re-run fusion periodically —
unmaintained memory graphs rot exactly like unfused extractions.Deliver these artifacts, in this order:
| Artifact | Contents |
|---|---|
competency.md | The 10–20 questions, each marked answerable or blocked |
ontology.yaml | Entity types, relation types with domain/range, event argument schemas |
extraction/ | Per-source-type prompts and deterministic mappings |
quality-report.md | Sampled entity and relation precision, with sample size and method |
fusion-report.md | Blocking reduction ratio, pair recall, merge counts per band |
| The graph | Nodes and edges, every one carrying source, extracted_at, confidence |
Report precision as a sampled estimate with its sample size. A precision number without a stated sampling method is a vibe.
source, extracted_at, confidence. Non-negotiable; fusion and
trust both depend on it.| Symptom | Cause | Fix |
|---|---|---|
Graph full of Concept/Thing nodes | Extracted without an ontology | Phase 1 first, then re-extract |
| Same person appears as four nodes | No canonical-form rule; fusion skipped | Define the rule in ontology.yaml; run Phase 3 |
| Confident but wrong relations | Co-occurrence treated as assertion | Require evidence quotes; enforce domain/range in code |
| Events flattened into edge soup | No event argument schema | Promote events to first-class nodes with typed arguments |
| Precision collapses as sources grow | One prompt drifting across document types | Per-source-type prompts; run the quality gate per source |
| Fusion merges two real entities | Threshold too low; no structural layer | Raise the auto-merge band; add neighborhood comparison; undo via merged_from |
| Multi-hop answers are wrong but fluent | Unfused duplicates break paths | Re-run fusion; paths cannot cross duplicate boundaries |
| GraphRAG returns noise | Hop expansion too wide | Cap at 2 hops, or re-rank; retrieve paths, not neighborhoods |
| Retrieval is stale after updates | Facts overwritten instead of superseded | Adopt the claim model in references/provenance-and-supersession.md |
© Mathews-Tom, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts, references) in skills/kg-builder of Mathews-Tom/armory.
Open the folder on GitHubat commit 4594fb7
Kg Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Kg Builder this skillMathews-Tom/armory | 328 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Obsidian Canvas BoardsAgriciDaniel/claude-obsidian | 15k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Ontology1mancompany/OneManCompany | 441 | 2 repos | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Knowledge Graphgnomeria/usbtree | 691 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Graphagenticnotetaking/arscontexta | 3.5k | — | ~4.9k | Automated safety check: Notes | MIT | |
| LLM Wiki Knowledge GraphEgonex-AI/Understand-Anything | 86k | — | ~1.5k | Automated safety check: Pass | MIT |
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
1mancompany/OneManCompany
Typed knowledge graph for structured agent memory and composable skills.
gnomeria/usbtree
Set up and maintain a lightweight, file-based knowledge graph of the repo — entities, typed relations, decisions, gotchas — so agents load context fast instead of re-exploring the codebase every…
agenticnotetaking/arscontexta
Interactive knowledge graph analysis. An agent skill from agenticnotetaking/arscontexta.
Egonex-AI/Understand-Anything
Detects a Karpathy-pattern LLM wiki and builds an interactive knowledge graph with entities, implicit relationships and topic clusters.
aws-samples/sample-kolya-br-proxy
A skill your agent uses when the user asks about GitNexus itself — available tools, how to query the knowledge graph, MCP resources, graph schema, or workflow reference.
Mathews-Tom/armory
Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports.
Mathews-Tom/armory
Turn concepts into static HTML visuals exported as PNG or SVG files via HTML/CSS/SVG.
Mathews-Tom/armory
A skill your agent uses when analyzing an existing video URL or local recording: "watch this video", "analyze youtube video", "summarize this video", "youtube transcript", "find this moment", "what…
Mathews-Tom/armory
Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.
Mathews-Tom/armory
Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition.
Mathews-Tom/armory
Maps the unresolved architecture, policy, and scope decisions that must be answered before planning can start: one durable decision ticket per question on the issue tracker, typed and blocker-linked…
Categories
Designs and builds knowledge graphs from documents — ontology modeling with domain/range constraints, entity/relation/event extraction, entity resolution, provenance and supersession, and GraphRAG…. Kg Builder is an agent skill from Mathews-Tom/armory. Designs and builds knowledge graphs from documents — ontology modeling with domain/range constraints, entity/relation/event extraction, entity resolution, provenance and supersession, and GraphRAG serving.
Kg Builder fits situations like: asked to build a knowledge graph; design an ontology; extract entities and relations; deduplicate entities.
Run `npx skills add Mathews-Tom/armory --skill kg-builder -a claude-code`. Or copy the skill folder (skills/kg-builder in Mathews-Tom/armory) into .claude/skills/kg-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Mathews-Tom/armory --skill kg-builder -a codex`. Or copy the skill folder (skills/kg-builder in Mathews-Tom/armory) into .agents/skills/kg-builder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Mathews-Tom/armory --skill kg-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kg-builder, .gemini/skills/kg-builder, .github/skills/kg-builder and .opencode/skills/kg-builder in your project.
Going by SKILL.md and its folder, Kg Builder needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Kg Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Kg Builder: Obsidian Canvas Boards (AgriciDaniel/claude-obsidian, 15k stars), Ontology (1mancompany/OneManCompany, 441 stars), Knowledge Graph (gnomeria/usbtree, 691 stars) and Graph (agenticnotetaking/arscontexta, 3.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Mathews-Tom (a GitHub user) maintains it in Mathews-Tom/armory, which has 328 GitHub stars. The repository holds 80 skills in this directory. The repository was last updated on October 6, 2026.
Source: Mathews-Tom/armory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.