ingest
Skill30 starsChanged 7 months agoMITView on GitHub
Populate the gnosis-mcp knowledge base — from local files, git history, or a crawled website. Handles the full matrix of flags (--force, --prune, --wipe, --embed, --include-crawled) in one place.
- Installs packages
88 other projects use a version of this.
Adopted by
Most recently taken up by
- zaynram/scholartheir own version, first seen Nov 8, 2026
- silouone/skillstheir own version, first seen Nov 8, 2026
- hydra-db/hydradb-claude-codetheir own version, first seen Nov 8, 2026
- fjwood69/moritheir own version, first seen Nov 8, 2026
- zedarvates/frugal-skillstheir own version, first seen Nov 8, 2026
- Mharbulous/probanda-devtheir own version, first seen Nov 8, 2026
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.
LambenthanSkilldaily-arxiv
每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新
Also in 5 projects that use this
LambenthanSkillexp-eval
实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges
Also in 5 projects that use this
phanghonghaoSkillposter
HTML/CSS A4 海报生成。从沙龙/活动 Markdown 文件生成科技风 A4 海报 PDF/PNG。Use when user mentions: poster, 海报, 海报生成, make poster, generate poster, 活动海报, 沙龙海报.
Also in 5 projects that use this
skyllwtSkillexp-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
skyllwtSkillexp-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
Other versions88 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 88
- garrytan/gbrain★ 32ksame name
- skyllwt/OmegaWiki★ 1.7ksame name
- DAIR-AutoResearch/AutoSci★ 1.7ksame name
- PKU-DAIR/AutoSci★ 1.7ksame name
- skyllwt/AutoSci★ 1.7ksame name
- suboss87/FDEOps★ 940same name
- coreyhaines31/makerskills★ 893same name
- jason-effi-lab/karpathy-llm-wiki-vault★ 718same name
- ZimoLiao/scholaraio★ 585same name
- egregore-labs/egregore★ 293same name
78 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 72 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Default entry point. Handles .md, .txt, .ipynb, .toml, .csv, .json (+ .rst / .pdf if those extras are installed).
- Distinctive: line 42
Default is 2000 characters (~600 tokens) — peak of the Feb 2026 sweep on a real dev-docs corpus.
- Very specific: line 53
If you're unsure, run /gnosis:tune to sweep sizes against your own golden queries.
- Very specific: line 209
Always run gnosis-mcp stats (or /gnosis:status stats) after a big ingest to confirm:
- Distinctive: line 215
No vec0 table errors
“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.
Files
Ingest
One skill that covers every way to get content into gnosis-mcp. Routes
based on $ARGUMENTS:
- Path to a directory / file → local file ingest
git <repo>→ git-history ingestcrawl <url>→ web-crawl ingestreingest→ full reset + re-ingest from the default pathprune <path>→ delete DB chunks whose source is gone
Action: $ARGUMENTS
ingest <path> — local files
Default entry point. Handles .md, .txt, .ipynb, .toml, .csv,
.json (+ .rst / .pdf if those extras are installed).
First-time ingest
gnosis-mcp ingest ./docs --embed--embedruns the bundled ONNX embedder (requires[embeddings]extra). Without it you get keyword-only search — usually enough for dev-doc corpora (see bench-experiments), but--embedcosts nothing on a first ingest and enables hybrid later if you want it.- Incremental: every file's content hash is stored, so re-running only
processes changed files. Use
--forceto re-ingest regardless.
Chunk size
Default is 2000 characters (~600 tokens) — peak of the Feb 2026 sweep on a real dev-docs corpus. Override per-ingest or globally:
# This invocation only
GNOSIS_MCP_CHUNK_SIZE=1500 gnosis-mcp ingest ./docs --embed
# Persistent (put in shell profile)
export GNOSIS_MCP_CHUNK_SIZE=3000 # long-form blogs / ADRsIf you're unsure, run /gnosis:tune to sweep sizes against your own
golden queries.
Reorganized your knowledge folder
Files moved, deleted, renamed. Pick one:
# Safest: re-ingest + drop chunks for files that no longer exist
gnosis-mcp ingest ./docs --embed --prune
# Nuclear: drop everything first, then re-ingest
gnosis-mcp ingest ./docs --embed --wipe
# Preview what prune would delete
gnosis-mcp prune ./docs --dry-runBy default --prune leaves crawled URLs alone (since those don't
correspond to local files). Add --include-crawled if you want those
gone too.
ingest git <repo> — git commit history
Indexes each file's commit history as a searchable markdown document. Lets your agent answer "why does this code exist" queries.
gnosis-mcp ingest-git /path/to/repo --since 6m --embedCommon flags:
| Flag | Effect |
--since 6m / --since 2025-01-01 | Window of commits to include |
--until 2026-03-01 | Upper bound |
--author "alice@" | Filter by author name or email substring |
--max-commits 20 | Commits per file, most recent first (default 10) |
--include "src/**" | Glob filter on touched files |
--exclude "*.lock,package.json" | Skip noisy files |
--merges | Include merge commits (excluded by default; takes no value) |
Each indexed doc's file_path is git-history/<original-path>.md.
Cross-file co-edits generate git_co_change edges; source-file
references get git_ref. Query them via
mcp__gnosis__search_git_history (or filter mcp__gnosis__get_related
by relation_type=git_co_change).
Re-run ingest-git whenever your history grows past the window you
already indexed.
ingest crawl <url> — web crawl
Indexes a documentation website. Requires the [web] extra
(pip install 'gnosis-mcp[web]').
# Preferred — discover URLs from sitemap.xml
gnosis-mcp crawl https://docs.stripe.com --sitemap --embed
# No sitemap? BFS link crawl, one hop deep
gnosis-mcp crawl https://docs.example.com --depth 1 --embed
# Subset only
gnosis-mcp crawl https://docs.example.com --sitemap \
--include "/docs/api/**" --exclude "*.pdf"
# Preview, don't fetch
gnosis-mcp crawl https://docs.example.com --dry-runOther flags:
| Flag | Effect |
--max-urls 5000 | Maximum URLs to crawl (default 5000) |
--depth 2 | BFS link-crawl depth (default 1; ignored with --sitemap) |
--force | Ignore the ETag / Last-Modified / hash cache |
Behaviour:
- Respects
robots.txt. A same-host redirect on/robots.txtis treated as disallow (prevents spoofing). - Caches ETag + Last-Modified + content hash at
~/.local/share/gnosis-mcp/crawl-cache.json— subsequent crawls issue conditional GETs and skip unchanged pages. - Extracts markdown via trafilatura with a 30 s per-page timeout
(
GNOSIS_MCP_CRAWL_EXTRACT_TIMEOUT_S).
Vendor docs strategy: crawl them once, commit the indexed SQLite to version control, and you have offline, searchable vendor docs alongside your private docs. No Context7 subscription required.
ingest reingest — full reset
Drop everything, reinitialise, reindex. Use when:
- You changed embedder (
GNOSIS_MCP_EMBED_MODELor_EMBED_DIM) — old vectors are now incompatible - You want to force a clean baseline before a benchmark
- Schema drifted (rare, but
init-dbis idempotent so rerunning is safe)
gnosis-mcp init-db # ensure schema is current
gnosis-mcp ingest ./docs --embed --wipe # delete everything + reingest
gnosis-mcp stats # confirmingest prune <path> — dead-chunk cleanup
Standalone prune, independent of re-ingest.
# What would go
gnosis-mcp prune ./docs --dry-run
# Delete chunks for files no longer on disk under ./docs
gnosis-mcp prune ./docs
# Also drop crawled URLs (normally spared)
gnosis-mcp prune ./docs --include-crawledSafer than --wipe because it only deletes rows whose original
file_path resolved as a local file under the given root AND is now
missing. Crawled URLs, git-history docs (git-history/*), and any
path outside the root are untouched unless you explicitly opt in.
Watch mode (server-side auto-reingest)
Skip the manual re-run loop — the server can watch a folder and re-ingest on file changes.
gnosis-mcp serve --watch ./docs --transport streamable-http --restMtime polling + debounce. Works on every OS, no fsnotify dependency. Ideal for docs-as-code repos where you push a doc and want it searchable by your editor within a few seconds.
Verify afterwards
Always run gnosis-mcp stats (or /gnosis:status stats) after a big
ingest to confirm:
- Doc count matches expectations
- Chunk count is sensible (~1-5 chunks per doc for ~2000-char chunk size)
- Embeddings coverage is 100 % if you used
--embed - No vec0 table errors
$ gnosis-mcp stats
Documents: 558
Chunks: 1,742
Embeddings: 1,742 / 1,742 (100.0 %)
Last access log entry: 2026-04-18 07:12 UTC
Backend: sqliteSee also
/gnosis:tune— chunk-size sweep on your own corpus/gnosis:status— connectivity + DB health/gnosis:search— query the index you just populated- config reference for every
GNOSIS_MCP_*env var - CLI reference for every flag
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
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.

