#343 by GitHub stars
Ar9av/obsidian-wiki
Framework for AI agents to build and maintain a digital brain through Obsidian wiki | Memory System for Agents
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
.skills/claude-history-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/code-understand/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/codex-history-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/copilot-history-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/cross-linker/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/daily-update/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/graph-colorize/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/hermes-history-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/impl-validator/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/llm-wiki/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/memory-bridge/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/obsidian-layout-adjustment/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/openclaw-history-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/pi-history-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/session-brain/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/session-search/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/skill-creator/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/tag-taxonomy/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/vault-skill-factory/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-agent/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-capture/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-context-pack/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-dashboard/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-dedup/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-digest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-export/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-history-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-import/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-ingest/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-lint/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-narrate/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-query/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-rebuild/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-research/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-setup/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-stage-commit/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-status/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-switch/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-synthesize/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
.skills/wiki-update/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4f457e154653 → 4f457e154653
Verified commit 4f457e154653756b04802d5aeb25c20f42b4770c
git clone --filter=blob:none --no-checkout https://github.com/Ar9av/obsidian-wiki.git .hotskills/ar9av-obsidian-wiki && git -C .hotskills/ar9av-obsidian-wiki checkout --detach 4f457e154653756b04802d5aeb25c20f42b4770c
# Copy each selected skill directory from .hotskills/ar9av-obsidian-wiki into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/Ar9av/obsidian-wiki.git .hotskills/ar9av-obsidian-wiki && git -C .hotskills/ar9av-obsidian-wiki checkout --detach 4f457e154653756b04802d5aeb25c20f42b4770c
# Copy each selected skill directory from .hotskills/ar9av-obsidian-wiki into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/Ar9av/obsidian-wiki.git .hotskills/ar9av-obsidian-wiki && git -C .hotskills/ar9av-obsidian-wiki checkout --detach 4f457e154653756b04802d5aeb25c20f42b4770c
# Copy each selected skill directory from .hotskills/ar9av-obsidian-wiki into .cursor/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/Ar9av/obsidian-wiki.git .hotskills/ar9av-obsidian-wiki && git -C .hotskills/ar9av-obsidian-wiki checkout --detach 4f457e154653756b04802d5aeb25c20f42b4770c
# Copy each selected skill directory from .hotskills/ar9av-obsidian-wiki into .gemini/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/Ar9av/obsidian-wiki.git .hotskills/ar9av-obsidian-wiki && git -C .hotskills/ar9av-obsidian-wiki checkout --detach 4f457e154653756b04802d5aeb25c20f42b4770c
# Copy each selected skill directory from .hotskills/ar9av-obsidian-wiki into .github/skills/<skill-name>/Heat
6.7- Star growth, last 7 daysAhead of 87% of tracked repositories
- Star growth, last 24 hoursAhead of 69% of tracked repositories
- Rank movement, last 7 daysAhead of 52% of tracked repositories
- Commits, last 30 daysAhead of 89% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- claude-history-ingest
.skills/claude-history-ingest - code-understand
.skills/code-understand - codex-history-ingest
.skills/codex-history-ingest - copilot-history-ingest
.skills/copilot-history-ingest - cross-linker
.skills/cross-linker - daily-update
.skills/daily-update - graph-colorize
.skills/graph-colorize - hermes-history-ingest
.skills/hermes-history-ingest - impl-validator
.skills/impl-validator - llm-wiki
.skills/llm-wiki - memory-bridge
.skills/memory-bridge - obsidian-layout-adjustment
.skills/obsidian-layout-adjustment - openclaw-history-ingest
.skills/openclaw-history-ingest - pi-history-ingest
.skills/pi-history-ingest - session-brain
.skills/session-brain - session-search
.skills/session-search - skill-creator
.skills/skill-creator - tag-taxonomy
.skills/tag-taxonomy - vault-skill-factory
.skills/vault-skill-factory - wiki-agent
.skills/wiki-agent - wiki-capture
.skills/wiki-capture - wiki-context-pack
.skills/wiki-context-pack - wiki-dashboard
.skills/wiki-dashboard - wiki-dedup
.skills/wiki-dedup - wiki-digest
.skills/wiki-digest - wiki-export
.skills/wiki-export - wiki-history-ingest
.skills/wiki-history-ingest - wiki-import
.skills/wiki-import - wiki-ingest
.skills/wiki-ingest - wiki-lint
.skills/wiki-lint - wiki-narrate
.skills/wiki-narrate - wiki-query
.skills/wiki-query - wiki-rebuild
.skills/wiki-rebuild - wiki-research
.skills/wiki-research - wiki-setup
.skills/wiki-setup - wiki-stage-commit
.skills/wiki-stage-commit - wiki-status
.skills/wiki-status - wiki-switch
.skills/wiki-switch - wiki-synthesize
.skills/wiki-synthesize - wiki-update
.skills/wiki-update
How it works
claude-history-ingest
When your agent uses it
Ingest Claude Code conversation/session history into Obsidian as distilled knowledge. Use for importing or mining past Claude sessions, .claude data, project/session history, or audit logs.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
5,433 tokensWhen the skill is activated
Reference documents
162,405 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Ingest Modes
- Claude Code Data Layout
- Step 1: Survey and Compute Delta
- Step 2: Ingest Memory Files First
- Step 3: Parse Conversation JSONL
- Step 3b: Parse Audit Logs (desktop sessions only)
- Step 4: Cluster by Topic
- Step 5: Distill into Wiki Pages
- Step 6: Update Manifest, Journal, and Special Files
- Privacy
- Reference
- QMD Refresh After Vault Writes
Scripts executed separately
../skill-creator/eval-viewer/generate_review.py../skill-creator/scripts/__init__.py../skill-creator/scripts/aggregate_benchmark.py../skill-creator/scripts/generate_report.py../skill-creator/scripts/improve_description.py../skill-creator/scripts/package_skill.py../skill-creator/scripts/quick_validate.py../skill-creator/scripts/run_eval.py../skill-creator/scripts/run_loop.py../skill-creator/scripts/utils.py../../scripts/extract-jsonl.py../../scripts/manifest.py
Files
../../.claude-plugin/marketplace.jsonasset566 bytes../../.claude-plugin/plugin.jsonasset590 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesSKILL.mdcore22,670 bytesreferences/claude-data-format.mddoc4,204 bytes../code-understand/SKILL.mddoc4,524 bytes../codex-history-ingest/SKILL.mddoc8,717 bytes../codex-history-ingest/references/codex-data-format.mddoc2,425 bytes../copilot-history-ingest/SKILL.mddoc18,009 bytes../copilot-history-ingest/references/copilot-data-format.mddoc12,369 bytes../cross-linker/SKILL.mddoc14,831 bytes../daily-update/SKILL.mddoc9,702 bytes../graph-colorize/SKILL.mddoc8,068 bytes../hermes-history-ingest/SKILL.mddoc8,861 bytes../hermes-history-ingest/references/hermes-data-format.mddoc3,050 bytes../impl-validator/SKILL.mddoc4,657 bytes../llm-wiki/SKILL.mddoc42,480 bytes../llm-wiki/references/MEMORY.mddoc5,214 bytes../llm-wiki/references/WRITING.mddoc371 bytes../llm-wiki/references/karpathy-pattern.mddoc2,328 bytes../memory-bridge/SKILL.mddoc5,951 bytes../obsidian-layout-adjustment/SKILL.mddoc10,128 bytes../obsidian-layout-adjustment/evals/evals.jsonasset4,995 bytes../obsidian-layout-adjustment/evals/evals.jsonasset4,995 bytes../obsidian-layout-adjustment/references/workflow-reference.mddoc12,558 bytes../openclaw-history-ingest/SKILL.mddoc10,075 bytes../openclaw-history-ingest/references/openclaw-data-format.mddoc4,469 bytes../pi-history-ingest/SKILL.mddoc14,298 bytes../session-brain/SKILL.mddoc3,977 bytes../session-search/SKILL.mddoc3,816 bytes../skill-creator/LICENSE.txtdoc11,357 bytes../skill-creator/SKILL.mddoc33,168 bytes../skill-creator/agents/analyzer.mddoc10,376 bytes../skill-creator/agents/comparator.mddoc7,287 bytes../skill-creator/agents/grader.mddoc9,049 bytes../skill-creator/assets/eval_review.htmlasset7,058 bytes../skill-creator/eval-viewer/generate_review.pyruns16,365 bytes../skill-creator/eval-viewer/viewer.htmlasset44,998 bytes../skill-creator/references/schemas.mddoc12,061 bytes../skill-creator/scripts/__init__.pyruns0 bytes../skill-creator/scripts/aggregate_benchmark.pyruns14,386 bytes../skill-creator/scripts/generate_report.pyruns12,847 bytes../skill-creator/scripts/improve_description.pyruns11,116 bytes../skill-creator/scripts/package_skill.pyruns4,234 bytes../skill-creator/scripts/quick_validate.pyruns3,972 bytes../skill-creator/scripts/run_eval.pyruns11,464 bytes../skill-creator/scripts/run_loop.pyruns13,605 bytes../skill-creator/scripts/utils.pyruns1,661 bytes../tag-taxonomy/SKILL.mddoc7,196 bytes../vault-skill-factory/SKILL.mddoc7,579 bytes../wiki-agent/SKILL.mddoc14,229 bytes../wiki-capture/SKILL.mddoc17,394 bytes../wiki-capture/references/RAW-FORMAT.mddoc2,913 bytes../wiki-context-pack/SKILL.mddoc3,007 bytes../wiki-dashboard/SKILL.mddoc12,887 bytes../wiki-dedup/SKILL.mddoc15,448 bytes../wiki-digest/SKILL.mddoc11,478 bytes../wiki-export/SKILL.mddoc27,838 bytes../wiki-history-ingest/SKILL.mddoc2,305 bytes../wiki-import/SKILL.mddoc16,168 bytes../wiki-ingest/SKILL.mddoc40,172 bytes../wiki-ingest/references/ingest-prompts.mddoc2,805 bytes../wiki-ingest/references/pageindex.mddoc3,363 bytes../wiki-ingest/references/url-sources.mddoc12,700 bytes../wiki-lint/SKILL.mddoc37,404 bytes../wiki-narrate/SKILL.mddoc6,872 bytes../wiki-narrate/references/voices.mddoc646 bytes../wiki-query/SKILL.mddoc26,801 bytes../wiki-rebuild/SKILL.mddoc7,625 bytes../wiki-research/SKILL.mddoc13,013 bytes../wiki-setup/SKILL.mddoc16,256 bytes../wiki-stage-commit/SKILL.mddoc7,379 bytes../wiki-status/SKILL.mddoc30,378 bytes../wiki-switch/SKILL.mddoc5,077 bytes../wiki-synthesize/SKILL.mddoc9,168 bytes../wiki-update/SKILL.mddoc14,015 bytes../../scripts/extract-jsonl.pyruns13,643 bytes../../scripts/manifest.pyruns15,070 bytes
Read SKILL.md
# Claude History Ingest — Conversation Mining
You are extracting knowledge from the user's past Claude Code conversations and distilling it into the Obsidian wiki. Conversations are rich but messy — your job is to find the signal and compile it.
This skill can be invoked directly or via the `wiki-history-ingest` router (`/wiki-history-ingest claude`).
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `CLAUDE_HISTORY_PATH` (defaults to `~/.claude`)
2. Read `.manifest.json` at the vault root to check what's already been ingested
3. Read `index.md` at the vault root to know what the wiki already containsView the complete source on GitHubcode-understand
When your agent uses it
Map the load-bearing files, symbols, callers, and dependencies of an unfamiliar codebase before making changes. Use for architecture orientation, impact analysis, what-would-break questions, or finding callers. Uses CodeGraph when available and a dependency-free builtin fallback.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
1,086 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to reach for this
- Running it
- Reading the output
- If CodeGraph isn't installed
Files
SKILL.mdcore4,524 bytesSKILL.mdcore4,524 bytesSKILL.mdcore4,524 bytesSKILL.mdcore4,524 bytesSKILL.mdcore4,524 bytes
Read SKILL.md
# Code Understand — On-Demand Architecture Focus Map
You are about to work in a codebase you don't fully know yet. Instead of grepping around or
reading files at random, ask the local extractor for a **focus map**: the ranked symbols the
architecture hangs on, each with a `file:line` citation and evidence type. Read only what it
points at — this is a map, not a substitute for reading the actual code it cites.
## When to reach for this
- Before editing an unfamiliar module — see what calls it and what it calls before changing
its shape.
- The user asks "how does X work", "what's the impact of changing Y", "who else uses this
function" for a codebase, not the wiki.
- You're about to do a large refactor and want a ranked list of load-bearing files instead ofView the complete source on GitHubcodex-history-ingest
When your agent uses it
Ingest Codex CLI conversation/session history into Obsidian as distilled knowledge. Use for importing or mining ~/.codex sessions, rollout files, indexes, or transcript logs; use wiki-agent for targeted topic-only recall.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
2,079 tokensWhen the skill is activated
Reference documents
572 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Ingest Modes
- Codex Data Layout
- Step 1: Survey and Compute Delta
- Step 2: Parse Session Index First
- Step 3: Parse Rollout JSONL Safely
- Step 4: Cluster by Topic
- Step 5: Distill into Wiki Pages
- Step 6: Update Manifest, Log, and Index
- Privacy and Compliance
- Reference
- QMD Refresh After Vault Writes
Files
SKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesSKILL.mdcore8,717 bytesreferences/codex-data-format.mddoc2,425 bytes
Read SKILL.md
# Codex History Ingest — Conversation Mining
You are extracting knowledge from the user's past Codex sessions and distilling it into the Obsidian wiki. Session logs are rich but noisy: focus on durable knowledge, not operational telemetry.
This skill can be invoked directly or via the `wiki-history-ingest` router (`/wiki-history-ingest codex`).
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `CODEX_HISTORY_PATH` (defaults to `~/.codex`)
2. Read `.manifest.json` at the vault root to check what has already been ingested
3. Read `index.md` at the vault root to understand what the wiki already containsView the complete source on GitHubcopilot-history-ingest
When your agent uses it
Ingest GitHub Copilot CLI/session history into Obsidian as distilled knowledge. Use for importing or mining Copilot history; not for general Copilot help, simple session search, or backup.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
4,173 tokensWhen the skill is activated
Reference documents
2,954 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Ingest Modes
- GitHub Copilot Data Layout
- Step 1: Survey and Compute Delta
- Step 2: Ingest Checkpoints and Summaries First
- Step 3: Parse Session Turns
- Step 3b: Process Memory Artifacts
- Step 3c: Extract File and Ref Patterns
- Step 4: Cluster by Topic
- Step 5: Distill into Wiki Pages
- Step 6: Update Manifest, Journal, and Special Files
- Privacy
- Reference
- QMD Refresh After Vault Writes
Files
SKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesSKILL.mdcore18,009 bytesreferences/copilot-data-format.mddoc12,369 bytes
Read SKILL.md
# Copilot History Ingest — Conversation Mining
You are extracting knowledge from the user's past GitHub Copilot CLI conversations and distilling it into the Obsidian wiki. Conversations are rich but messy — your job is to find the signal and compile it.
This skill can be invoked directly or via the `wiki-history-ingest` router (`/wiki-history-ingest copilot`).
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`, `COPILOT_HISTORY_PATH` (defaults to `~/.copilot/session-state`), and `COPILOT_VSCODE_STORAGE_PATH` (VS Code `workspaceStorage`; platform-specific — ask the user if absent)
2. Read `.manifest.json` at the vault root to check what's already been ingested
3. Read `index.md` at the vault root to know what the wiki already containsView the complete source on GitHubcross-linker
When your agent uses it
Find and add missing cross-references between wiki pages. Use when pages are disconnected or after large ingestion. This modifies pages to add links; use wiki-lint for report-oriented structural auditing.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
3,749 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Step 1: Build the Page Registry
- Step 2: Scan for Missing Links
- Step 3: Score and Rank Suggestions
- Step 4: Apply Links
- Step 5: Score Misc Page Affinity
- Step 6: Report
- Step 7: Update Log and Hot Cache
- Tips
- QMD Refresh After Vault Writes
Files
SKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytesSKILL.mdcore14,831 bytes
Read SKILL.md
# Cross-Linker — Automated Wiki Cross-Referencing
You are weaving the wiki's knowledge graph tighter by finding and inserting missing `[[wikilinks]]` between pages that should reference each other but currently don't.
**Follow the Retrieval Primitives table in `llm-wiki/SKILL.md`.** Build the registry in Step 1 by grepping frontmatter only (not full pages). Reserve full `Read` for the unlinked-mention detection pass, and even there, only read pages whose summaries/titles make them plausible link targets. Blind full-vault reads are what this framework exists to avoid.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OBSIDIAN_LINK_FORMAT` (default: `wikilink`).
2. Read `index.md` to get the full inventory of pages and their one-line descriptions
3. Skim `log.md` to see what was recently ingested (focus linking effort on new pages)View the complete source on GitHubdaily-update
When your agent uses it
Run or configure the daily wiki maintenance cycle: check source freshness, refresh the index and hot.md, and manage its scheduled 9 AM launchd/systemd/cron reminder. Use for daily or morning wiki refresh or scheduler setup and verification.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
2,647 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Modes
- QMD Refresh After Vault Writes
Scripts executed separately
../../scripts/daily-update.sh../../scripts/wiki-notify.sh
Files
SKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytesSKILL.mdcore9,702 bytes../../scripts/com.obsidian-wiki.daily-update.plistasset957 bytes../../scripts/daily-update.shruns3,886 bytes../../scripts/obsidian-wiki-daily-update.serviceasset295 bytes../../scripts/obsidian-wiki-daily-update.timerasset262 bytes../../scripts/wiki-notify.shruns1,933 bytes
Read SKILL.md
# Daily Update — Wiki Maintenance Cycle
You run a lightweight maintenance pass over the wiki: check source freshness, refresh the index, update hot.md, and write the state file that the terminal notification reads.
## Before You Start
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OBSIDIAN_WIKI_REPO`.
2. **Derive vault-scoped state dir** — all runtime state is scoped to the resolved vault, not global:
```bash
VAULT_ID=$(echo "$OBSIDIAN_VAULT_PATH" | md5sum 2>/dev/null | cut -c1-8 || md5 -q - <<< "$OBSIDIAN_VAULT_PATH" | cut -c1-8)
STATE_DIR="$(obsidian_wiki_config_dir)/state/$VAULT_ID"
mkdir -p "$STATE_DIR"
```
3. Read `$OBSIDIAN_VAULT_PATH/.manifest.json`.View the complete source on GitHubgraph-colorize
When your agent uses it
Configure Obsidian graph colors by tag, folder, category, or visibility by updating .obsidian/graph.json. Use for graph colorization; preserve other graph settings and back up before changes.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
2,324 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Step 1: Pick a Mode
- Step 2: Build the `colorGroups` Array
- Step 3: Merge into graph.json (Do Not Clobber)
- Step 4: Report and Log
- Edge Cases
- Notes
Files
SKILL.mdcore8,068 bytes
Read SKILL.md
# Graph Colorize — Color-code the Obsidian Graph View
You are rewriting `$OBSIDIAN_VAULT_PATH/.obsidian/graph.json` so Obsidian's graph view tints nodes by tag, folder, or visibility.
Obsidian stores graph settings in `<vault>/.obsidian/graph.json`. The `colorGroups` array is a list of `{query, color}` pairs; the first matching query wins per node. Queries use Obsidian's search syntax: `tag:#foo`, `path:"concepts"`, `file:foo`, etc. Color is `{"a": 1, "rgb": <packed-int>}` where the int is `(R << 16) | (G << 8) | B`.
## Before You Start
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`.
2. Confirm `$OBSIDIAN_VAULT_PATH/.obsidian/` exists. If it doesn't, the vault has never been opened in Obsidian — tell the user to open the vault once in Obsidian, then re-run.
3. **Warn the user if Obsidian is likely open**: Obsidian overwrites `graph.json` on close. Tell them to close the vault first, or be ready to reload (Cmd/Ctrl+R) and not touch the graph settings until they reload.
## Step 1: Pick a Mode
View the complete source on GitHubhermes-history-ingest
When your agent uses it
Ingest Hermes agent history into Obsidian as distilled knowledge. Use for importing or mining ~/.hermes sessions, memories, or logs; use wiki-agent for targeted topic-only cross-agent recall.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
2,101 tokensWhen the skill is activated
Reference documents
836 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Ingest Modes
- Hermes Data Layout
- Step 1: Survey and Compute Delta
- Step 2: Parse Memories First
- Step 3: Parse Session JSONL Safely
- Step 4: Cluster by Topic
- Step 5: Distill into Wiki Pages
- Step 6: Update Manifest, Log, and Index
- Privacy and Compliance
- Reference
- QMD Refresh After Vault Writes
Files
SKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesSKILL.mdcore8,861 bytesreferences/hermes-data-format.mddoc3,050 bytes
Read SKILL.md
# Hermes History Ingest — Conversation & Memory Mining
You are extracting knowledge from the user's Hermes agent history and distilling it into the Obsidian wiki. Hermes stores both free-form memories and structured session transcripts — focus on durable knowledge, not operational telemetry.
This skill can be invoked directly or via the `wiki-history-ingest` router (`/wiki-history-ingest hermes`).
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `HERMES_HISTORY_PATH` (defaults to `~/.hermes`)
2. Read `.manifest.json` at the vault root to check what has already been ingested
3. Read `index.md` at the vault root to understand what the wiki already containsView the complete source on GitHubimpl-validator
When your agent uses it
Independently check whether an implementation matches its stated goal and return PASS/WARN/FAIL with actionable issues. Use for second-opinion validation of an implementation or generated output.
What it loads into context
Frontmatter
43 tokensAlways available to the agent
SKILL.md
1,071 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Input Format (Subagent Mode)
- Input Format (User Mode)
- Validation Protocol
- What NOT to check
- Severity Guide
Files
SKILL.mdcore4,657 bytes
Read SKILL.md
# Implementation Validator — Quality Subagent
You are a critical reviewer. Another skill or agent has just done work and wants you to check it. Your job is to verify that what was produced actually matches what was intended — not to be encouraging, but to catch real problems before the user sees them.
This skill runs in two modes:
1. **Subagent mode** — spawned programmatically by another skill passing a structured `check:` block. Read the block, run the checks, return structured output.
2. **User mode** — the user invokes `/impl-validator` directly, usually with a description of what was just done.
## Input Format (Subagent Mode)
When spawned by another skill, you receive a block like:
```View the complete source on GitHubllm-wiki
When your agent uses it
Explain and apply the foundational LLM Wiki architecture and knowledge-management strategy. Use for setup, architecture, schema, or organization decisions; operational ingest/query/lint work uses dedicated skills.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
10,272 tokensWhen the skill is activated
Reference documents
1,866 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Three-Layer Architecture
- Wiki Organization
- Special Files
- Page Template
- Paper Deep-Dive Template
- Provenance Markers
- Typed Relationships
- Confidence and Lifecycle
- Importance Tiering
- Retrieval Primitives
- QMD Index Freshness
- Core Principles
- Link Format
- Config Resolution Protocol
- Writing Profile Resolution
- Environment Variables
- Modes of Operation
- Reference
Scripts executed separately
../../scripts/manifest.py
Files
SKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesSKILL.mdcore42,480 bytesreferences/MEMORY.mddoc5,214 bytesreferences/WRITING.mddoc371 bytesreferences/karpathy-pattern.mddoc2,328 bytes../../scripts/manifest.pyruns15,070 bytes
Read SKILL.md
# LLM Wiki — Knowledge Distillation Pattern
You are maintaining a persistent, compounding knowledge base. The wiki is not a chatbot — it is a **compiled artifact** where knowledge is distilled once and kept current, not re-derived on every query.
## Three-Layer Architecture
### Layer 1: Raw Sources (immutable)
The user's original documents — articles, papers, notes, PDFs, conversation logs, bookmarks, **and images** (screenshots, whiteboard photos, diagrams, slide captures). These are never modified by the system. They live wherever the user keeps them (configured via `OBSIDIAN_SOURCES_DIR` in `.env`). Images are first-class sources: the ingest skills read them via the Read tool's vision support and treat their interpreted content as inferred unless it's verbatim transcribed text. Image ingestion requires a vision-capable model — models without vision support should skip image sources and report which files were skipped.
Think of raw sources as the "source code" — authoritative but hard to query directly.
Don't confuse this with the in-vault `_raw/` staging folder, which is a different thing: a scratch inbox for quick captures and drafts awaiting promotion (see `wiki-capture` and `wiki-ingest`). Files there aren't Layer 1 sources, but `wiki-ingest` still moves rather than deletes them on promotion, since some have no other copy.
View the complete source on GitHubmemory-bridge
When your agent uses it
Browse or compare wiki knowledge by originating AI tool. Use for cross-tool memory questions, tool-specific knowledge, or gap/diff analysis between Codex, Claude, Hermes, and other agents.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
1,556 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Commands
- Step 1: Build the Source Map
- Step 2: Execute the Mode
- Step 3: Spawn impl-validator (if available)
- Step 4: Log
- Output Conventions
Files
SKILL.mdcore5,951 bytesSKILL.mdcore5,951 bytesSKILL.mdcore5,951 bytesSKILL.mdcore5,951 bytesSKILL.mdcore5,951 bytes
Read SKILL.md
# Memory Bridge — Cross-Tool Knowledge Browser
You are helping the user browse and compare their Obsidian wiki knowledge filtered by which AI tool originally produced it. The wiki tracks source provenance in `.manifest.json` and page `sources:` frontmatter — this skill surfaces that metadata as a navigable view.
## Before You Start
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`.
2. Read `$OBSIDIAN_VAULT_PATH/.manifest.json` — this is the source-of-truth for what tool produced what.
3. Read `$OBSIDIAN_VAULT_PATH/index.md` for page titles and one-line descriptions.
## Commands
Parse the user's invocation to determine mode:
View the complete source on GitHubobsidian-layout-adjustment
When your agent uses it
Adjust the user's Obsidian visual layout with CSS snippets. Use for restyling tabs, sidebars, note surfaces, properties, backlinks, graph or file-explorer UI, or diagnosing CSS changes that did not take effect.
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
2,168 tokensWhen the skill is activated
Reference documents
2,602 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Normal Output Mode
- Use The Reference
- Operating Loop
- Translate Before Editing
- Stable Layer Stack
- Change-Type Split
- What To Change First
- Screenshot Gate
- Failure Signals
- Refactor Rule
- Closing Report
Files
SKILL.mdcore10,128 bytesSKILL.mdcore10,128 bytesSKILL.mdcore10,128 bytesSKILL.mdcore10,128 bytesevals/evals.jsonasset4,995 bytesreferences/workflow-reference.mddoc12,558 bytes
Read SKILL.md
# Obsidian Layout Adjustment
This skill is for changing how Obsidian looks with CSS files while working with the user's visual language.
Obsidian is always the same kind of environment: app frame, tab headers, side docks, view headers, pane shells, note surface, properties, file explorer, backlinks, graph, rendered markdown, and status bar. The vault, theme, snippets, plugins, and desired taste direction change, but the canvas stays Obsidian.
The core behavior is translation:
> the user names a visible Obsidian object. Translate that phrase into the stable Obsidian layer/backend object, edit the active snippets safely, screenshot the result, and keep iterating without losing good states.
This is not a general CSS workflow and not a fixed-theme generator.
## Normal Output Mode
View the complete source on GitHubopenclaw-history-ingest
When your agent uses it
Ingest OpenClaw session/history data into Obsidian as distilled knowledge. Use for importing or mining ~/.openclaw sessions, memory files, or logs; use wiki-agent for targeted topic-only cross-agent recall.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
2,381 tokensWhen the skill is activated
Reference documents
1,219 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Ingest Modes
- OpenClaw Data Layout
- Step 1: Survey and Compute Delta
- Step 2: Parse MEMORY.md First
- Step 3: Parse Daily Notes
- Step 4: Parse Session JSONL Safely
- Step 5: Cluster by Topic
- Step 6: Distill into Wiki Pages
- Step 7: Update Manifest, Log, and Index
- Privacy and Compliance
- Reference
- QMD Refresh After Vault Writes
Files
SKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesSKILL.mdcore10,075 bytesreferences/openclaw-data-format.mddoc4,469 bytes
Read SKILL.md
# OpenClaw History Ingest — Session & Memory Mining
You are extracting knowledge from the user's OpenClaw agent history and distilling it into the Obsidian wiki. OpenClaw stores both a structured long-term MEMORY.md and per-session JSONL transcripts — focus on durable knowledge, not operational telemetry.
This skill can be invoked directly or via the `wiki-history-ingest` router (`/wiki-history-ingest openclaw`).
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OPENCLAW_HISTORY_PATH` (defaults to `~/.openclaw`)
2. Read `.manifest.json` at the vault root to check what has already been ingested
3. Read `index.md` at the vault root to understand what the wiki already containsView the complete source on GitHubpi-history-ingest
When your agent uses it
Ingest Pi coding-agent session history into Obsidian as distilled knowledge. Use for importing or mining ~/.pi/agent/sessions or Pi conversation logs; use wiki-agent for targeted topic-only recall.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
3,373 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Ingest Modes
- Pi Data Layout
- Step 1: Survey and Compute Delta
- Step 2: Parse Session JSONL
- Step 3: Cluster by Topic
- Step 4: Distill into Wiki Pages
- Step 5: Update Manifest, Log, and Index
- Privacy and Compliance
- Reference
- QMD Refresh After Vault Writes
Files
SKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytesSKILL.mdcore14,298 bytes
Read SKILL.md
# Pi History Ingest — Session Mining
You are extracting knowledge from the user's Pi coding agent sessions and distilling it into the Obsidian wiki. Pi sessions are stored as structured JSONL with a tree layout — your job is to follow the active branch, extract durable knowledge, and compile it.
**Session knowledge closure:** Pi session files are the only factual source for this skill. Do not add background knowledge from model training, other tools, package docs, local files, or the current conversation unless that fact appears in the selected session entries. If outside context seems useful, mark it as an open question or skip it — never present it as extracted session knowledge.
This skill can be invoked directly or via the `wiki-history-ingest` router (`/wiki-history-ingest pi`).
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `PI_HISTORY_PATH` (defaults to `~/.pi/agent/sessions`)View the complete source on GitHubsession-brain
When your agent uses it
Build or refresh a browser-viewable topic graph over Claude session history using local clustering. Use for mapping or clustering sessions, recent or stale topic analysis, or rebuilding/showing the session graph. Unlike wiki-history-ingest, it indexes raw sessions and never writes to the vault.
What it loads into context
Frontmatter
65 tokensAlways available to the agent
SKILL.md
977 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use which skill
- Step 1: Build
- Step 2: Name the unnamed clusters
- Step 3: Report the map
- Notes
Files
SKILL.mdcore3,977 bytesSKILL.mdcore3,977 bytesSKILL.mdcore3,977 bytesSKILL.mdcore3,977 bytesSKILL.mdcore3,977 bytes
Read SKILL.md
# Session Brain
Builds a searchable topic graph over your agent session history. The output is a **sidecar**
at `~/.claude/session-brain/` — the vault is never touched.
All the heavy lifting is deterministic Python in the `obsidian-wiki` CLI. Your only job is to
name the clusters, which takes exactly one turn and requires reading no transcripts.
## When to use which skill
| Goal | Skill |
|---|---|
| Build or refresh the graph; survey topics | `session-brain` (this one) |
| Find and load a specific past session | `session-search` |View the complete source on GitHubsession-search
When your agent uses it
Search the session-brain graph for a past agent session by topic and load the winning transcript into the current conversation. Use for finding which session handled X, when Y was last worked on, or whether this was done before. Read-only; requires a session-brain graph.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
937 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 1: Check the graph exists and is fresh
- Step 2: Rank
- Step 3: Present
- Step 4: Load — hand off, do not reimplement
- Step 5: Answer
- Related
Files
SKILL.mdcore3,816 bytesSKILL.mdcore3,816 bytesSKILL.mdcore3,816 bytesSKILL.mdcore3,816 bytes
Read SKILL.md
# Session Search
Answers "which of my past sessions was about X" and then pulls that session's context in.
## Step 1: Check the graph exists and is fresh
```bash
obsidian-wiki sessions-query "<topic>" --json
```
If this exits 1 with "run sessions-build first", tell the user and offer `/session-brain`. If
`graph.json` is more than ~7 days old, mention it and offer a rebuild — but **do not silently
rebuild**, since that is a multi-second operation the user did not ask for.
View the complete source on GitHubskill-creator
When your agent uses it
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
7,241 tokensWhen the skill is activated
Reference documents
9,476 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Communicating with the user
- Creating a skill
- Running and evaluating test cases
- Improving the skill
- Advanced: Blind comparison
- Description Optimization
- Claude.ai-specific instructions
- Cowork-Specific Instructions
- Reference files
Scripts executed separately
eval-viewer/generate_review.pyscripts/__init__.pyscripts/aggregate_benchmark.pyscripts/generate_report.pyscripts/improve_description.pyscripts/package_skill.pyscripts/quick_validate.pyscripts/run_eval.pyscripts/run_loop.pyscripts/utils.py
Files
LICENSE.txtdoc11,357 bytesSKILL.mdcore33,168 bytesSKILL.mdcore33,168 bytesSKILL.mdcore33,168 bytesSKILL.mdcore33,168 bytesSKILL.mdcore33,168 bytesSKILL.mdcore33,168 bytesagents/analyzer.mddoc10,376 bytesagents/comparator.mddoc7,287 bytesagents/grader.mddoc9,049 bytesassets/eval_review.htmlasset7,058 byteseval-viewer/generate_review.pyruns16,365 byteseval-viewer/viewer.htmlasset44,998 bytesreferences/schemas.mddoc12,061 bytesscripts/__init__.pyruns0 bytesscripts/aggregate_benchmark.pyruns14,386 bytesscripts/generate_report.pyruns12,847 bytesscripts/improve_description.pyruns11,116 bytesscripts/package_skill.pyruns4,234 bytesscripts/quick_validate.pyruns3,972 bytesscripts/run_eval.pyruns11,464 bytesscripts/run_loop.pyruns13,605 bytesscripts/utils.pyruns1,661 bytes
Read SKILL.md
# Skill Creator
A skill for creating new skills and iteratively improving them.
At a high level, the process of creating a skill goes like this:
- Decide what you want the skill to do and roughly how it should do it
- Write a draft of the skill
- Create a few test prompts and run claude-with-access-to-the-skill on them
- Help the user evaluate the results both qualitatively and quantitatively
- While the runs happen in the background, draft some quantitative evals if there aren't any (if there are some, you can either use as is or modify if you feel something needs to change about them). Then explain them to the user (or if they already existed, explain the ones that already exist)
- Use the `eval-viewer/generate_review.py` script to show the user the results for them to look at, and also let them look at the quantitative metrics
- Rewrite the skill based on feedback from the user's evaluation of the results (and also if there are any glaring flaws that become apparent from the quantitative benchmarks)
- Repeat until you're satisfiedView the complete source on GitHubtag-taxonomy
When your agent uses it
Apply and maintain the wiki's controlled tag vocabulary. Use for choosing, normalizing, auditing, or extending tags when creating or updating wiki pages; consult the taxonomy before assigning tags.
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
1,853 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- The Taxonomy File
- Reserved System Tags
- Mode 1: Tag Audit
- Mode 2: Tag Normalization
- Mode 3: Tagging a New Page
- Mode 4: Adding a New Tag
- After Any Tag Operation
- QMD Refresh After Vault Writes
Files
SKILL.mdcore7,196 bytesSKILL.mdcore7,196 bytesSKILL.mdcore7,196 bytesSKILL.mdcore7,196 bytesSKILL.mdcore7,196 bytesSKILL.mdcore7,196 bytesSKILL.mdcore7,196 bytesSKILL.mdcore7,196 bytes
Read SKILL.md
# Tag Taxonomy — Controlled Vocabulary for Wiki Tags
You are enforcing consistent tagging across the wiki by normalizing tags to a controlled vocabulary.
## Before You Start
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`
2. Read `$OBSIDIAN_VAULT_PATH/_meta/taxonomy.md` — this is the canonical tag list
3. Read `index.md` to understand the wiki's scope
## The Taxonomy File
The canonical tag vocabulary lives at `$OBSIDIAN_VAULT_PATH/_meta/taxonomy.md`. It defines:
View the complete source on GitHubvault-skill-factory
When your agent uses it
Create a reviewable Agent Skill package from mature curated wiki pages. Use when turning verified vault knowledge into a reusable skill. Reads the vault and writes only to a review directory; it does not install skills.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
1,901 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hard guardrails (read first)
- Before You Start
- Step 1: Choose the cluster
- Step 2: Design the skill
- Step 3: Write the skill to the review dir
- Step 4: Optionally lean on skill-creator
- Step 5: Report — and stop
- Quality checklist
Files
SKILL.mdcore7,579 bytesSKILL.mdcore7,579 bytesSKILL.mdcore7,579 bytes
Read SKILL.md
# Vault Skill Factory
You turn a cluster of **mature, curated** wiki pages into a **portable Agent Skill**: a
`SKILL.md` plus a `references/` folder, written to a review directory for the human to inspect
and (only if they choose) install. This is the inverse of `wiki-capture`: capture turns a
conversation into a page; the factory turns a body of pages into a reusable skill.
## Hard guardrails (read first)
- **Never write into `.skills/`** and **never run `setup.sh`** or create symlinks into any global
skill directory (`~/.claude/skills`, `~/.codex/skills`, …). Generated skills go to the review
dir only. Installation is a separate, explicit human decision.
- **Never auto-install.** End by telling the user where the skill is and how to install it
*project-locally* if they want — do not do it for them.View the complete source on GitHubwiki-agent
When your agent uses it
Search one AI agent's raw history for a specific topic, ingest only matching sessions, and return a synthesized answer. Use for targeted cross-agent recall; use wiki-history-ingest for bulk archival ingestion.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
3,627 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Command Routing
- Before You Start
- Step 1: Locate the Agent's History Root
- Step 2: Build Session Inventory
- Step 3: Score Sessions Against the Query
- Step 4: Extract the Relevant Blob
- Step 5: Distill Blobs into Wiki Pages
- Step 6: Return Synthesized Answer
- Step 7: Update Tracking Files
- Cross-Agent Use Patterns
- QMD Refresh After Vault Writes
Files
SKILL.mdcore14,229 bytesSKILL.mdcore14,229 bytesSKILL.mdcore14,229 bytesSKILL.mdcore14,229 bytesSKILL.mdcore14,229 bytesSKILL.mdcore14,229 bytesSKILL.mdcore14,229 bytesSKILL.mdcore14,229 bytes
Read SKILL.md
# Wiki Agent — Targeted Cross-Agent History Search + Ingest
You are doing a **query-driven targeted ingest** from one specific AI agent's raw conversation history. The user is typically working in a *different* agent right now and wants to pull in context from another agent's past sessions.
This is not bulk ingest. You find sessions about a specific topic, extract the relevant blobs, distill them into the wiki, and return a synthesized answer the user can act on immediately.
## Command Routing
Parse the invocation to determine the target agent and optional query:
| Command | Target | Example |
|---|---|---|
| `/wiki-claude [query]` | Claude Code history | `/wiki-claude "how did I set up auth middleware"` |
| `/wiki-codex [query]` | Codex CLI history | `/wiki-codex "rust ownership patterns"` |View the complete source on GitHubwiki-capture
When your agent uses it
Turn the current conversation or finding into a structured permanent wiki note. Use for save/capture/preserve requests; QUICK MODE writes a fast _raw/ note. Supports named-vault routing such as @research save this. This captures current discussion, not external source ingestion.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
4,206 tokensWhen the skill is activated
Reference documents
769 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Mode (`--quick`)
- Correction Mode (`--correction`)
- Full Mode
- Before You Start
- Step 1: Identify What's Worth Preserving
- Step 2: Classify the Content Type
- Step 3: Rewrite as Declarative Knowledge
- Step 4: Generate a Slug and Title
- Step 5: Write the Wiki Note
- Step 5b: Update the Owner Profile and Todo Index
- Step 6: Update Tracking Files
- Step 7: Confirm to User
- Quality Checklist
- QMD Refresh After Vault Writes
Files
SKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesSKILL.mdcore17,394 bytesreferences/RAW-FORMAT.mddoc2,913 bytes
Read SKILL.md
# Wiki Capture — Conversation to Wiki Note
You are preserving knowledge from the current conversation as a permanent wiki note. The goal is to extract the *substance* — the knowledge itself — not a summary of what was said.
**Writing profile:** Before drafting or rewriting natural-language Markdown in any mode, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
This skill has three modes:
- **Full mode (default)** — classify the content and write a finished, cross-linked wiki page directly into the right category. This is the rest of this document (Steps 1–7).
- **Quick mode (`--quick`)** — zero-friction staging: drop findings to `_raw/` in under 60 seconds with no manifest/index/log/QMD writes. Used for mid-session capture and by the session-end Stop hook. See below, then stop — do **not** run the full-mode steps.
- **Correction mode (`--correction`)** — capture one atomic correction as derived knowledge while leaving the immutable conversation/source untouched. Use the template below, then update only the derived consumers and tracking links.
## Quick Mode (`--quick`)View the complete source on GitHubwiki-context-pack
When your agent uses it
Produce a token-bounded, citation-ready context slice from an existing Obsidian vault for a downstream agent or task. Use for "/wiki-context-pack", "use my vault as context", "context slice for X", "pack the wiki for my agent", or "bounded context for Y".
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
807 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Execute
- Return
Files
SKILL.mdcore3,007 bytesSKILL.mdcore3,007 bytesSKILL.mdcore3,007 bytesSKILL.mdcore3,007 bytesSKILL.mdcore3,007 bytesSKILL.mdcore3,007 bytes
Read SKILL.md
# Wiki Context Pack
This is a read-only skill. It must not modify the vault, including `log.md`,
`index.md`, `hot.md`, or `.manifest.json`.
## Before You Start
1. Resolve config using the Config Resolution Protocol in
`llm-wiki/SKILL.md`: inline `@name`, then walk up from CWD for `.env`,
then the global config.
2. If `$OBSIDIAN_VAULT_PATH/AGENTS.md` exists, read it as trusted owner
conventions. Do not include that file as a knowledge excerpt.
3. Canonicalize the configured vault to a physical absolute path before
invocation:View the complete source on GitHubwiki-dashboard
When your agent uses it
Create dynamic, queryable Obsidian dashboard views using Bases or Dataview. Use for auto-updating tables, indexes, or structured views of vault content; not for ordinary question answering.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
3,377 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Option A — Obsidian Bases (`.base` files)
- Option B — Dataview (community plugin)
- Step 3: Write the File
- Step 4: Embed Bases (optional)
- Step 5: Update Tracking
- Common Dashboard Recipes
- Quality Checklist
- QMD Refresh After Vault Writes
Files
SKILL.mdcore12,887 bytesSKILL.mdcore12,887 bytesSKILL.mdcore12,887 bytesSKILL.mdcore12,887 bytesSKILL.mdcore12,887 bytesSKILL.mdcore12,887 bytes
Read SKILL.md
# Wiki Dashboard — Dynamic Vault Views
Two tools available: **Obsidian Bases** (native, GUI-driven, no plugin) and **Dataview** (community plugin, SQL-like, more powerful). Check which the user has and prefer Bases unless they ask for Dataview or need GROUP BY / computed columns.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
Apply `WRITING.md` preferences only to optional Markdown dashboard prose; `.base` syntax remains unchanged.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`.
2. Read `$OBSIDIAN_VAULT_PATH/index.md` to understand what categories and pages exist.
3. Ask the user what they want to view if not specified — folder, tag, category, date range?
4. Ask if they have Dataview installed if you're unsure which tool to use.
View the complete source on GitHubwiki-dedup
When your agent uses it
Detect and merge wiki pages representing the same concept under different names. Use for page-identity deduplication and consolidation. Destructive merges require confirmation; not for link repair or general linting.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
3,998 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Modes
- Step 1: Build the Page Registry
- Step 2: Detect Candidate Pairs
- Step 3: Semantic Verdict
- Step 4: Audit Report
- Step 5: Merge
- Step 6: Log
- Redirect Stub Handling
- Tips
- QMD Refresh After Vault Writes
Files
SKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytesSKILL.mdcore15,448 bytes
Read SKILL.md
# Wiki Dedup — Identity Resolution and Page-Level Deduplication
You are finding and merging wiki pages that cover the same concept under different names. This is a write-heavy, potentially destructive skill — page merges cannot be automatically undone. Work carefully and confirm before acting in merge mode.
**Follow the Retrieval Primitives table in `llm-wiki/SKILL.md`.** The candidate-detection pass uses only frontmatter and titles (cheap). Only open full page bodies for confirmed candidate pairs.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OBSIDIAN_LINK_FORMAT`.
2. Read `index.md` to get the full page inventory with one-line descriptions and tags.
3. Read `log.md` briefly — if a dedup run just happened, note what was already merged.View the complete source on GitHubwiki-digest
When your agent uses it
Produce a day/week/month knowledge digest summarizing what was learned, updated, and connected in the wiki. Use for readable recent-learning summaries; wiki-status reports source and ingestion state instead.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
2,918 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Step 1: Collect Pages Active in the Period
- Step 2: Identify Themes
- Step 3: Find Notable New Connections
- Step 4: Surface Open Threads
- Step 5: Choose Recommended Re-reads
- Step 6: Generate the Digest
- Step 7: Output & Optionally Save
- Edge Cases
- Notes
- QMD Refresh After Vault Writes
Files
SKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytesSKILL.mdcore11,478 bytes
Read SKILL.md
# Wiki Digest — Knowledge Newsletter Generator
You are generating a human-readable digest of recent wiki activity: what was learned, what was updated, what themes are emerging, and what's worth reviewing. This skill summarizes *knowledge*, not sources — think of it as a weekly review session, not an ingestion status report.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OBSIDIAN_LINK_FORMAT`.
2. **Parse the period** from the user's request:
- "daily" / "today" / "yesterday" → last 24 hours
- "weekly" / "this week" / no argument (default) → last 7 days
- "monthly" / "this month" → last 30 daysView the complete source on GitHubwiki-export
When your agent uses it
Export the Obsidian wiki graph to JSON, GraphML, Neo4j Cypher, Postgres/SQL, HTML, or OKF bundles. Use when transferring or visualizing wiki data in external tools; wiki-import handles the reverse direction.
What it loads into context
Frontmatter
59 tokensAlways available to the agent
SKILL.md
7,520 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Project Filter (optional)
- Visibility Filter (optional)
- Step 1: Build the Node and Edge Lists
- Step 2: Assign Community IDs
- Step 3: Write the Output Files
- Step 3.5: OKF Bundle Export (optional)
- Step 4: Print Summary
- Notes
Files
SKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytesSKILL.mdcore27,838 bytes
Read SKILL.md
# Wiki Export — Knowledge Graph Export
You are exporting the wiki's wikilink graph to structured formats so it can be used in external tools (Gephi, Neo4j, custom scripts, browser visualization).
## Before You Start
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`
2. Confirm the vault has pages to export — if fewer than 5 pages exist, warn the user and stop
## Project Filter (optional)
If the user's invocation includes a project name — e.g. `/wiki-export prismor`, `"export the prismor project"`, `"export project:security"` — activate **project filter mode**:
1. **Extract the project name** from the argument or phrase. Normalise: lowercase, strip the word "project".View the complete source on GitHubwiki-history-ingest
When your agent uses it
Route generic agent-history ingestion requests to the appropriate specialized history-ingest skill. Use when the user asks to ingest AI-agent history without directly selecting the underlying agent-specific skill.
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
599 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Subcommands
- Routing Rules
- Execution Contract
- UX Convention
Files
SKILL.mdcore2,305 bytes
Read SKILL.md
# Unified History Ingest Router
This is a thin router for **history sources only**. It does not replace `wiki-ingest` for documents.
## Subcommands
If the user invokes `/wiki-history-ingest <target>` (or equivalent text command), dispatch directly:
| Subcommand | Route To |
|---|---|
| `claude` | `claude-history-ingest` |
| `copilot` | `copilot-history-ingest` |
| `codex` | `codex-history-ingest` |
| `hermes` | `hermes-history-ingest` |View the complete source on GitHubwiki-import
When your agent uses it
Import a wiki graph into the current vault from graph.json or an OKF/markdown bundle. Use for transferring previously exported wiki content between vaults; pair with wiki-export for the reverse direction.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
4,118 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Step 1: Locate and Detect Source Type
- Step 2: Determine Conflict Resolution Mode
- Step 3: Build Internal Maps *(graph.json only — skip for OKF bundles)*
- Step 4-Graph: Reconstruct Pages from graph.json *(graph.json source only)*
- Step 4-OKF: Reconstruct Pages from an OKF bundle *(OKF source only)*
- Step 5: Update Vault Metadata
- Step 6: Print Summary
- Notes
Files
SKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytesSKILL.mdcore16,168 bytes
Read SKILL.md
# Wiki Import — Reconstruct Pages from an Export
You are importing a vault's knowledge into the current vault from one of two sources produced by `wiki-export`:
- **`graph.json`** — the graph skeleton. Reconstructs page **stubs** (frontmatter, typed relationships, a `## Related` link list — no body). Lossy.
- **OKF bundle** (a `wiki-export/okf/` directory) — the actual markdown files. Reconstructs **full pages** with their real bodies. Lossless. Use this for true vault-to-vault transfer.
Either way, the import writes pages with correct frontmatter and wikilinks, then updates all vault metadata. **Step 2, Step 3 (graph only), and Step 5 are shared; Step 4 forks by source type.**
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
Preserve imported source prose; apply `WRITING.md` preferences only to newly generated metadata or stubs.
View the complete source on GitHubwiki-ingest
When your agent uses it
Ingest new documents, raw text, folders, or URLs into the Obsidian wiki as distilled, linked knowledge. Use for general wiki ingestion when no more specific ingest skill applies, including processing _raw/ staged content.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
9,851 tokensWhen the skill is activated
Reference documents
4,809 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Content Trust Boundary
- Ingest Modes
- The Ingest Process
- Handling Multiple Sources
- Quality Checklist
- Reference
Files
SKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesSKILL.mdcore40,172 bytesreferences/ingest-prompts.mddoc2,805 bytesreferences/pageindex.mddoc3,363 bytesreferences/url-sources.mddoc12,700 bytes
Read SKILL.md
# Obsidian Ingest — Document Distillation
You are ingesting source documents into an Obsidian wiki. Your job is not to summarize — it is to **distill and integrate** knowledge across the entire wiki.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`, `OBSIDIAN_SOURCES_DIR`, `OBSIDIAN_LINK_FORMAT` (default: `wikilink`), and `WIKI_STAGED_WRITES`. Only read the specific variables you need — do not log, echo, or reference any other values from these files.
2. **Check `WIKI_STAGED_WRITES`** — if set to `true`, all new and updated category pages go to `_staging/<category>/` instead of their final location. Tell the user at the start of the ingest: "Staged writes mode is enabled — pages will land in `_staging/` for your review. Run `/wiki-stage-commit` when ready to promote."
3. Read `.manifest.json` at the vault root to check what's already been ingested
4. Read `index.md` to understand current wiki content
5. Read `log.md` to understand recent activityView the complete source on GitHubwiki-lint
When your agent uses it
Audit wiki health: broken links, orphans, contradictions, stale content, lifecycle and tag issues. Use for maintenance or health checks. Default is report-only; use wiki-dedup for page-identity merges.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
9,333 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Lint Checks
- Output Format
- After Linting
- Consolidate Mode (`--consolidate`)
- QMD Refresh After Vault Writes
Files
SKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytesSKILL.mdcore37,404 bytes
Read SKILL.md
# Wiki Lint — Health Audit
You are performing a health check on an Obsidian wiki. Your goal is to find and fix structural issues that degrade the wiki's value over time.
**Before scanning anything:** follow the Retrieval Primitives table in `llm-wiki/SKILL.md`. Prefer frontmatter-scoped greps and section-anchored reads over full-page reads. On a large vault, blindly reading every page to lint it is exactly what this framework is built to avoid.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
Apply `WRITING.md` preferences only to generated consolidation reports; deterministic findings and fixes keep their existing formats.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` plus any `OBSIDIAN_ALLOWED_LIFECYCLES`, `OBSIDIAN_ALLOWED_RELATIONSHIP_TYPES`, `OBSIDIAN_REQUIRED_TRUST_FIELDS`, and `OBSIDIAN_SCHEMA_SOURCE` values.
2. **Read owner rules** — if `$OBSIDIAN_VAULT_PATH/AGENTS.md` exists, read it before interpreting any schema. Owner rules override framework defaults.
3. **Form the effective schema** — record the schema source locator plus effective required/optional frontmatter, lifecycle values, relationship types, and provenance markers. Framework values are defaults; preserve owner extensions and relaxed requiredness exactly. Never coerce an owner type to a framework type.View the complete source on GitHubwiki-narrate
When your agent uses it
Turn a wiki topic into a cited Markdown briefing, plain-language explanation, or progressive lecture. Use this skill for topic-based briefing, explanation, and lecture requests that must stay within the evidence compiled in an Obsidian vault.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
1,592 tokensWhen the skill is activated
Reference documents
157 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Command Contract
- Retrieval
- Claim Ledger and Citation Audit
- Drafting and Output
- Persistence
- Logging and Hot Cache
- Safe Failure Behavior
Files
SKILL.mdcore6,872 bytesSKILL.mdcore6,872 bytesSKILL.mdcore6,872 bytesSKILL.mdcore6,872 bytesreferences/voices.mddoc646 bytes
Read SKILL.md
# Wiki Narrate — Cited Narrative Readouts
Use this skill only for a topic-based Markdown readout. Do not add tag or page-list
selection, prior-query input, voice aliases, HTML, PDF, slides, renderer handoffs, or
new compiled knowledge pages.
## Command Contract
`/wiki-narrate <topic> [--voice briefing|plain-language|lecturer] [--save]`
- Require a non-empty `<topic>`.
- The default voice is `briefing`.
- Voice names are canonical and case-sensitive. Unsupported values must return an
error listing `briefing`, `plain-language`, and `lecturer` without searching orView the complete source on GitHubwiki-query
When your agent uses it
Search and synthesize answers from the compiled Obsidian wiki, including cited and multi-hop answers. Use for questions about existing wiki knowledge or fast index-only lookups, and for challenge requests ("challenge this", "argue against X", "poke holes in my plan") that look for the vault's own evidence against a plan. Supports named-vault routing such as wiki-query @work; not for ingesting new sources.
What it loads into context
Frontmatter
95 tokensAlways available to the agent
SKILL.md
6,611 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- This skill is READ-ONLY
- Before You Start
- Visibility Filter (optional)
- Retrieval Protocol
- Answer Format
Files
SKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytesSKILL.mdcore26,801 bytes
Read SKILL.md
# Wiki Query — Knowledge Retrieval
You are answering questions against a compiled Obsidian wiki, not raw source documents. The wiki contains pre-synthesized, cross-referenced knowledge.
## This skill is READ-ONLY
`wiki-query` answers questions. It MUST NOT create or modify any wiki content. The ONLY write it may perform is the single Step 6 append to `log.md`.
Never, even when a change seems obviously helpful:
- create or edit pages under `concepts/`, `entities/`, `skills/`, `references/`, `synthesis/`, `journal/`, or `projects/`
- modify `index.md`, `hot.md`, `_insights.md`, or `.manifest.json`
If the user's message contains a new finding, an action request ("save this", "ban X", "record that"), or anything implying a change, **do not perform it.** Answer the question, PROPOSE the change, and route the user to the right skill:
- quick note / gotcha → `wiki-capture --quick`View the complete source on GitHubwiki-rebuild
When your agent uses it
Archive and rebuild wiki knowledge from source, or restore a prior archive. Use for full restart/recovery when incremental repair is inappropriate; this is broader and more destructive than ordinary update or lint.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
2,005 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- The Archive System
- Mode 1: Archive Only
- Mode 2: Archive + Rebuild
- Mode 3: Restore from Archive
- QMD Refresh After Live Wiki Changes
- Safety Rules
Files
SKILL.mdcore7,625 bytesSKILL.mdcore7,625 bytesSKILL.mdcore7,625 bytesSKILL.mdcore7,625 bytesSKILL.mdcore7,625 bytesSKILL.mdcore7,625 bytes
Read SKILL.md
# Wiki Rebuild — Archive, Rebuild, Restore
You are performing a destructive operation on the wiki. Always archive first, always confirm with the user before proceeding.
## Before You Start
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and optional QMD settings such as `QMD_WIKI_COLLECTION`
2. Read `.manifest.json` to understand current state
3. **Confirm the user's intent.** This skill supports three modes:
- **Archive only** — snapshot current wiki, no rebuild
- **Archive + Rebuild** — snapshot, then reprocess all sources from scratch
- **Restore** — bring back a previous archive
## The Archive SystemView the complete source on GitHubwiki-research
When your agent uses it
Perform multi-round web research on a topic, synthesize the findings, and file structured results into the Obsidian wiki. Use for comprehensive web-sourced research intended to become wiki knowledge.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
3,174 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Research Configuration (optional)
- Research Backends (optional)
- Round 1 — Broad Survey
- Round 2 — Gap Fill
- Round 3 — Synthesis Check
- Filing — Write Wiki Pages
- Cross-linking
- Update Tracking Files
- Quality Checklist
- QMD Refresh After Vault Writes
Files
SKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytesSKILL.mdcore13,013 bytes
Read SKILL.md
# Wiki Research — Autonomous Multi-Round Research
You are running an autonomous research loop on a topic, synthesizing what you find, and filing the results into the Obsidian wiki as permanent knowledge.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OBSIDIAN_LINK_FORMAT` (default: `wikilink`).
2. Read `$OBSIDIAN_VAULT_PATH/index.md` to understand what's already in the wiki — don't re-research things the wiki covers well
3. Read `$OBSIDIAN_VAULT_PATH/hot.md` if it exists — it surfaces recent context
4. Check `$OBSIDIAN_VAULT_PATH/references/research-config.md` if it exists — it may define source preferences, domains to skip, or confidence rules for this vault
5. Check `$OBSIDIAN_VAULT_PATH/references/research-backends.md` if it exists — it registers optional CLI retrieval backends (social media, video transcripts, paid APIs, etc.). Load any available backends into your working state for this session.View the complete source on GitHubwiki-setup
When your agent uses it
Initialize or repair an Obsidian wiki vault's required structure and configuration. Use for new-vault setup, .env/config creation, reconfiguration, or broken setup recovery.
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
4,195 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 1: Create .env
- Step 2: Create Vault Directory Structure
- Step 3: Create Special Files
- Step 4: Create .obsidian Configuration
- Step 5: Recommend Obsidian Plugins
- Step 6: Verify Setup
- Optional: Install the Stop Hook (Auto-Capture)
- Optional: Configure GitHub Sync
- Optional: Refresh QMD After Setup
Files
SKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytesSKILL.mdcore16,256 bytes
Read SKILL.md
# Obsidian Setup — Vault Initialization
You are setting up a new Obsidian wiki vault (or repairing an existing one).
## Step 1: Create .env
If `.env` doesn't exist, create it from `.env.example`. Ask the user for:
1. **Where should the vault live?** → `OBSIDIAN_VAULT_PATH`
- Default: `~/Documents/obsidian-wiki-vault`
- Must be an absolute path (after expansion)
2. **Where are your source documents?** → `OBSIDIAN_SOURCES_DIR`
- Can be multiple paths, comma-separatedView the complete source on GitHubwiki-stage-commit
When your agent uses it
Review staged wiki writes and promote accepted pages to final locations when WIKI_STAGED_WRITES is enabled. Use for staging approval/commit; rejected pages return to _raw/ for editing.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
1,842 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Invocation Forms
- Step 1: Inventory Staged Files
- Step 2: Per-File Review (interactive mode)
- Step 3: Apply Decisions
- Step 4: Update Tracking Files
- Step 5: Report
- Notes
Files
SKILL.mdcore7,379 bytesSKILL.mdcore7,379 bytesSKILL.mdcore7,379 bytesSKILL.mdcore7,379 bytesSKILL.mdcore7,379 bytesSKILL.mdcore7,379 bytes
Read SKILL.md
# Wiki Stage Commit — Staged Write Promotion
You are reviewing LLM-written pages that are waiting in `_staging/` for human approval before they land in the live wiki. This skill is only useful when `WIKI_STAGED_WRITES=true` in the vault config.
## Before You Start
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md`. This gives `OBSIDIAN_VAULT_PATH` and `WIKI_STAGED_WRITES`.
2. If `WIKI_STAGED_WRITES` is not set or is `false`, tell the user: "Staged writes mode is not enabled. Set `WIKI_STAGED_WRITES=true` in your `.env` to use this feature." Then stop.
3. Read the `_staging/` directory inventory.
## Invocation Forms
```
/wiki-stage-commit # interactive review: show each file and ask accept/rejectView the complete source on GitHubwiki-status
When your agent uses it
Report wiki ingestion/completeness state, pending source delta, structural insights, or maintenance equilibrium. Use for remaining-work/status questions, hubs and bridges, or whether maintenance skills still have pending changes. wiki-digest summarizes learned knowledge instead.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
7,752 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- The Manifest
- Step 1: Scan Current Sources
- Step 2: Compute the Delta
- Step 3: Report the Status
- Step 3b: Compute Token Footprint
- Step 4: What to Do Next
- Insights Mode
- Equilibrium Mode
- Notes
- QMD Refresh After Vault Writes
Scripts executed separately
../../scripts/manifest.py
Files
SKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytesSKILL.mdcore30,378 bytes../../scripts/manifest.pyruns15,070 bytes
Read SKILL.md
# Wiki Status — Audit & Delta
You are computing the current state of the wiki: what's been ingested, what's new since last ingest, and what the delta looks like. This helps the user decide whether to append (ingest the delta) or rebuild (archive and reprocess everything).
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
Apply `WRITING.md` preferences only to generated `_insights.md` prose; keep the analyser snapshot verbatim.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`, `OBSIDIAN_SOURCES_DIR`, `CLAUDE_HISTORY_PATH`, and `CODEX_HISTORY_PATH`.
2. Read `.manifest.json` at the vault root — this is the ingest tracking ledger
## The Manifest
View the complete source on GitHubwiki-switch
When your agent uses it
List, create, or switch named Obsidian wiki vault profiles under the global config directory. Use when changing the active vault, checking which vault is active, or managing multi-vault profiles.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
1,259 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Dispatch
- Switch (default action)
- List
- Show
- New
Files
SKILL.mdcore5,077 bytesSKILL.mdcore5,077 bytesSKILL.mdcore5,077 bytesSKILL.mdcore5,077 bytes
Read SKILL.md
# Wiki Switch — Manage Multiple Vault Profiles
**Global config dir.** Every path below is relative to the global config dir, resolved per the
Config Resolution Protocol in `llm-wiki/SKILL.md`: `$XDG_CONFIG_HOME/obsidian-wiki` (default
`~/.config/obsidian-wiki`), or the legacy `~/.obsidian-wiki` if that already exists on disk. Resolve
it once per invocation with:
```bash
CONFIG_DIR="$( [[ -d "$HOME/.obsidian-wiki" && ! -e "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" ]] && echo "$HOME/.obsidian-wiki" || echo "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" )"
```
Each vault is a complete config file at `$CONFIG_DIR/config.<name>`. The active vault is
whichever file `$CONFIG_DIR/config` symlinks to. Switching vaults means re-pointing that symlink.
View the complete source on GitHubwiki-synthesize
When your agent uses it
Find recurring concept combinations across the wiki that lack an explicit synthesis page, then create cross-cutting synthesis pages. Use for knowledge synthesis after the vault has accumulated enough material.
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
2,197 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Step 1: Build the Co-occurrence Map
- Step 2: Filter Out Already-Synthesized Pairs
- Step 3: Score and Rank Candidates
- Step 4: Draft Synthesis Pages
- Step 5: Back-link from Source Pages
- Step 6: Report Synthesis Opportunities Not Taken
- Step 7: Update Special Files
- Quality Checklist
- Tips
- QMD Refresh After Vault Writes
Files
SKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytesSKILL.mdcore9,168 bytes
Read SKILL.md
# Wiki Synthesize — First-Class Synthesis Discovery
You are scanning the wiki for concepts that co-occur across many pages but have no dedicated synthesis page connecting them. Your job is to surface these gaps and fill the most valuable ones with cross-cutting synthesis pages.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OBSIDIAN_LINK_FORMAT` (default: `wikilink`).
2. Read `index.md` to get the full page inventory.
3. Read `hot.md` if it exists — it surfaces recent activity and active threads that may already point to synthesis opportunities.
4. Read `_meta/taxonomy.md` to understand the tag vocabulary.
View the complete source on GitHubwiki-update
When your agent uses it
Sync knowledge from the current project into the Obsidian wiki. Use when work already in the current project should be distilled into the vault; named-vault routing includes @work update wiki. wiki-capture saves the current conversation and wiki-ingest handles external/new sources.
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
3,334 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Start
- Step 1: Understand the Project
- Step 2: Compute the Delta
- Step 3: Decide What to Distill
- Step 4: Distill into Wiki Pages
- Step 5: Cross-link
- Step 6: Update Tracking
- Step 7: Refresh QMD Wiki Index (optional — requires `QMD_WIKI_COLLECTION`)
- Tips
Files
SKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytesSKILL.mdcore14,015 bytes
Read SKILL.md
# Wiki Update — Sync Any Project to Your Wiki
You are distilling knowledge from the current project into the user's Obsidian wiki. This skill works from any project directory, not just the obsidian-wiki repo.
## Before You Start
**Writing profile:** Before drafting or rewriting natural-language Markdown, read and apply the `Writing Profile Resolution` section in `llm-wiki/SKILL.md`. Framework schema, provenance, safety, and operation-specific requirements take precedence.
`WRITING.md` preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.
1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH`, `OBSIDIAN_WIKI_REPO`, `OBSIDIAN_LINK_FORMAT` (`wikilink` default or `markdown`), and optional QMD settings such as `QMD_WIKI_COLLECTION`. Works from any project directory.
3. Read `$OBSIDIAN_VAULT_PATH/.manifest.json` to check if this project has been synced before.
4. Read `$OBSIDIAN_VAULT_PATH/index.md` to know what the wiki already contains.
When writing internal links in Steps 4–5, apply the link format from `llm-wiki/SKILL.md` (Link Format section) using the `OBSIDIAN_LINK_FORMAT` value.View the complete source on GitHubSkills included
- claude-history-ingest
- code-understand
- codex-history-ingest
- copilot-history-ingest
- cross-linker
- daily-update
- graph-colorize
- hermes-history-ingest
- impl-validator
- llm-wiki
- memory-bridge
- obsidian-layout-adjustment
- openclaw-history-ingest
- pi-history-ingest
- session-brain
- session-search
- skill-creator
- tag-taxonomy
- vault-skill-factory
- wiki-agent
- wiki-capture
- wiki-context-pack
- wiki-dashboard
- wiki-dedup
- wiki-digest
- wiki-export
- wiki-history-ingest
- wiki-import
- wiki-ingest
- wiki-lint
- wiki-narrate
- wiki-query
- wiki-rebuild
- wiki-research
- wiki-setup
- wiki-stage-commit
- wiki-status
- wiki-switch
- wiki-synthesize
- wiki-update
Repository facts
- License
- MIT
- Created
- Apr 6, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 371
- Open issues
- 2
- Project activity
- Active
Rank over the last 12 weeks
Now #343 · best #267 · down 46 in 30 days
- #338 from Oct 31 to Nov 1
- #339 on Nov 2
- #341 on Nov 3
- #340 from Nov 4 to Nov 5
- #342 on Nov 6
- #343 since Nov 7
75 earlier periods
- #260 on Aug 2
- #263 on Aug 7
- #264 on Aug 8
- #261 on Aug 9
- #269 on Aug 10
- #264 on Aug 11
- #265 on Aug 12
- #271 on Aug 13
- #269 on Aug 14
- #265 on Aug 15
- #270 on Aug 16
- #267 on Aug 17
- #275 on Aug 18
- #273 on Aug 19
- #270 on Aug 20
- #273 on Aug 21
- #268 on Aug 22
- #275 on Aug 23
- #276 on Aug 24
- #277 from Aug 25 to Aug 26
- #276 from Aug 27 to Aug 29
- #271 on Aug 30
- #279 on Aug 31
- #280 on Sep 1
- #278 on Sep 2
- #282 on Sep 3
- #275 on Sep 4
- #276 from Sep 5 to Sep 6
- #282 on Sep 7
- #281 from Sep 8 to Sep 9
- #280 on Sep 10
- #278 on Sep 11
- #284 on Sep 12
- #283 on Sep 13
- #286 on Sep 14
- #288 on Sep 15
- #285 on Sep 16
- #284 on Sep 17
- #287 on Sep 18
- #282 on Sep 19
- #288 on Sep 20
- #287 on Sep 21
- #289 from Sep 22 to Sep 23
- #288 on Sep 24
- #286 on Sep 25
- #283 on Sep 26
- #289 on Sep 27
- #294 from Sep 28 to Sep 29
- #292 on Sep 30
- #291 on Oct 1
- #295 on Oct 2
- #290 on Oct 3
- #287 on Oct 4
- #295 on Oct 5
- #294 on Oct 6
- #296 on Oct 7
- #297 on Oct 8
- #302 on Oct 9
- #297 from Oct 10 to Oct 11
- #305 on Oct 12
- #306 on Oct 13
- #308 on Oct 14
- #307 on Oct 15
- #309 on Oct 16
- #312 from Oct 17 to Oct 18
- #313 on Oct 19
- #316 on Oct 20
- #318 on Oct 21
- #319 on Oct 22
- #318 on Oct 23
- #317 on Oct 24
- #324 on Oct 25
- #327 on Oct 28
- #333 on Oct 29
- #337 on Oct 30
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Changed on Oct 27, 2026
No longer found: Instruction override signal, Access to secrets
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 450 notes
.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.skills/claude-history-ingest/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 4 dangerous shell commandsin 2 files: .skills/daily-update/SKILL.md:163 .skills/wiki-ingest/SKILL.md:99
- 129 network referencesin 15 files: .skills/skill-creator/eval-viewer/viewer.html:5 .skills/wiki-ingest/references/url-sources.md:21 .skills/wiki-export/SKILL.md:138 and 12 more
- 4 obfuscation signalsin 2 files: .skills/copilot-history-ingest/SKILL.md:207 .skills/copilot-history-ingest/references/copilot-data-format.md:306
- No instruction overrides
- 26 executable scriptsin 14 files: scripts/manifest.py:1 .skills/skill-creator/eval-viewer/generate_review.py:1 .skills/skill-creator/scripts/__init__.py:1 and 11 more
- 33 references to secretsin 11 files: .skills/wiki-research/SKILL.md:55 scripts/daily-update.sh:9 .skills/skill-creator/scripts/improve_description.py:6 and 8 more
- No requests to vote in Hot
Show all 196 signals by file
.claude-plugin/marketplace.json
- Network accessline 3
"owner": { "name": "Ar9av", "url": "https://github.com/Ar9av" - Network accessline 4
"name": "Ar9av", "url": "https://github.com/Ar9av" }, - Network accessline 5
"url": "https://github.com/Ar9av" - Network accessline 14
"description": "Grow an Obsidian second brain with your AI agent: ingest docs, chat history and URLs into interlinked markdown, then query it with citations.", "category": "productivity", "homepage": "https://github.com/Ar9av/ob - Network accessline 15
"category": "productivity", "homepage": "https://github.com/Ar9av/obsidian-wiki" } - Network accessline 16
"homepage": "https://github.com/Ar9av/obsidian-wiki"
.claude-plugin/plugin.json
- Network accessline 4
"author": { "name": "Ar9av", "url": "https://github.com/Ar9av" - Network accessline 5
"name": "Ar9av", "url": "https://github.com/Ar9av" }, - Network accessline 6
"url": "https://github.com/Ar9av" - Network accessline 7
}, "homepage": "https://github.com/Ar9av/obsidian-wiki", "repository": "https://github.com/Ar9av/obsidian-wiki", - Network accessline 8
"homepage": "https://github.com/Ar9av/obsidian-wiki", - Network accessline 9
"repository": "https://github.com/Ar9av/obsidian-wiki",
.skills/copilot-history-ingest/SKILL.md
.skills/copilot-history-ingest/references/copilot-data-format.md
.skills/daily-update/SKILL.md
- Dangerous shell operationline 163
On a headless server, user timers only run while the user is logged in unless lingering is on — suggest `sudo loginctl enable-linger "$USER"`. - Dangerous shell operationline 163
On a headless server, user timers only run while the user is logged in unless lingering is on — suggest `sudo loginctl enable-linger "$USER"`.
.skills/llm-wiki/SKILL.md
- Network accessline 162
| Inside the vault | **vault-relative path** — POSIX separators, no leading `./`, no `..` | `Raw/database/postgres.pdf`, `Clippings/article.md` | | Under `$HOME` | **home-relative path** — starts with `~` | `~/.claude/projects/-Users-name-m - Network accessline 162
| Inside the vault | **vault-relative path** — POSIX separators, no leading `./`, no `..` | `Raw/database/postgres.pdf`, `Clippings/article.md` | | Under `$HOME` | **home-relative path** — starts with `~` | `~/.claude/projects/-Users-name-m - Network accessline 164
| Not a file at all | **pseudo-key** — any `scheme:`/`://` identifier, treated as opaque | `url:https://example.com/article`, `agent:claude/<session-id>` | - Network accessline 164
| Not a file at all | **pseudo-key** — any `scheme:`/`://` identifier, treated as opaque | `url:https://example.com/article`, `agent:claude/<session-id>` | - Network accessline 302
- [[_raw/_archived/paper.pdf]] — snapshot distilled (if a local PDF/clip was ingested) - <https://arxiv.org/abs/XXXX.XXXXX> — only if this ingest fetched the URL and there is no local snapshot - Network accessline 302
- [[_raw/_archived/paper.pdf]] — snapshot distilled (if a local PDF/clip was ingested) - <https://arxiv.org/abs/XXXX.XXXXX> — only if this ingest fetched the URL and there is no local snapshot - Network accessline 303
- <https://arxiv.org/abs/XXXX.XXXXX> — only if this ingest fetched the URL and there is no local snapshot - Network accessline 303
- <https://arxiv.org/abs/XXXX.XXXXX> — only if this ingest fetched the URL and there is no local snapshot - Access to secretsline 615
[Credential-related source omitted] - Access to secretsline 615
[Credential-related source omitted]
.skills/llm-wiki/references/karpathy-pattern.md
.skills/skill-creator/LICENSE.txt
- Network accessline 2
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ - Network accessline 2
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ - Network accessline 4
http://www.apache.org/licenses/ - Network accessline 4
http://www.apache.org/licenses/ - Network accessline 196
http://www.apache.org/licenses/LICENSE-2.0 - Network accessline 196
http://www.apache.org/licenses/LICENSE-2.0
.skills/skill-creator/assets/eval_review.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Eval Set Review - __SKILL_NAME_PLACEHOLDER__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Eval Set Review - __SKILL_NAME_PLACEHOLDER__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 6
<title>Eval Set Review - __SKILL_NAME_PLACEHOLDER__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 6
<title>Eval Set Review - __SKILL_NAME_PLACEHOLDER__</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet"> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet">
.skills/skill-creator/eval-viewer/generate_review.py
.skills/skill-creator/eval-viewer/viewer.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Eval Review</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Eval Review</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 6
<title>Eval Review</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 6
<title>Eval Review</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet"> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet"> - Network accessline 10
<script src="https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js" integrity="sha384-EnyY0/GSHQGSxSgMwaIPzSESbqoOLSexfnSMN2AP+39Ckmn92stwABZynq1JyzdT" crossorigin="anonymous"></script> - Network accessline 10
<script src="https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js" integrity="sha384-EnyY0/GSHQGSxSgMwaIPzSESbqoOLSexfnSMN2AP+39Ckmn92stwABZynq1JyzdT" crossorigin="anonymous"></script> - Network accessline 664
if (!hasPrevious) { try { const resp = await fetch("/api/feedback"); - Network accessline 664
if (!hasPrevious) { try { const resp = await fetch("/api/feedback"); - Network accessline 665
try { const resp = await fetch("/api/feedback"); const data = await resp.json(); - Network accessline 665
try { const resp = await fetch("/api/feedback"); const data = await resp.json(); - Network accessline 666
const resp = await fetch("/api/feedback"); - Network accessline 666
const resp = await fetch("/api/feedback"); - Network accessline 1012
fetch("/api/feedback", { - Network accessline 1012
fetch("/api/feedback", { - Network accessline 1042
} const payload = JSON.stringify({ reviews, status: "complete" }, null, 2); fetch("/api/feedback", { - Network accessline 1042
} const payload = JSON.stringify({ reviews, status: "complete" }, null, 2); fetch("/api/feedback", { - Network accessline 1043
const payload = JSON.stringify({ reviews, status: "complete" }, null, 2); fetch("/api/feedback", { method: "POST", - Network accessline 1043
const payload = JSON.stringify({ reviews, status: "complete" }, null, 2); fetch("/api/feedback", { method: "POST", - Network accessline 1044
fetch("/api/feedback", { - Network accessline 1044
fetch("/api/feedback", {
.skills/skill-creator/scripts/__init__.py
.skills/skill-creator/scripts/aggregate_benchmark.py
.skills/skill-creator/scripts/generate_report.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 37
<meta charset="utf-8"> """ + refresh_tag + """ <title>""" + title_prefix + """Skill Description Optimization</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 37
<meta charset="utf-8"> """ + refresh_tag + """ <title>""" + title_prefix + """Skill Description Optimization</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 38
""" + refresh_tag + """ <title>""" + title_prefix + """Skill Description Optimization</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 38
""" + refresh_tag + """ <title>""" + title_prefix + """Skill Description Optimization</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 39
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 39
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 40
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 40
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 41
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet"> - Network accessline 41
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet">
.skills/skill-creator/scripts/improve_description.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 6
[Credential-related source omitted] - Access to secretsline 6
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted]
.skills/skill-creator/scripts/package_skill.py
.skills/skill-creator/scripts/quick_validate.py
.skills/skill-creator/scripts/run_eval.py
.skills/skill-creator/scripts/run_loop.py
.skills/skill-creator/scripts/utils.py
.skills/wiki-export/SKILL.md
- Network accessline 138
<?xml version="1.0" encoding="UTF-8"?> <graphml xmlns="http://graphml.graphdrawing.org/graphml"> - Network accessline 138
<?xml version="1.0" encoding="UTF-8"?> <graphml xmlns="http://graphml.graphdrawing.org/graphml"> - Network accessline 139
<graphml xmlns="http://graphml.graphdrawing.org/graphml"> - Network accessline 139
<graphml xmlns="http://graphml.graphdrawing.org/graphml"> - Network accessline 294
<meta charset="utf-8"> <title>Wiki Knowledge Graph</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 294
<meta charset="utf-8"> <title>Wiki Knowledge Graph</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 295
<title>Wiki Knowledge Graph</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <style> - Network accessline 295
<title>Wiki Knowledge Graph</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <style> - Network accessline 296
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 296
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 362
The five graph files are a *lossy* projection (graph skeleton only). An **OKF bundle is the actual page bodies**, so an export→`wiki-import` round-trip through OKF preserves full content, and the bundle drops straight into MkDocs, Notion, H - Network accessline 362
The five graph files are a *lossy* projection (graph skeleton only). An **OKF bundle is the actual page bodies**, so an export→`wiki-import` round-trip through OKF preserves full content, and the bundle drops straight into MkDocs, Notion, H
.skills/wiki-ingest/SKILL.md
- Network accessline 90
That CLI writes YAML `snapshots:` as a quoted wikilink **list** with display text, e.g. `"[[_raw/_archived/clip|clip]]"`. Do not hand-edit `snapshots:` to Markdown `[title](path)` — Obsidian Properties only treats `"[[…]]"` as clickable lin - Network accessline 90
That CLI writes YAML `snapshots:` as a quoted wikilink **list** with display text, e.g. `"[[_raw/_archived/clip|clip]]"`. Do not hand-edit `snapshots:` to Markdown `[title](path)` — Obsidian Properties only treats `"[[…]]"` as clickable lin - Network accessline 92
- Every created or updated page must end with a **Sources** section whose clickable entries may be Obsidian wikilinks to those snapshots: `[[_raw/_archived/<filename>]]`. The snapshots CLI does not touch the body. - Do **not** add a live UR - Network accessline 92
- Every created or updated page must end with a **Sources** section whose clickable entries may be Obsidian wikilinks to those snapshots: `[[_raw/_archived/<filename>]]`. The snapshots CLI does not touch the body. - Do **not** add a live UR - Network accessline 93
- Do **not** add a live URL to YAML `sources:` or to the Sources section just because the draft recorded a webpage. Optional non-link breadcrumb: *Clipped from https://…* (plain text, not a markdown/wikilink). - Network accessline 93
- Do **not** add a live URL to YAML `sources:` or to the Sources section just because the draft recorded a webpage. Optional non-link breadcrumb: *Clipped from https://…* (plain text, not a markdown/wikilink). - Dangerous shell operationline 99
**Move safety:** Only move the specific file that was just promoted. Before moving, verify the resolved path is inside `$OBSIDIAN_VAULT_PATH/_raw/` — never touch files outside this directory. Never use wildcards or recursive operations (`rm - Dangerous shell operationline 99
**Move safety:** Only move the specific file that was just promoted. Before moving, verify the resolved path is inside `$OBSIDIAN_VAULT_PATH/_raw/` — never touch files outside this directory. Never use wildcards or recursive operations (`rm
.skills/wiki-ingest/references/pageindex.md
- Network accessline 4
into wiki pages. Instead of reading a 300-page book linearly into context, build a **table-of-contents tree** (section titles + summaries + page ranges) with [PageIndex](https://github.com/VectifyAI/PageIndex), reason over the tree, then re - Network accessline 4
into wiki pages. Instead of reading a 300-page book linearly into context, build a **table-of-contents tree** (section titles + summaries + page ranges) with [PageIndex](https://github.com/VectifyAI/PageIndex), reason over the tree, then re - Network accessline 5
**table-of-contents tree** (section titles + summaries + page ranges) with [PageIndex](https://github.com/VectifyAI/PageIndex), reason over the tree, then read only the page ranges that matter. - Network accessline 5
**table-of-contents tree** (section titles + summaries + page ranges) with [PageIndex](https://github.com/VectifyAI/PageIndex), reason over the tree, then read only the page ranges that matter. - Network accessline 6
[PageIndex](https://github.com/VectifyAI/PageIndex), reason over the tree, then read only - Network accessline 6
[PageIndex](https://github.com/VectifyAI/PageIndex), reason over the tree, then read only - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted]
.skills/wiki-ingest/references/url-sources.md
- Network accessline 21
1. **Git remote name** — run `git remote get-url origin 2>/dev/null` from the current working directory. Strip the host, org, and `.git` suffix to get the repo name. Example: `https://github.com/acme/my-app.git` → `my-app`. - Network accessline 21
1. **Git remote name** — run `git remote get-url origin 2>/dev/null` from the current working directory. Strip the host, org, and `.git` suffix to get the repo name. Example: `https://github.com/acme/my-app.git` → `my-app`. - Network accessline 65
Derive a slug from the URL: 1. Strip `https://`, `http://`, and trailing slashes - Network accessline 65
Derive a slug from the URL: 1. Strip `https://`, `http://`, and trailing slashes - Network accessline 66
1. Strip `https://`, `http://`, and trailing slashes - Network accessline 66
1. Strip `https://`, `http://`, and trailing slashes - Network accessline 73
Examples: - `https://martinfowler.com/articles/microservices.html` → `web-martinfowler-com-articles-microservices` - Network accessline 73
Examples: - `https://martinfowler.com/articles/microservices.html` → `web-martinfowler-com-articles-microservices` - Network accessline 74
- `https://martinfowler.com/articles/microservices.html` → `web-martinfowler-com-articles-microservices` - Network accessline 74
- `https://martinfowler.com/articles/microservices.html` → `web-martinfowler-com-articles-microservices` - Network accessline 75
- `https://arxiv.org/abs/1706.03762` → `web-arxiv-org-abs-1706-03762` - Network accessline 75
- `https://arxiv.org/abs/1706.03762` → `web-arxiv-org-abs-1706-03762` - Network accessline 251
{ "ingested_at": "TIMESTAMP", "source_url": "https://...", - Network accessline 251
{ "ingested_at": "TIMESTAMP", "source_url": "https://...", - Network accessline 252
"ingested_at": "TIMESTAMP", "source_url": "https://...", "source_type": "url", - Network accessline 252
"ingested_at": "TIMESTAMP", "source_url": "https://...", "source_type": "url", - Network accessline 253
"source_url": "https://...", - Network accessline 253
"source_url": "https://...",
.skills/wiki-lint/SKILL.md
.skills/wiki-research/SKILL.md
- Access to secretsline 55
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Access to secretsline 105
[Credential-related source omitted] - Access to secretsline 105
[Credential-related source omitted]
.skills/wiki-setup/SKILL.md
- Access to secretsline 4
[Credential-related source omitted] - Access to secretsline 4
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Network accessline 296
CONFIG_DIR="$( [[ -d "$HOME/.obsidian-wiki" && ! -e "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" ]] && echo "$HOME/.obsidian-wiki" || echo "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" )" mkdir -p "$CONFIG_DIR/hooks" curl -fs - Network accessline 296
CONFIG_DIR="$( [[ -d "$HOME/.obsidian-wiki" && ! -e "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" ]] && echo "$HOME/.obsidian-wiki" || echo "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" )" mkdir -p "$CONFIG_DIR/hooks" curl -fs - Network accessline 297
mkdir -p "$CONFIG_DIR/hooks" curl -fsSL https://raw.githubusercontent.com/Ar9av/obsidian-wiki/main/.claude/hooks/wiki-stop-capture.sh \ -o "$CONFIG_DIR/hooks/wiki-stop-capture.sh" - Network accessline 297
mkdir -p "$CONFIG_DIR/hooks" curl -fsSL https://raw.githubusercontent.com/Ar9av/obsidian-wiki/main/.claude/hooks/wiki-stop-capture.sh \ -o "$CONFIG_DIR/hooks/wiki-stop-capture.sh" - Network accessline 298
curl -fsSL https://raw.githubusercontent.com/Ar9av/obsidian-wiki/main/.claude/hooks/wiki-stop-capture.sh \ - Network accessline 298
curl -fsSL https://raw.githubusercontent.com/Ar9av/obsidian-wiki/main/.claude/hooks/wiki-stop-capture.sh \ - Network accessline 352
1. Ask for the repo URL (e.g. `https://github.com/you/my-wiki.git`). Recommend it be **private** - Network accessline 352
1. Ask for the repo URL (e.g. `https://github.com/you/my-wiki.git`). Recommend it be **private**
.skills/wiki-switch/SKILL.md
scripts/com.obsidian-wiki.daily-update.plist
- Network accessline 1
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - Network accessline 2
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> - Network accessline 3
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
scripts/daily-update.sh
- Executable scriptline 1
#!/usr/bin/env bash - Access to secretsline 9
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 87
[Credential-related source omitted] - Access to secretsline 104
[Credential-related source omitted]
scripts/extract-jsonl.py
scripts/manifest.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 245
[Credential-related source omitted] - Access to secretsline 245
[Credential-related source omitted] - Access to secretsline 245
[Credential-related source omitted]
scripts/wiki-notify.sh
- Executable scriptline 1
#!/usr/bin/env bash
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 2 facts
- Contacts fonts.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionskill-creator/scripts/generate_report.py:39High confidence
- Contacts fonts.gstatic.com, which SKILL.md, the README and the plugin manifest do not mentionskill-creator/scripts/generate_report.py:40High confidence
Signal confidence: 160 facts
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:3High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:4High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:5High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:14High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:15High confidence
- Network access in code of the plugin configuration.claude-plugin/marketplace.json:16High confidence
- Network access in code of the plugin configuration.claude-plugin/plugin.json:4High confidence
- Network access in code of the plugin configuration.claude-plugin/plugin.json:5High confidence
- Network access in code of the plugin configuration.claude-plugin/plugin.json:6High confidence
- Network access in code of the plugin configuration.claude-plugin/plugin.json:7High confidence
- Network access in code of the plugin configuration.claude-plugin/plugin.json:8High confidence
- Network access in code of the plugin configuration.claude-plugin/plugin.json:9High confidence
- Possible obfuscation in code of the SKILL.md.skills/copilot-history-ingest/SKILL.md:207High confidence
- Possible obfuscation in code of the SKILL.mdcopilot-history-ingest/SKILL.md:207High confidence
- Possible obfuscation in code of documentation.skills/copilot-history-ingest/references/copilot-data-format.md:306Low confidence
- Possible obfuscation in code of documentationcopilot-history-ingest/references/copilot-data-format.md:306Low confidence
- Dangerous shell operation in prose of the SKILL.md.skills/daily-update/SKILL.md:163Low confidence
- Dangerous shell operation in prose of the SKILL.mddaily-update/SKILL.md:163Low confidence
- Network access in prose of the SKILL.md.skills/llm-wiki/SKILL.md:162Low confidence
- Network access in prose of the SKILL.mdllm-wiki/SKILL.md:162Low confidence
- Network access in prose of the SKILL.md.skills/llm-wiki/SKILL.md:164Low confidence
- Network access in prose of the SKILL.mdllm-wiki/SKILL.md:164Low confidence
- Network access in code of the SKILL.md.skills/llm-wiki/SKILL.md:302High confidence
- Network access in code of the SKILL.mdllm-wiki/SKILL.md:302High confidence
- Network access in code of the SKILL.md.skills/llm-wiki/SKILL.md:303High confidence
- Network access in code of the SKILL.mdllm-wiki/SKILL.md:303High confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored value.skills/llm-wiki/SKILL.md:615Low confidence
- Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valuellm-wiki/SKILL.md:615Low confidence
- Network access in prose of documentation.skills/llm-wiki/references/karpathy-pattern.md:3Low confidence
- Network access in prose of documentationllm-wiki/references/karpathy-pattern.md:3Low confidence
- Network access in prose of documentation.skills/skill-creator/LICENSE.txt:2Low confidence
- Network access in prose of documentationskill-creator/LICENSE.txt:2Low confidence
- Network access in prose of documentation.skills/skill-creator/LICENSE.txt:4Low confidence
- Network access in prose of documentationskill-creator/LICENSE.txt:4Low confidence
- Network access in prose of documentation.skills/skill-creator/LICENSE.txt:196Low confidence
- Network access in prose of documentationskill-creator/LICENSE.txt:196Low confidence
- Executable script in code of a file that runs.skills/skill-creator/eval-viewer/generate_review.py:1High confidence
- Executable script in code of a file that runsskill-creator/eval-viewer/generate_review.py:1High confidence
- Network access in code of a file that runs.skills/skill-creator/eval-viewer/generate_review.py:449High confidence
- Network access in code of a file that runsskill-creator/eval-viewer/generate_review.py:449High confidence
- Executable script in prose of a file that runs.skills/skill-creator/scripts/__init__.py:1Low confidence
- Executable script in prose of a file that runsskill-creator/scripts/__init__.py:1Low confidence
- Executable script in code of a file that runs.skills/skill-creator/scripts/aggregate_benchmark.py:1High confidence
- Executable script in code of a file that runsskill-creator/scripts/aggregate_benchmark.py:1High confidence
- Executable script in code of a file that runs.skills/skill-creator/scripts/generate_report.py:1High confidence
- Executable script in code of a file that runsskill-creator/scripts/generate_report.py:1High confidence
- Network access in code of a file that runs.skills/skill-creator/scripts/generate_report.py:37High confidence
- Network access in code of a file that runsskill-creator/scripts/generate_report.py:37High confidence
- Network access in code of a file that runs.skills/skill-creator/scripts/generate_report.py:38High confidence
- Network access in code of a file that runsskill-creator/scripts/generate_report.py:38High confidence
and 110 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .cursor/rules/obsidian-wiki.mdc | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Path GEMINI.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Native | Manifest .github/copilot-instructions.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md .skills/claude-history-ingest/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/ar9av-obsidian-wiki/)