Files
librefang-registry/hands/wiki/SKILL-analyst.md
T
Adrian Rogala f9c7456900 feat(hands): add wiki hand for LLM-maintained knowledge bases (#44)
Squashed replay of the original 9-commit branch onto current main.  The
original branch was 30+ commits behind, forked from before the skills
refactor (PR #42) and workflow template expansion (PR #36), so a
standard rebase hit heavy add/add conflicts on workflows/*.toml that
are unrelated to the wiki hand.

This replay keeps only the final hands/wiki/ tree state, which is the
actual intent of the PR (the author iterated several times on the same
files; squashing matches that).

Implements the "LLM Wiki" pattern (Andrej Karpathy) for building a
personal, Obsidian-compatible knowledge base.  Instead of on-the-fly
RAG, the wiki hand incrementally maintains a Markdown vault:

  hands/wiki/
  ├── HAND.toml           # hand manifest + [agents.*] sections
  ├── README.md           # user-facing docs
  ├── SKILL-main.md       # Librarian (coordinator) routing + FS ops
  ├── SKILL-ingestor.md   # Source extraction + [[wikilink]] writing
  ├── SKILL-analyst.md    # Synthesis with provenance citations
  └── SKILL-linter.md     # Broken link / orphan / contradiction audit

Closes librefang/librefang-registry#44 (via replay, not merge).
2026-04-10 22:04:18 +08:00

4.1 KiB

name, version, description, author, tags, runtime
name version description author tags runtime
wiki-analyst 1.0.0 Wiki Analyst skills — synthesis methodology, gap identification, contradiction handling, and query resolution. Leszek3737
wiki
knowledge-base
analyst
synthesis
reasoning
prompt_only

Wiki Hand — SKILL-analyst.md

1. Obsidian Conventions

  • Internal cross-references: [[page-name]] (no path, no extension)
  • Display text override: [[page-name|Display Text]]
  • Never use markdown [text](path) for internal links
  • External URLs: standard markdown [text](https://...)
  • Image embeds: ![[filename.png]]
  • Images live in raw/assets/

File Naming

  • Format: kebab-case.md
  • Max 40 characters (excluding .md)
  • ASCII only — transliterate non-ASCII characters (ü → ue, ñ → n, ś → s, etc.)
  • Entities: canonical name (john-doe.md, not dr-john-doe-phd.md)
  • Concepts: noun phrase (knowledge-base.md, not about-knowledge-bases.md)
  • Sources: derived from title (the-future-of-ai.md)
  • Syntheses: derived from query (tradeoffs-x-vs-y.md)
  • No version suffixes (_v2, _revised, _updated)

Frontmatter

  • Valid YAML between --- delimiters at the top of every page
  • All fields lowercase with underscores
  • Dates: ISO 8601 (YYYY-MM-DD)
  • Lists: YAML sequences (not comma-separated strings)
  • Dataview-compatible: all fields are queryable

Dataview Compatibility

Useful queries the user can run in Obsidian:

TABLE confidence, source_count, last_updated
FROM "pages/entities"
SORT source_count DESC
LIST
FROM "pages/concepts"
WHERE confidence = "disputed"
TABLE claim_count, date_ingested
FROM "pages/sources"
SORT date_ingested DESC

4. Provenance and Confidence

Inline Provenance Syntax

Every key claim (bullet point in Key Claims, Key Points, Key Facts sections) requires a provenance tag at the end of the line:

- The company reported $10M ARR in Q4 2025 ([[annual-report-2025]], extracted)
- This suggests a 40% year-over-year growth rate (inferred)
- However, a later filing revised this to $8.5M ([[sec-filing-q1-2026]], extracted)
- The actual growth rate remains disputed ([[annual-report-2025]], [[sec-filing-q1-2026]], disputed)
Tag Meaning When to use
([[source]], extracted) Directly stated in the source Verbatim facts, statistics, dates, names
([[source-a]], [[source-b]], extracted) Corroborated across sources Same fact confirmed independently
(inferred) Derived by the LLM Connections, implications, patterns not explicitly stated
([[source-a]], [[source-b]], disputed) Sources contradict Present both claims, let the user judge

Page-Level Confidence

Set in frontmatter confidence field:

Level Rule
high All key claims are extracted from 2+ corroborating sources
medium Mix of extracted and inferred, OR all extracted from a single source
low Primarily inferred, OR based on one unverified source
disputed Contains at least one claim tagged disputed

Propagation in syntheses: A synthesis page's confidence = the MINIMUM confidence of its consulted pages. If any consulted page is disputed, the synthesis must flag this.

Confidence Update Triggers

  • New source corroborates an existing claim → consider upgrading to high
  • New source contradicts an existing claim → downgrade to disputed
  • Source retracted or superseded → re-assess claims dependent on it

7. Synthesis Methodology

Combining Multiple Sources

  1. Identify overlapping claims — same fact from different sources
  2. Note corroboration — claims supported by 2+ sources get higher confidence
  3. Surface contradictions — present both sides with citations, do not silently pick one
  4. Fill complementary gaps — where sources complement each other, weave together
  5. Maintain provenance chain — every claim in the synthesis traces back to source pages

Handling Contradictions


## 2. Page Templates

## 12. Worked Examples