# Doc Search

> Search indexed documents (PDF, Word, Excel, PPT, TXT) using BM25 keyword search. Use for EDA tools, company docs, bug reports, and technical documentation.

- Skill: `r04943083/doc-search` (Agent Skill)
- Install (CLI): `npx skillmds@latest add r04943083/doc-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/r04943083/doc-search/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: r04943083 (https://skillmd.com/u/r04943083)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/r04943083/doc-search

---


# Document Search Skill

This skill provides access to an indexed document knowledge base via BM25 keyword search.
The MCP server exposes two tools: `doc-search:doc_search` and `doc-search:doc_search_status`.

## When to Search

ALWAYS search the knowledge base proactively — do not guess or rely on general knowledge alone.

Trigger search when user asks about:
- EDA tool usage (Innovus, ICC, DC, PrimeTime, Calibre, Virtuoso, etc.)
- Company internal procedures, IT policies, onboarding guides
- Technical commands, APIs, tool configurations
- Bug reports, known issues, workarounds
- Any specialized domain topic that may be covered by indexed documents

## MCP Tools

### `doc-search:doc_search`

Search indexed documents by keyword.

Parameters:
- `query` (string, required): The search query. Use specific technical terms for best results.
- `category` (string, optional): Filter by category. Common categories:
  - `eda` — EDA tool documentation (Innovus, ICC, etc.)
  - `company` — Company internal documents (IT, HR, procedures)
  - `bugs` — Bug reports and known issues
  - `default` — Uncategorized documents
- `n_results` (integer, optional): Number of results to return (default: 5)

### `doc-search:doc_search_status`

Check what documents are indexed and available for search. No parameters required.
Use this when the user asks what documents or categories are available.

## Search Strategy

1. **Start broad, then narrow**: If the first search returns no results, try alternative keywords or remove the category filter.
2. **Use technical terms**: BM25 matches on keywords, so use specific terms from the domain (e.g., "setDesignMode" instead of "design mode setting").
3. **Try both languages**: For bilingual documentation, search in both English and Chinese if initial results are insufficient.
4. **Multiple searches**: For complex questions, perform multiple searches with different queries to gather comprehensive information.

## Response Format

After searching, the assistant should:
1. Provide a **direct answer** synthesized from the search results
2. **Cite sources** — include the document name and page number when available
3. **Quote relevant passages** when precision matters (commands, syntax, parameters)
4. If results are insufficient, inform the user and suggest they index additional documents

## Indexing Documents (for user reference)

Documents must be indexed before they can be searched. The user indexes documents via CLI:

```bash
# Index a directory recursively
doc-search index ./docs --recursive --category eda

# Check what's indexed
doc-search status

# Clear and re-index
doc-search clear --category eda --force
doc-search index ./docs --recursive --category eda
```

Supported formats: PDF, DOCX, XLSX, PPTX, TXT, MD

