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).
4.1 KiB
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 |
|
prompt_only |
Wiki Hand — SKILL-analyst.md
1. Obsidian Conventions
Wikilinks
- 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, notdr-john-doe-phd.md) - Concepts: noun phrase (
knowledge-base.md, notabout-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
- Identify overlapping claims — same fact from different sources
- Note corroboration — claims supported by 2+ sources get higher confidence
- Surface contradictions — present both sides with citations, do not silently pick one
- Fill complementary gaps — where sources complement each other, weave together
- Maintain provenance chain — every claim in the synthesis traces back to source pages
Handling Contradictions
## 2. Page Templates
## 12. Worked Examples