Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计异常

wikiwiki 搜索

Agent Skill

wiki 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

242

周安装

10

GitHub Stars

58

下载量

79
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:wiki(wiki 搜索)
来源仓库:https://github.com/ekadetov/llm-wiki
仓库路径:skills/wiki
安装命令:
npx skills add https://github.com/ekadetov/llm-wiki --skill wiki
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ekadetov/llm-wiki --skill wiki

简介

wiki 用于在 Obsidian 知识库中初始化、摄取和查询持久化文档。

  • 适用于需要构建复合知识库、管理技术笔记或进行上下文增强的场景。
  • 支持从本地文件或 URL 摄取内容,并通过自然语言查询检索信息。
  • 使用前需确保存在 CLAUDE.md 和 wiki/ 目录,并确认文件读写权限。
  • wiki 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

LLM Wiki

Persistent, compounding knowledge base inside an Obsidian vault.

Operations

/llm-wiki:wiki init my-topic
/llm-wiki:wiki ingest ~/ObsidianVault/03-Resources/my-topic/raw/article.md
/llm-wiki:wiki ingest https://example.com/article
/llm-wiki:wiki query "What is X?"
/llm-wiki:wiki lint

Active Wiki Detection

Walk up from cwd looking for a directory containing both CLAUDE.md and a wiki/ subfolder.

  1. Start at cwd. Check if CLAUDE.md and wiki/ exist in the current directory.
  2. If found → that directory is the active wiki root. Read CLAUDE.md for schema.
  3. If not found → move to parent directory and repeat until filesystem root.
  4. If no wiki found anywhere in the path, prompt the user: "Which wiki should I use?" List available wikis by running: ls -d ~/ObsidianVault/03-Resources/*/wiki 2>/dev/null and presenting the parent directory names.

qmd Availability

Reference paths used throughout this skill:

QMD="env -u BUN_INSTALL ${CLAUDE_PLUGIN_DATA}/node_modules/.bin/qmd"
MARP="${CLAUDE_PLUGIN_DATA}/node_modules/.bin/marp"

Check: Test if "${CLAUDE_PLUGIN_DATA}/node_modules/.bin/qmd" exists and is executable via Bash: test -x "${CLAUDE_PLUGIN_DATA}/node_modules/.bin/qmd".

Important: Always invoke qmd via env -u BUN_INSTALL to force Node.js runtime. If BUN_INSTALL is set in the environment, qmd runs under Bun, which uses a SQLite build without extension loading support and cannot load sqlite-vec.

  • If present: use it for query and embed operations. ALWAYS use the full path — never bare qmd.
  • If absent: fall back to reading wiki/index.md manually and grepping wiki files.

init <name>

Create a new wiki scaffold under the Obsidian vault.

Steps

  1. Check if wiki already exists: If ~/ObsidianVault/03-Resources/<name>/ exists, abort with: "Wiki '' already exists at ~/ObsidianVault/03-Resources//. Use wiki remove <name> first, or choose a different name."
  2. Create directory structure: mkdir -p ~/ObsidianVault/03-Resources/<name>/raw/articles mkdir -p ~/ObsidianVault/03-Resources/<name>/raw/attachments mkdir -p ~/ObsidianVault/03-Resources/<name>/wiki/queries mkdir -p ~/ObsidianVault/03-Resources/<name>/outputs/reports
  3. Write ~/ObsidianVault/03-Resources/<name>/CLAUDE.md using the CLAUDE.md template below (fill in <name>).
  4. Write ~/ObsidianVault/03-Resources/<name>/wiki/index.md using the index.md template below.
  5. Write ~/ObsidianVault/03-Resources/<name>/log.md using the log.md template below.
  6. Write ~/ObsidianVault/03-Resources/<name>/.gitignore using the .gitignore template below.
  7. Write ~/ObsidianVault/03-Resources/<name>/qmd.yml using the qmd.yml template below.
  8. Commit to vault git: git -C ~/ObsidianVault add "03-Resources/<name>/" && git -C ~/ObsidianVault commit -m "init: <name> wiki"
  9. If qmd available: "${QMD}" collection add ~/ObsidianVault/03-Resources/<name>/wiki --name <name> && "${QMD}" embed --collection <name>
  10. Print Web Clipper setup instruction: Obsidian Web Clipper setup: 1. Install: https://obsidian.md/clipper 2. In clipper settings, set Destination folder to: 03-Resources/<name>/raw/articles 3. Set filename template to: {{date:YYYY-MM-DD}}-{{title}} 4. After clipping, run: /llm-wiki:wiki ingest ~/ObsidianVault/03-Resources/<name>/raw/articles/<clipped-file>.md

ingest <path|url>

Acquire a source and save it to the raw library. Does NOT create wiki pages — use compile for that.

Steps

  1. Detect active wiki (see Active Wiki Detection). Read CLAUDE.md for schema.
  2. Acquire source:

- If input is a URL: use the WebFetch tool to retrieve content. - If input is a file path: read the file directly. - If the source file is in raw/ directly (not in a subdirectory), read it from there. Sources saved before the raw/articles/ convention are still valid.

  1. Classify the source as one of: article | paper | transcript | conversation | image-set.
  2. Save to raw library: Write to raw/articles/YYYY-MM-DD-<slug>.md with frontmatter: --- date: YYYY-MM-DD source-type: <classification> source-url: <original URL or file path> title: <extracted or inferred title> compiled: false --- If input was a file path already in raw/, skip this step (source is already saved).
  3. Append to log.md: ## [YYYY-MM-DD] ingest | <title> Saved <source-type> from <source> to raw/articles/.
  4. Commit: git -C ~/ObsidianVault add "03-Resources/<wiki-name>/" && git -C ~/ObsidianVault commit -m "ingest: <title>"
  5. Print: "Source saved to raw/articles/. Run wiki compile to integrate into the wiki."

compile [<path>]

Read raw sources and create/update wiki pages with entity extraction and cross-references.

  • If <path> is given: compile that specific raw source.
  • If no argument: scan raw/articles/ for sources without a corresponding source-summary page in wiki/, and compile those.

Steps

  1. Detect active wiki. Read CLAUDE.md for schema and templates.
  2. Identify sources to compile:

- If path argument given: use that file. - Otherwise: list files in raw/articles/. For each, check if a corresponding source-summary page exists in wiki/ (match by slug or title). Compile any source without a matching summary. - If nothing to compile: "All sources are already compiled. Nothing to do." Stop.

  1. For each source to compile: a. Read the raw source content. b. Write or update source-summary page in wiki/ using the source-summary template from CLAUDE.md. Filename: <slug>.md. c. Entity extraction: For each mentioned entity (person, concept, event): d. Backlink audit (CRITICAL — do not skip): grep -rln "<new page title>" wiki/ For each file that mentions the new page title but does NOT contain [[new-page-name]]: add a [[wikilink]] at the first mention.

- Check if a page already exists in wiki/. - If yes → update with new information, preserving existing content. - If no → create using the appropriate template (concept.md or person.md). - Add [[wikilinks]] to related pages in both directions.

  1. Update wiki/index.md with new/updated entries under the appropriate domain heading.
  2. Append to log.md: ## [YYYY-MM-DD] compile | <N> sources → <M> pages Compiled <source-titles>. Created/updated M pages.
  3. Commit: git -C ~/ObsidianVault add "03-Resources/<wiki-name>/" && git -C ~/ObsidianVault commit -m "compile: <summary>"
  4. If qmd available: "${QMD}" embed --collection <name>

query <question>

Answer a question using wiki knowledge, with citations.

Steps

  1. Detect active wiki. Read CLAUDE.md.
  2. Find relevant pages:

- If qmd available: "${QMD}" query "<question>" --collection <name> Parse output for candidate page paths. - Otherwise: read wiki/index.md and identify relevant pages by title/description matching.

  1. Read all relevant pages. Follow one level of [[wikilinks]] if targets look relevant to the question.
  2. Synthesize answer with [[wikilinks]] as citations. Format rules:

- Default: prose with inline wikilink citations. - If question contains "table": markdown table with wikilink citations in cells. - If question contains "slides": Marp markdown with marp: true frontmatter. Render with: "${MARP}" <file> -o output.html

  1. File the answer to wiki/queries/<slug>.md using the query-output frontmatter schema. Always file — no prompt.
  2. Ask: "Promote this answer to wiki/<slug>.md as a concept page? (y/n)"

- If yes: move the file from wiki/queries/ to wiki/, update frontmatter status from filed to promoted, and append to log.md: ## [YYYY-MM-DD] promote | <slug> Promoted query answer to concept page.

  1. Append to log.md: ## [YYYY-MM-DD] query | <question-slug> Answered question. Referenced N pages. Filed to queries/<slug>.md.
  2. Commit: git -C ~/ObsidianVault add "03-Resources/<wiki-name>/" && git -C ~/ObsidianVault commit -m "query: <slug>"

lint

Audit wiki integrity and fix issues.

Steps

  1. Read all files in wiki/.
  2. Build a link graph: for each [[wikilink]] on each page, record the edge (source → target).
  3. Run deterministic lint script if available: python3 "${CLAUDE_PLUGIN_ROOT}/scripts/lint-wiki.py" <wiki-root>/wiki/
  4. Report and fix: Check Action Orphan pages (no inbound links) List them. Suggest adding links from related pages. Dead links ([[wikilinks]] to nonexistent files) Create stub pages with appropriate template. Unlinked concept mentions Scan pages for proper nouns and technical terms appearing in prose without [[wikilinks]]. If a corresponding page exists, add the wikilink at first mention. If no page exists, flag as a candidate for a new page. Contradictions Scan for [!WARNING] markers. List them. Missing "Counter-Arguments and Gaps" sections Add empty ## Counter-Arguments and Gaps section. Stale pages Flag pages with status: stale in frontmatter. Index drift Compare index.md entries vs actual files. Add missing, remove dead.
  5. Suggest growth opportunities: Based on the wiki's current content and the gaps found in step 4, generate:

- 3-5 questions the wiki cannot yet answer well (candidates for wiki query) - 2-3 topic areas or sources that would most strengthen the wiki

  1. Write lint report to outputs/reports/YYYY-MM-DD-lint.md: # Lint Report — YYYY-MM-DD **Wiki:** <name> | **Issues found:** N | **Fixed:** M ## Issues <full issue table from step 4> ## Next Steps <growth suggestions from step 5>
  2. Append to log.md: ## [YYYY-MM-DD] lint | N issues found, M fixed <summary of issues>
  3. Commit: git -C ~/ObsidianVault commit -am "lint: YYYY-MM-DD"

remove <name>

Delete a wiki and all its contents.

Steps

  1. Resolve wiki path: ~/ObsidianVault/03-Resources/<name>/
  2. Verify it exists. If not, abort: "Wiki '' does not exist."
  3. Confirm with user: List the directory contents and ask "This will permanently delete the '' wiki and all its contents. Proceed? (y/n)"
  4. Remove qmd collection (if qmd available): "${QMD}" collection remove <name>
  5. Remove from git and filesystem: git -C ~/ObsidianVault rm -rf "03-Resources/<name>/" && git -C ~/ObsidianVault commit -m "remove: <name> wiki"
  6. Confirm: "Wiki '' has been removed."

Error Handling

Handle these failure modes gracefully:

SituationAction
No active wiki foundList available wikis in ~/ObsidianVault/03-Resources/*/wiki. Suggest wiki init <name> if none exist.
qmd not availableFall back to wiki/index.md for search. Warn: "qmd unavailable — using index.md fallback."
Network error on URL ingestRetry once. If still failing, report the error and suggest saving content manually to raw/articles/.
Git commit failsWarn: "Git commit failed:. Changes are saved but not committed." Continue with remaining steps.
Wiki already exists (on init)Abort with message referencing wiki remove.
Raw source too large (>50KB)Warn: "Large source detected. Entity extraction may be incomplete. Consider splitting." Proceed anyway.
log.md missingCreate fresh log.md from template at topic root. Warn: "log.md was missing — created a new one."
No uncompiled sources (on compile)Report: "All sources are already compiled. Nothing to do." Stop.
qmd collection not foundWarn and continue without search indexing.

