Help us improve
Share bugs, ideas, or general feedback.
From Arcaneum
Searches indexed corpora using semantic (vector) or full-text (keyword) search via the arc CLI. Covers conceptual queries and exact-term lookups across collections, codebases, docs, and PDFs.
npx claudepluginhub cwensel/arcaneum --plugin arcHow this skill is triggered — by the user, by Claude, or both
Slash command
/arc:arc-searchThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
A corpus is dual-indexed: semantic search hits Qdrant, full-text search hits MeiliSearch.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
A corpus is dual-indexed: semantic search hits Qdrant, full-text search hits MeiliSearch. Both are first-class — pick the one that matches the query, and use both when unsure.
Use semantic when the query is:
Use text (full-text) when the query is:
When unsure, run BOTH and merge results. Full-text is cheap and often surfaces hits semantic misses (rare tokens, code symbols, exact error messages). Do not default to semantic alone.
arc collection list # show every corpus/collection
arc corpus info MyCorpus # inspect one corpus (both sides)
arc search semantic "QUERY" --corpus NAME [OPTIONS]
Options:
--corpus NAME — repeat for multi-corpus search (--corpus A --corpus B)--limit N — number of results (default small; raise for broad surveys)--offset N — pagination--score-threshold 0.0-1.0 — drop low-confidence hits--filter "key=value" or --filter '{"key":"value"}' — metadata filter--vector-name NAME — pick a specific embedding model (auto-detected otherwise)--json — structured output for parsing-v / --verbose — show scores and metadataarc search text "QUERY" --corpus NAME [OPTIONS]
Options:
--corpus NAME — repeat for multi-corpus search--limit N, --offset N — pagination--filter "key=value" or --filter '{"key":"value"}' — metadata filter--json, -v — same as semanticNote: full-text has no --score-threshold or --vector-name (no embeddings involved).
# Find a function by name — full-text wins
arc search text "parse_frontmatter" --corpus Code
# Conceptual question — semantic wins
arc search semantic "how is the embedding cache invalidated" --corpus Code
# Unknown — run both
arc search semantic "retry backoff" --corpus Docs --limit 5
arc search text "retry backoff" --corpus Docs --limit 5
# Multi-corpus
arc search semantic "auth flow" --corpus Code --corpus Docs
# Filtered (e.g. only python files)
arc search text "TODO" --corpus Code --filter "language=python" --json
The subcommand (semantic | text) MUST come before the query:
arc search semantic "query" --corpus Xarc search "query" --corpus X --semanticarc search --corpus X "query"