agentleFS
tograftograf/sidebrain/.claude/skills/ingest/SKILL.md

ingest

Skill1 starsChanged 5 months agoMITView on GitHub

Ingest a source (PDF, EPUB, image, article, transcript) into the vault. Read the file, summarize it into a source note under 04-Resources/<Topic>/, optionally split key concepts into atomic linked notes, wire up wikilinks, and log the ingest in today's daily note. Works with zero extra tools for small PDFs and images; uses poppler/pandoc/tesseract for big books, e-books, and scans when installed. Use when the user drops a file into the vault or asks to ingest / add / process a source, article, book, paper, or screenshot.

  • Installs packages

88 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use daily-arxiv, exp-eval and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • LambenthanSkill

    daily-arxiv

    每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新

    Also in 5 projects that use this

  • LambenthanSkill

    exp-eval

    实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges

    Also in 5 projects that use this

  • phanghonghaoSkill

    poster

    HTML/CSS A4 海报生成。从沙龙/活动 Markdown 文件生成科技风 A4 海报 PDF/PNG。Use when user mentions: poster, 海报, 海报生成, make poster, generate poster, 活动海报, 沙龙海报.

    Also in 5 projects that use this

  • skyllwtSkill

    exp-pilot-eval

    Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.

    Also in 4 projects that use this

  • skyllwtSkill

    exp-pilot-run

    Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.

    Also in 4 projects that use this

  • +6 more from Lambenthan
  • +1 more from skyllwt

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 10 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 72 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Look folders up there by role — never trust the literal defaults on a renamed or non-English vault.

    line 16
  2. Distinctive:

    Never modify, rename, or delete it.

    line 22
  3. Very specific:

    Identify the source: If the user dropped a file without a path, look in 01-Inbox/ and 07-Attachments/ for recent additions (Glob).

    line 31
  4. Distinctive:

    Probe before reading: Use the extraction strategy table below — small files are read directly, large ones are sliced.

    line 35
  5. Distinctive:

    Small PDFs (≲ 50 pages): Read the file directly — no tools needed.

    line 82
  6. Distinctive:

    Delete the temp extract when done.

    line 91
  7. Distinctive:

    Images (screenshots, charts, diagrams, photos): Read the image directly — the Read tool renders it visually.

    line 100
  8. Distinctive:

    Markdown / text / transcripts: Read directly; for transcripts treat technical terms, names, and numbers as low-confidence — verify or mark …

    line 106
  9. Distinctive:

    Every claim in concept notes ties back to the source note via wikilink — distinguish what the source *claims* from established fact.

    line 111
  10. Distinctive:

    Keep concept notes atomic (one idea).

    line 113
  11. Distinctive:

    Never fabricate content from unreadable input (garbled OCR, broken extraction) — flag it instead.

    line 114

“Common” is measured: kept by at least 6 in 10 of the 72 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

ingest — add a source to the vault

Turn an external source into vault knowledge: one source note that summarizes it, plus — for substantial sources — atomic concept notes, all connected with wikilinks. Follow the vault conventions in CLAUDE.md (frontmatter, naming, todo rule, folder icons); do not restate them here.

Folder paths in this skill (04-Resources/, 05-Daily-Notes/, …) are the template defaults — the authoritative paths live in the "Folder roles" table in CLAUDE.md's Vault structure section. Look folders up there by role — never trust the literal defaults on a renamed or non-English vault.

Where things go

  • The raw file stays where it is (usually 07-Attachments/ or wherever the user dropped it). Never modify, rename, or delete it.
  • The source note goes to 04-Resources/<Topic>/<Readable Source Name>.md. One source note per source. If no fitting topic folder exists, propose creating one (hyphenated name, plus its icon entry per the vault rules) and confirm.
  • Atomic concept notes (only for substantial sources) go into the same topic folder, one concept per note, each linking back to the source note.