Templates

Used by the init operation. Apply verbatim, replacing <name> with the wiki name.

CLAUDE.md

# <name> Wiki Schema

## Directory Layout
- raw/              -- immutable source drops. Never edit files here.
- raw/articles/     -- text source documents (articles, papers, transcripts).
- raw/attachments/  -- images and binary attachments.
- wiki/             -- LLM-owned pages. You have full write access here.
- wiki/index.md     -- catalog. Read this FIRST before opening any other page.
- wiki/queries/     -- filed query answers. Promote to wiki/ when durable.
- outputs/reports/  -- dated lint reports and other artifacts.
- log.md            -- append-only operation log. Never edit existing entries.

## Entity Types and Templates

### concept.md
---
date: YYYY-MM-DD
tags: [domain]
type: concept
status: active
---
# Concept Name
<one-paragraph summary>

## Details
...

## See Also
- [[related-concept]]

## Counter-Arguments and Gaps
...

### person.md
---
date: YYYY-MM-DD
tags: [domain, person]
type: person
status: active
---
# Person Name
Role / affiliation.

## Key Contributions
...

## See Also
- [[related-concept]]

### source-summary.md
---
date: YYYY-MM-DD
tags: [domain]
type: source-summary
source-url: https://...
---
# Source Title
One-paragraph summary.

