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

wiki-ingest维基收录

Agent Skill

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

总安装

1,482

周安装

63

GitHub Stars

3,698

下载量

519
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/agricidaniel/claude-obsidian --skill wiki-ingest

简介

wiki-ingest 负责将外部资料系统化录入知识库,建立交叉引用关系。

  • 要求使用 Obsidian Flavored Markdown 语法,正确书写 wikilinks 与 callouts。
  • 每次处理前检查 manifest 避免重复,确保增量更新一致性。
  • 输出覆盖 8–15 个关联页面,强调事实准确性与来源可追溯。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

wiki-ingest: Source Ingestion

Read the source. Write the wiki. Cross-reference everything. A single source typically touches 8-15 wiki pages.

Syntax standard: Write all Obsidian Markdown using proper Obsidian Flavored Markdown. Wikilinks as [[Note Name]], callouts as > [!type] Title, embeds as ![[file]], properties as YAML frontmatter. If the kepano/obsidian-skills plugin is installed, prefer its canonical obsidian-markdown skill for Obsidian syntax reference. Otherwise, follow the guidance in this skill.


Delta Tracking

Before ingesting any file, check .raw/.manifest.json to avoid re-processing unchanged sources.

# Check if manifest exists
[ -f .raw/.manifest.json ] && echo "exists" || echo "no manifest yet"

Manifest format (create if missing):

{
  "sources": {
    ".raw/articles/article-slug-2026-04-08.md": {
      "hash": "abc123",
      "ingested_at": "2026-04-08",
      "pages_created": ["wiki/sources/article-slug.md", "wiki/entities/Person.md"],
      "pages_updated": ["wiki/index.md"]
    }
  }
}

Before ingesting a file:

  1. Compute a hash: md5sum [file] | cut -d' ' -f1 (or sha256sum on Linux).
  2. Check if the path exists in .manifest.json with the same hash.
  3. If hash matches, skip. Report: "Already ingested (unchanged). Use force to re-ingest."
  4. If missing or hash differs, proceed with ingest.

After ingesting a file:

  1. Record {hash, ingested_at, pages_created, pages_updated} in .manifest.json.
  2. Write the updated manifest back.

Skip delta checking if the user says "force ingest" or "re-ingest".


URL Ingestion

Trigger: user passes a URL starting with https://.

Steps:

  1. Fetch the page using WebFetch.
  2. Clean (optional): if defuddle is available (which defuddle 2>/dev/null), run defuddle [url] to strip ads, nav, and clutter. Typically saves 40-60% tokens. Fall back to raw WebFetch output if not installed.
  3. Derive slug from the URL path (last segment, lowercased, spaces→hyphens, strip query strings).
  4. Save to .raw/articles/[slug]-[YYYY-MM-DD].md with a frontmatter header: --- source_url: [url] fetched: [YYYY-MM-DD] ---
  5. Proceed with Single Source Ingest starting at step 2 (file is now in .raw/).

Image / Vision Ingestion

Trigger: user passes an image file path (.png, .jpg, .jpeg, .gif, .webp, .svg, .avif).

Steps:

  1. Read the image file using the Read tool. Claude can process images natively.
  2. Describe the image contents: extract all text (OCR), identify key concepts, entities, diagrams, and data visible in the image.
  3. Save the description to .raw/images/[slug]-[YYYY-MM-DD].md: --- source_type: image original_file: [original path] fetched: YYYY-MM-DD --- # Image: [slug] [Full description of image contents, transcribed text, entities visible, etc.]
  4. Copy the image to _attachments/images/[slug].[ext] if it's not already in the vault.
  5. Proceed with Single Source Ingest on the saved description file.

Use cases: whiteboard photos, screenshots, diagrams, infographics, document scans.


Single Source Ingest

Trigger: user drops a file into .raw/ or pastes content.

