Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add cirwel/unitares --skill knowledge-graphgit clone --depth 1 https://github.com/cirwel/unitaresWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/cirwel/unitares/knowledge-graph)<a href="https://agentmods.dev/skills/cirwel/unitares/knowledge-graph"><img src="https://agentmods.dev/badge/skills/cirwel/unitares/knowledge-graph/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cirwel/unitares/knowledge-graph"><img src="https://agentmods.dev/badge/skills/cirwel/unitares/knowledge-graph.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.05886 |
| Opus 5.5 | $0.00015 | $0.02354 |
| Sonnet 5.5 | $0.00007 | $0.01177 |
| Haiku 4.5 | $0.00004 | $0.00589 |
Grade A, and why
knowledge-graph scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 439 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Knowledge Graph
What It Is
The knowledge graph is shared institutional memory across all agents. It is backed by PostgreSQL — full-text search is the canonical default backend, with Apache AGE as an optional graph backend (UNITARES_KNOWLEDGE_BACKEND=age). Every agent can search, contribute, and update entries. Discoveries persist across sessions and are available to all agents in the system.
Search Before Creating
Always search before adding new entries:
knowledge(
action: "search",
query: "description of what you're looking for",
tags: ["relevant", "tags"],
limit: 10
)
search_shared_memory(query=...) is the discoverable workflow alias for the
same handler (knowledge(action="search")), but it defaults response_mode to
lean and forces include_details=false; pass response_mode="full" for the
router's inline-detail behaviour. Use either it or the unified router;
duplicate entries fragment knowledge and make search less effective.
The lean and compact tiers show three digests whatever limit asked for.
Pass limit above 3 and the same response lists the results after those three
under more_results, one row each (discovery_id, type, status, a short
summary), up to 17 rows; state_summary.more_results_shown counts them. Open
any row with knowledge(action="details", discovery_id=...). Leave limit
unset and the response is the three digests alone.
Lean reads keep the result tier, an open_one route and any disclosure that an
explicit include_details=true request was overridden. Repeated mode tutorials
and serialization diagnostics live in compact; full retains the canonical
payload. The response budget is a ceiling, so spare room need not be filled with
coaching. Confidence/degradation caveats, author identity, imported-memory
warnings, supersession and appended-note pointers retain their existing budget
and omission-marker rules.
For a small working context, search first, open the few relevant records by ID,
and use their note offsets or pagination when needed. Keep the decision, its
scope and caveats, and evidence IDs in the working summary; retrieve the original
record when the evidence must be checked. A summary is not a replacement for
its source. After processing delivered change notices, acknowledge their exact
revision IDs through knowledge(action="notices", acknowledge=[...]) so the
same receipts stop repeating. Do not acknowledge unseen revisions or mute
delivery merely to reduce context.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +7 lines 9b30b74d7f4b
- yesterday Changed · +5 lines 7f174cb0c75b
- 3d ago Changed · +78 lines d27c0b200c52
- 5d ago Changed · -12 lines a5862fb7807c
- 8d ago Changed · +9 lines 0fafb35f5e5d
- 13d ago Changed · +2 lines aabbd26ad2a2
- 15d ago Changed · +8 lines 297391b6bc47
- 18d ago Changed · +15 lines 4ff5c890e5d8
- 19d ago Changed · +33 lines e183a6dc8b82
- 20d ago First seen · 294 lines · 37 tokens per session scan A f8af7b3c7118
knowledge-graph is a skill published in the GitHub repository cirwel/unitares (5 stars, last pushed today), licensed Apache-2.0. It adds 37 tokens to every session and 5,886 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
adk-agent-builder
Builds ADK (Agent Development Kit) Python agents: LLM agents with tools, graph workflows of function and agent nodes, conditional routing, fan-out and join, schema-validated delegation between agents, human-in-the-loop pauses, and pytest coverage for all of it. Use when asked to create an agent or a workflow, add a…
adk-style
Python style and codebase conventions for ADK (Agent Development Kit): private-by-default file visibility, imports, type hints, Pydantic v2 models, formatting, docstrings, logging, async I/O, file and test layout, and unit test structure. Use when writing or editing ADK source or tests, deciding whether a new file or…
adk-verify-snippets
Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail report with per-snippet coverage. Use when the user asks to verify, test, or validate the code samples in a README, a guide…
adk-setup
Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test run. Runs only when explicitly requested, never on its own. Use when asked to set up, bootstrap, or repair a development…
python-best-practices
Provides Python patterns for type-first development with dataclasses, discriminated unions, NewType, and Protocol. Must use when reading or writing Python files.
Python Data Analysis
Clean datasets and create reproducible Python transformations and charts.