## Key Points
...

## Entities Mentioned
- [[person-or-concept]]

## Slides
To export as a Marp slide deck, add `marp: true` to frontmatter and run:
  "${MARP}" wiki/<filename>.md -o output.html

### query-output.md
---
date: YYYY-MM-DD
tags: [domain]
type: query-output
question: "<original question>"
status: filed
---
# <Question as title>
<synthesized answer>

## Sources
- [[page-1]]
- [[page-2]]

## Naming Conventions
- All filenames: lowercase-kebab-case.md
- Wikilinks: [[filename-without-extension]]
- Never use standard markdown links for internal links

## Log Format
Append to log.md after every operation. Format:
  ## [YYYY-MM-DD] <operation> | <title>
  <one-line description>

Operations: ingest | compile | query | lint | promote | remove

## Index Format
wiki/index.md is a human- and LLM-readable catalog. Format:
  ## Domain Name
  - [[page-name]] -- one-line description (YYYY-MM-DD)

Keep entries under 80 chars. Update after every ingest.

## Cross-Reference Rules
- Every page must link to at least one other page when content warrants it
- When creating or updating a concept page, scan index.md for related entities and add [[wikilinks]]
- Flag contradictions inline: > [!WARNING] Contradiction with [[other-page]]

## Ingest Rules
1. Acquire the source (URL or file)
2. Classify the source type
3. Save to raw/articles/ with frontmatter (compiled: false)
4. Append to log.md
5. Commit
Ingest does NOT create wiki pages. Use compile for that.

