obsidian-query-agent — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited obsidian-query-agent (Agent Skill) and scored it 87/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 3 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 3 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Requires Python 3.8+ and pyyaml.
pip install -r requirements.txtStatus: Active Author: Richard Fremmerlid Domain: Obsidian Wiki Engine
Progressive-disclosure query interface for the Obsidian LLM wiki. Returns the cheapest useful answer first: a 1-5 sentence RLM summary. The caller can then request bullets, then the full wiki node — expanding context only as needed.
| Level | Content | Cost |
|---|---|---|
summary | 1-5 sentence distilled answer | ~50 tokens |
bullets | 6-10 key idea bullets | ~150 tokens |
full | Complete wiki node + wikilinks | ~800 tokens |
raw | Original source file content | variable |
python ./scripts/query_wiki.py --wiki-root /path/to/wiki-root "authentication flow"python ./scripts/query_wiki.py --wiki-root /path/to/wiki-root "authentication flow" --level bulletspython ./scripts/query_wiki.py --wiki-root /path/to/wiki-root "authentication flow" --level fullpython ./scripts/query_wiki.py --wiki-root /path/to/wiki-root "rlm design" \
--level full --save-as my-rlm-researchpython ./scripts/query_wiki.py --wiki-root /path/to/wiki-root "attention mechanism" \
--vdb-profile researchpython ./scripts/query_wiki.py --wiki-root /path/to/wiki-root "auth flow" \
--rlm-cache-dir /path/to/project/.agent/learning/rlm_wiki_cachepython ./scripts/query_wiki.py --wiki-root /path/to/wiki-root --listpython ./scripts/query_wiki.py --wiki-root /path/to/wiki-root "api design" --jsonPhase 1 — Slug/token match (O(1), always runs):
Phase 2 — Vector DB semantic search (O(log N), requires vector-db installed):
vector-db plugin's query.py as a subprocess.agent/learning/vector_profiles.jsonwiki (override with --vdb-profile)meta/agent-memory.jsonPhase 3 — Full-text keyword scan (O(N), always available):
wiki/*.md content as final fallbackKarpathy's key insight: "I end up filing the outputs back into the wiki to enhance it."
The --save-as flag writes the query result as a new wiki node:
wiki/{concept-slug}.md ← new concept page derived from the query resultThe saved node includes:
query_derived: true and derived_from attribution## See Also link back to the source conceptThis means every query session can grow the wiki, not just read from it.
/wiki-ingest has been run and nodes are populatedquery_wiki.py — progressive-disclosure query engineraw_manifest.py — WikiSourceConfig for path resolutionaudit.py — reports missing or stale nodes~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.