Steps:

  1. Read the source completely. Do not skim.
  2. Discuss key takeaways with the user. Ask: "What should I emphasize? How granular?" Skip this if the user says "just ingest it."
  3. Create source summary in wiki/sources/. Use the source frontmatter schema from references/frontmatter.md. Assign an address per the Address Assignment section below.
  4. Create or update entity pages for every person, org, product, and repo mentioned. One page per entity. Assign addresses to new entity pages.
  5. Create or update concept pages for significant ideas and frameworks. Assign addresses to new concept pages.
  6. Update relevant domain page(s) and their _index.md sub-indexes.
  7. Update wiki/overview.md if the big picture changed.
  8. Update wiki/index.md. Add entries for all new pages.
  9. Update wiki/hot.md with this ingest's context.
  10. Append to wiki/log.md (new entries at the TOP): ` ## [YYYY-MM-DD] ingest | Source Title - Source: .raw/articles/filename.md - Summary: [[Source Title]] - Pages created: [[Page 1]], [[Page 2]] - Pages updated: [[Page 3]], [[Page 4]] - Key insight: One sentence on what is new. `
  11. Check for contradictions. If new info conflicts with existing pages, add > [!contradiction] callouts on both pages.

Batch Ingest

Trigger: user drops multiple files or says "ingest all of these."

Steps:

  1. List all files to process. Confirm with user before starting.
  2. Process each source following the single ingest flow. Defer cross-referencing between sources until step 3.
  3. After all sources: do a cross-reference pass. Look for connections between the newly ingested sources.
  4. Update index, hot cache, and log once at the end (not per-source).
  5. Report: "Processed N sources. Created X pages, updated Y pages. Here are the key connections I found."

Batch ingest is less interactive. For 30+ sources, expect significant processing time. Check in with the user after every 10 sources.


Context Window Discipline

Token budget matters. Follow these rules during ingest:

  • Read wiki/hot.md first. If it contains the relevant context, don't re-read full pages.
  • Read wiki/index.md to find existing pages before creating new ones.
  • Read only 3-5 existing pages per ingest. If you need 10+, you are reading too broadly.
  • Use PATCH for surgical edits. Never re-read an entire file just to update one field.
  • Keep wiki pages short. 100-300 lines max. If a page grows beyond 300 lines, split it.
  • Use search (/search/simple/) to find specific content without reading full pages.

Contradictions

[!note] Custom callout dependency The [!contradiction] callout type used below is a custom callout defined in .obsidian/snippets/vault-colors.css (auto-installed by /wiki scaffold). It renders with reddish-brown styling and an alert-triangle icon when the snippet is enabled. If the snippet is missing, Obsidian falls back to default callout styling, so the page still works without the visual flourish. See [[skills/wiki/references/css-snippets.md]] for the four custom callouts (contradiction, gap, key-insight, stale).

When new info contradicts an existing wiki page:

On the existing page, add:

> [!contradiction] Conflict with [[New Source]]
> [[Existing Page]] claims X. [[New Source]] says Y.
> Needs resolution. Check dates, context, and primary sources.

On the new source summary, reference it:

> [!contradiction] Contradicts [[Existing Page]]
> This source says Y, but existing wiki says X. See [[Existing Page]] for details.

Do not silently overwrite old claims. Flag and let the user decide.


What Not to Do

  • Source files under .raw/ are immutable. Do not modify the files that users drop there (articles, transcripts, images). The .raw/.manifest.json delta tracker and its address_map (DragonScale Mechanism 2) are the only files under .raw/ that wiki-ingest itself maintains. Treat every other file under .raw/ as read-only source content.
  • Do not create duplicate pages. Always check the index and search before creating.
  • Do not skip the log entry. Every ingest must be recorded.
  • Do not skip the hot cache update. It is what keeps future sessions fast.

Address Assignment (DragonScale Mechanism 2 MVP)

Opt-in feature. DragonScale address assignment runs only if scripts/allocate-address.sh is present AND .vault-meta/ exists. Otherwise, skip this entire section and proceed with ingest normally.

Feature detection (run at start of every ingest):

if [ -x ./scripts/allocate-address.sh ] && [ -d ./.vault-meta ]; then
  DRAGONSCALE_ADDRESSES=1
else
  DRAGONSCALE_ADDRESSES=0
fi

