From hypo
Ingests external sources (URLs, files, command output) into a wiki, creating citable source-summary pages. Useful for capturing and synthesizing external knowledge for reuse.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hypo:ingestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running `/hypo:ingest`. Add a new source document to `sources/` and create (or update) its corresponding `source-summary` page under `pages/`.
You are running /hypo:ingest. Add a new source document to sources/ and create (or update) its corresponding source-summary page under pages/.
sources/ are missing a source-summary pagesources/Bundled scripts here run via ${CLAUDE_PLUGIN_ROOT}/scripts/. To resolve that package root: if ${CLAUDE_PLUGIN_ROOT} is already an absolute path, use it; otherwise read pkgRoot from ~/.claude/hypo-pkg.json (only when non-empty and the target script exists under it); otherwise use the hypo@hypomnema (or legacy hypomnema@hypomnema) installPath in ~/.claude/plugins/installed_plugins.json; if none resolve, stop and tell the user to run hypomnema upgrade --apply or reinstall instead of guessing the cache layout.
If the user specified a wiki directory, pass it as --hypo-dir="<path>". Otherwise omit the flag and the script resolves the wiki root automatically via HYPO_DIR → hypo-config.md scan → ~/hypomnema.
node ${CLAUDE_PLUGIN_ROOT}/scripts/ingest.mjs [--hypo-dir="<path>"] [--json]
Options:
--json — output results as JSON (useful for tooling)Show the output verbatim.
.hypoignore)Before touching any source content, refuse to ingest secrets (.env, SSH keys, credentials). Run the guard for both the input path and the destination path:
If the user provided a file path, check it (use an absolute path):
node ${CLAUDE_PLUGIN_ROOT}/scripts/ingest.mjs [--hypo-dir="<path>"] --check="<absolute-input-path>"
Always check the destination sources/<slug>.<ext>:
node ${CLAUDE_PLUGIN_ROOT}/scripts/ingest.mjs [--hypo-dir="<path>"] --check="sources/<slug>.<ext>"
If either command exits non-zero, stop: surface the Refused: ... message to the user and do not download, read, or save the source. The slug check matters because a user could rename a .env to an innocuous slug — the destination must still be blocked.
If the user provided a file or URL to ingest:
<wiki-root>/sources/<slug>.<ext> (e.g., sources/2026-05-07-article-title.md).If no file was provided:
List un-ingested sources from the script output and ask which one to process now.
For the chosen source, read its content and create pages/<slug>.md with the following frontmatter:
---
title: <descriptive title>
type: source-summary
source: <filename>
tags: [<relevant tags>]
updated: <today YYYY-MM-DD>
evidence_strength: direct # or inferred
---
Then write a concise summary:
Cross-reference existing pages with [[wikilink]] syntax where relevant.
Append an ingest entry to <wiki-root>/log.md:
## <YYYY-MM-DD> ingest — <slug>
- source: sources/<filename>
- summary: pages/<slug>.md
- tags: <tags>
Citation convention. When you reference a wiki page in your response, link it as
[[page-slug]]. The observability audit counts citations toward the autonomy score — see [[pages/observability/_index]] (run/hypo:auditto inspect).
npx claudepluginhub sk-lim19f/hypomnema --plugin hypoIngests new sources (papers, articles, URLs, files, transcripts) into a wiki: reads content, surfaces takeaways, writes summary pages, updates entities/concepts/index/log.
Ingests source files from raw/ into wiki: reads content, discusses takeaways, creates summary pages for sources/entities/concepts, updates index/log.
Ingest new sources into the LLM Wiki. Reads unprocessed files from raw/, docs/, and notes/, creates source summaries, updates entity/concept pages, maintains cross-references, and updates the index and log. Use when new files have been added.