Steps

  1. Identify the source. If the user dropped a file without a path, look in 01-Inbox/ and 07-Attachments/ for recent additions (Glob). Determine the type: PDF, EPUB, image, markdown/ text, or transcript.
  2. Probe before reading. Use the extraction strategy table below — small files are read directly, large ones are sliced. Never load a whole book into context.
  3. Surface the key takeaways and confirm scope before writing. Tell the user what the source contains, propose: the target topic folder, the source-note name, which concepts (if any) deserve atomic notes, and what you'd deliberately skip. Wait for the okay. Keep this lightweight for small sources (a screenshot needs one sentence, not a plan).
  4. Write the source note with frontmatter (tags: [resource, source], status, created), containing: a link or embed of the raw file (![[file.pdf]] / ![[screenshot.png]]), what the source is (author/origin/date if known), the summary, and a "Key concepts" section linking the atomic notes. Mark interpretation as interpretation — reading a chart or diagram is your inference, not ground truth ("the screenshot shows …").
  5. Write the atomic concept notes (if confirmed): one concept per note, each citing the source note via wikilink. Search the vault first (Grep, or qmd if installed) so you extend existing notes rather than duplicate them.
  6. Wire wikilinks both directions so nothing is orphaned: source note → concept notes, concept notes → source note, and links into related existing notes (projects, areas) where they genuinely connect.
  7. Update the topic index. Each resource topic's starter note (04-Resources/<Topic>/<Topic>.md) has a ## Index section — the topic's catalog. Add a one-line entry there — [[wikilink]] plus a half-sentence summary — for the new source note and each new concept note. Always that section, never an improvised heading: query/research read exactly ## Index, and vault-lint checks it for drift.
  8. Log the ingest in today's daily note (05-Daily-Notes/YYYY-MM-DD.md, create it if missing): one line — what was ingested, linked to the source note. Any follow-up todos obey the vault's two-place todo rule.
  9. Re-index if qmd is installed (command -v qmd): run qmd update && qmd embed. If qmd is not installed, skip silently — it's optional.

Extraction strategy by source type

Probe for tools with command -v <tool> — never assume. When a needed tool is missing, tell the user exactly what to install for their platform and offer the fallback:

PlatformInstall command
Debian/Ubuntu/WSLsudo apt install poppler-utils pandoc tesseract-ocr
macOSbrew install poppler pandoc tesseract
Windows (native)winget install oschwartz10612.Poppler JohnMacFarlane.Pandoc UB-Mannheim.TesseractOCR
Archsudo pacman -S poppler pandoc-cli tesseract tesseract-data-eng

Small PDFs (≲ 50 pages): Read the file directly — no tools needed.

Large PDFs / books: A 500-page book is ~300k+ tokens — never read it whole.

  1. pdfinfo "<file>" for page count; sniff the text layer: pdftotext -f 1 -l 3 "<file>" -. Empty/garbage output ⇒ scanned PDF → OCR route (below).
  2. Extract once to a temp path: pdftotext -layout "<file>" /tmp/<slug>.txt.
  3. Map chapters (PDF outline or grep headings), then summarize section by section (Read with offset/limit on the temp file). For very large works, scope each pass to a coherent unit and record what's deferred in the source note under "Not yet ingested", so a later pass can resume.
  4. Delete the temp extract when done.
  5. Without poppler: offer to ingest the table of contents + selected chapters via targeted Read calls, or ask the user to install poppler for the full pass.

EPUB / e-books: Convert once with pandoc, then slice like a large PDF: pandoc "<file>.epub" -t gfm -o /tmp/<slug>.md. Fallback without pandoc: an .epub is a ZIP of XHTML — unzip -o "<file>.epub" -d /tmp/<slug>-epub and Read the XHTML files (order via the spine in content.opf). Messier — prefer pandoc.

Images (screenshots, charts, diagrams, photos): Read the image directly — the Read tool renders it visually; no OCR needed for the general case. Embed the original in the source note (![[file.png]]) — the image is the evidence, the prose is the extraction. Switch to real OCR (tesseract <img> stdout) only for document scans of dense text or many images at once; for scanned PDFs rasterize first: pdftoppm -png <file> /tmp/<slug> → tesseract.

Markdown / text / transcripts: Read directly; for transcripts treat technical terms, names, and numbers as low-confidence — verify or mark as uncertain.

Quality bar

  • Every claim in concept notes ties back to the source note via wikilink — distinguish what the source claims from established fact.
  • Keep concept notes atomic (one idea). If one starts covering two ideas, split and cross-link.
  • Never fabricate content from unreadable input (garbled OCR, broken extraction) — flag it instead.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.