When DRAGONSCALE_ADDRESSES=0, pages are created without an address: frontmatter field, and wiki-lint's Address Validation section is skipped entirely (missing addresses are not flagged in any severity). This preserves default plugin behavior for vaults that have not adopted DragonScale.

When DRAGONSCALE_ADDRESSES=1, proceed with the rest of this section.


Every newly created non-meta wiki page gets a stable address in its frontmatter:

address: c-000042

Format: c-<6-digit-counter>. The c- prefix stands for "creation-order counter." Zero-padded.

Rollout baseline: 2026-04-23 (Phase 2 ship date). Pages with created: >= this date are post-rollout and MUST have an address (unless excluded below). Pages with created: earlier are legacy-exempt until a deliberate backfill pass assigns l-NNNNNN addresses.

Required tool: scripts/allocate-address.sh

Address allocation is delegated to an atomic Bash helper. The helper uses flock on .vault-meta/.address.lock to prevent read-use-increment races and recovers the counter by scanning existing frontmatter if the counter file is missing.

ADDR=$(./scripts/allocate-address.sh)
# ADDR is now e.g. "c-000042"; counter is already incremented

CRITICAL: never use the Write or Edit tool on .vault-meta/address-counter.txt. That would fire the PostToolUse hook, which runs git add wiki/.raw/ and can accidentally commit unrelated pending wiki changes under a generic message. Counter mutation is only permitted through the helper script (Bash tool).

Helper modes

  • ./scripts/allocate-address.sh — atomically reserves and returns the next address.
  • ./scripts/allocate-address.sh --peek — prints the next value without reserving (safe, read-only).
  • ./scripts/allocate-address.sh --rebuild — recomputes the counter from the highest observed c-NNNNNN in existing frontmatter. Never resets to 1 silently if pages already have addresses. Run this if the counter file is suspected corrupt.

Assignment procedure (per new page)

  1. Before writing a new non-meta page, call ./scripts/allocate-address.sh and capture the output.
  2. Include address: c-XXXXXX in the page's frontmatter.
  3. Record the path-to-address mapping in .raw/.manifest.json under a new top-level key address_map (see schema below).

address_map in .raw/.manifest.json

{
  "sources": { ... },
  "address_map": {
    "wiki/concepts/Example.md": "c-000042",
    "wiki/entities/Another.md": "c-000043"
  }
}

On re-ingest of the same source (whether by --force or a changed hash), always consult address_map first. If the target page path has a prior address, REUSE it. Do not allocate a new one.

On a page rename, the skill must update the address_map key (old path -> new path) while preserving the address value.

Exclusions (do NOT assign an address to)

  • Meta files: _index.md, index.md, log.md, hot.md, overview.md, dashboard.md, dashboard.base, Wiki Map.md, getting-started.md.
  • Fold pages under wiki/folds/ (they use their own deterministic fold_id).
  • Pre-rollout legacy pages (created: < 2026-04-23). Legacy pages get l-NNNNNN addresses only via a deliberate backfill operation.

Idempotency rules

  • If a page being (re)written already has an address: field in its current content, REUSE it. Do not allocate a new one.
  • If a source is re-ingested and address_map has a mapping for the target path, reuse that mapping.
  • If the source has been ingested before AND the target page has no address AND the page created: date is post-rollout, allocate an address and record it. This covers the case where an older ingest produced a page before Phase 2 rollout; the rollout cutoff still applies (pages dated pre-2026-04-23 stay legacy).

Concurrency policy

  • Single-writer only in Phase 2. Do not run parallel ingests from multiple Claude sessions or sub-agents that assign addresses. The flock in the helper prevents counter corruption but does not serialize page writes themselves.
  • Sub-agents (codex, general-purpose) that are dispatched for research or review MUST NOT call the allocator. They are read-only in this respect.
  • Multi-writer support is a deferred feature.

Batch ingest

Assign addresses sequentially during single-source-ingest for each source. Do not pre-reserve a block of counter values. The helper is cheap (one lock, one integer read/write).

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

33.13%
按下载量换算172

Claude

29.56%
按下载量换算153

Cursor

20.52%
按下载量换算106

Gemini CLI

8.47%
按下载量换算44

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

可疑

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills