Claude-skill-registry elastic-claude
Index and search project knowledge. Use when starting a new task to find related prior work, when ingesting documents or chats, or when searching project history for context.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/elastic-claude" ~/.claude/skills/majiayu000-claude-skill-registry-elastic-claude && rm -rf "$T"
manifest:
skills/data/elastic-claude/SKILL.mdsource content
Elastic-Claude
Local search infrastructure for project knowledge.
CLI Commands
Add an entry
# From file path (preferred - Rust reads the file) elastic-claude add -t <type> -p <file_path> [-m '<json_metadata>'] # Inline content (for small content) elastic-claude add -t <type> -c "<content>" [-m '<json_metadata>'] # From stdin cat <file> | elastic-claude add -t <type> [-m '<json_metadata>']
Arguments:
: Entry type (e.g., "document", "chat", "code")-t, --entry-type
: Read content from file (also sets file_path in DB)-p, --path
: Inline content (conflicts with -p)-c, --content
: JSON metadata (optional)-m, --metadata
Example:
elastic-claude add -t document -p /path/to/file.md -m '{"project": "my-project", "title": "My Doc", "category": "docs"}'
Search entries
elastic-claude search "<query>"
Returns matching entries with snippets, scores, and metadata.
Save current chat session
# Get path to current chat file elastic-claude current-chat --path-only # Ingest current chat with metadata (always include project) elastic-claude current-chat -m '{"project": "my-project", "title": "Session title", "tags": ["topic1", "topic2"]}'
Auto-detects the current Claude session and ingests the chat file.
Get entry by ID
# Get full entry details elastic-claude get <id> # Get just the content elastic-claude get <id> --content-only # Show tsvector tokens (for debugging search) elastic-claude get <id> --tsv
Workflow for Ingesting Documents
When asked to ingest files:
- Determine the project name from the current working directory or ask the user
- Read each file's content
- Extract metadata from content and path:
- project: always include - the project/repo name
- title: from first heading or filename
- category: from directory path
- tags: from content keywords
- Call
for each fileelastic-claude add
Example for a markdown file:
elastic-claude add -t document -p /path/to/file.md -m '{"project": "CQR", "title": "Extracted Title", "category": "documentation"}'
Workflow for Searching
When asked to find information:
- Run
elastic-claude search "<relevant keywords>" - Review the results (snippets, file paths, metadata)
- If needed, read the full files for more context
- Summarize findings for the user
Schema Reference
See references/schema.md for database schema details.
Entry types:
: Markdown docs, READMEs, etc.document
: Chat session transcriptschat
: Code snippets or filescode