Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/cwensel/arcaneum/corpusgit clone --depth 1 https://github.com/cwensel/arcaneumWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/cwensel/arcaneum/corpus)<a href="https://agentmods.dev/commands/cwensel/arcaneum/corpus"><img src="https://agentmods.dev/badge/commands/cwensel/arcaneum/corpus.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00008 | $0.01766 |
| Opus 5 | $0.00004 | $0.00883 |
| Sonnet 5 | $0.00002 | $0.00353 |
| Haiku 4.5 | $0.00001 | $0.00177 |
Grade A, and why
corpus scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 203 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Recommended for most users. Manage corpora that combine both vector search (Qdrant) and full-text search (MeiliSearch) for the same content.
IMPORTANT: You must specify a subcommand.
Subcommands:
create: Create both Qdrant collection and MeiliSearch indexlist: List all corpora with parity statusupdate: Update corpus metadata without reindexingdelete: Delete both Qdrant collection and MeiliSearch indexsync: Index directory to both systems simultaneouslyrepair: Re-index incomplete or garbled files (text quality detection)hook: Install a git hook that auto-syncs a repo on every commitinfo: Show corpus details (both systems)items: List indexed items with parity statusparity: Check and restore parity between systemsverify: Verify corpus health across both Qdrant and MeiliSearch
Common Options:
- --json: Output in JSON format
- --details: Show extended list columns, including exact item counts
Create Options:
- name: Corpus name (required)
- --type: Corpus type - code, pdf, or markdown (required)
- --models: Embedding models, comma-separated (default inferred from --type: arctic-m for pdf/markdown, jina-code for code)
Delete Options:
- name: Corpus name (required)
- --confirm: Skip confirmation prompt
- --json: Output in JSON format
Sync Options:
- name: Corpus name (required, first positional argument)
- directories: One or more directory paths to index (required)
- --models: Embedding models (default: use corpus metadata)
- --file-types: File extensions to index (e.g., .py,.md)
- --gpu: Opt into accelerator embedding (CPU is the stable default)
- --changed-since REV: Sync only what a git commit or range touched (e.g. HEAD, ORIG_HEAD..HEAD), removing the files it deleted
- --no-wait: Fail instead of queueing when another sync of this corpus is running
- --lock-timeout: Seconds to wait for the corpus write lock (default: 600)
Repair Options:
- name: Corpus name (required)
- --quality-threshold: Text quality threshold (0.0-1.0, default: 0.9)
- --dry-run: Preview what would be repaired without making changes
- --gpu: Opt into accelerator embedding (CPU is the stable default)
- --verbose: Show per-file quality scores and details
- --json: Output in JSON format
Hook Options:
hook takes its own subcommand: install, uninstall, or status.
- name: Corpus name. Omit it on
installto be walked through picking or creating a corpus, choosing hook points, and backfilling. - --repo: Repository to act on (default: current directory)
- --hook: Hook point - post-commit (default), post-merge, post-checkout, or post-rewrite. On uninstall, defaults to all of them.
- --no-spawn: (install) Queue touched paths but start no background worker
- --yes/-y: (install) Take the defaults instead of prompting
- --service: Also register/remove an OS watcher that drains the spool after a reboot or a failed spawn
- --json: Output in JSON format
Info/Items Options:
- name: Corpus name (required)
- --json: Output in JSON format
Parity Options:
- name: Corpus name (optional - if omitted, processes all corpora)
- --dry-run: Preview what would be backfilled without making changes
- --verify: Verify chunk counts match between systems
- --repair-metadata: Update MeiliSearch docs with missing git metadata (code corpora)
- --create-missing: Create missing MeiliSearch indexes for qdrant_only corpora
- --confirm: Skip confirmation prompt when processing all corpora
- --verbose: Show detailed progress
- --json: Output in JSON format
Examples:
/corpus create MyDocs --type pdf
/corpus create MyDocsQuality --type pdf --models stella
/corpus sync MyDocs ~/Documents
/corpus create CodeBase --type code
/corpus sync CodeBase ~/projects --file-types .py,.js,.md
/corpus sync CodeBase ~/project1 ~/project2 ~/project3
/corpus repair PapersFast
/corpus repair PapersFast --dry-run
/corpus repair PapersFast --quality-threshold 0.5
/corpus sync CodeBase --changed-since HEAD
/corpus hook install
/corpus hook install CodeBase
/corpus hook install CodeBase --hook post-merge
/corpus hook status
/corpus hook uninstall CodeBase
/corpus info MyDocs
/corpus items CodeBase
/corpus parity CodeBase --verify
/corpus parity CodeBase --repair-metadata
/corpus parity --create-missing --dry-run
/corpus parity --create-missing --confirm
/corpus delete OldCorpus
/corpus delete OldCorpus --confirm
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 203 lines · 8 tokens per session scan A bba8dee4e3ea
corpus is a command published in the GitHub repository cwensel/arcaneum (7 stars, last pushed 8d ago), licensed MIT. It adds 8 tokens to every session and 1,766 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
rag-publish-requirements
Command "rag-publish-requirements" from lucky-aeon/AgentX, covering rag 发布功能需求规划, 1. 核心设计原则, 1.1 快照机制设计, 1.2 审核机制设计 and 2. 数据库设计.
data
Create example data in a specific domain and upload to a Weaviate collection.
ingest
Manually add knowledge to the Weaviate store.
query
Query Weaviate using natural language (Query Agent search mode).
laravel-vector-search
Add semantic/vector search with pgvector (Laravel 13+); use the laravel:vector-search skill exactly as written.
vector-search
Generate Oracle Database 23ai Vector Search implementation.