## Compile Rules
1. Identify uncompiled raw sources (no matching source-summary in wiki/)
2. For each source: write source-summary, extract entities, create/update pages
3. Backlink audit: grep existing pages for mentions of new titles
4. Update wiki/index.md
5. Append to log.md
6. Commit
One source typically touches 5-15 pages. This is normal.

## Query Rules
1. Read wiki/index.md first
2. Open relevant pages
3. Synthesize answer with [[wikilinks]] as citations
4. Always file answer to wiki/queries/ (mandatory, no prompt)
5. Offer promotion to wiki/ as a concept page (y/n)
6. Append to log.md (both query and optional promote events)
7. Commit changes

## Lint Rules
Scan all pages in wiki/ and report:
- Contradictions between pages
- Orphan pages (no inbound [[links]])
- Pages with status: stale older than 90 days
- Missing Counter-Arguments and Gaps section
- Index entries pointing to missing files
After fixing, append to log.md and commit.

.gitignore

.DS_Store
*.sqlite
*.sqlite-wal
*.sqlite-shm

qmd.yml

collections:
  <name>:
    path: ./wiki
    pattern: "**/*.md"

wiki/index.md

# <name> Wiki Index

Last updated: YYYY-MM-DD

<!-- Add entries after each ingest. Format:
## Domain
- [[page-name]] -- description (YYYY-MM-DD)
-->

log.md

# <name> Wiki Log

<!-- Append only. Never edit existing entries. Format:
## [YYYY-MM-DD] ingest | Title
One-line description.
-->

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.32%
按下载量换算29

Claude

27.69%
按下载量换算22

Cursor

17.93%
按下载量换算14

Gemini CLI

8.81%
按下载量换算7

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills