Includes: - New 'web-search' skill - New 'web-research' skill with multi-backend support (claude, llm, kagi) - Automated deployment in bin/deploy-skill.sh - Sops-nix integration for Kagi API key - Documentation updates
54 lines
2.1 KiB
Markdown
54 lines
2.1 KiB
Markdown
# Brainstorming: Advanced Web Search Skill
|
|
|
|
## Objective
|
|
Create a versatile web search skill that supports multiple search modes, providers, and use cases.
|
|
|
|
## Potential Search Modes
|
|
|
|
### 1. General Search
|
|
- **Goal**: Find general information, answers to questions.
|
|
- **Tools**: `claude -p` (existing), `googler`, `ddgr`.
|
|
- **Features**: Summaries, top N results.
|
|
|
|
### 2. Documentation Search
|
|
- **Goal**: Find specific technical documentation.
|
|
- **Target**: MDN, Python Docs, Rust Docs, NixOS Wiki.
|
|
- **Strategy**: Restrict search to specific domains (`site:docs.python.org`).
|
|
|
|
### 3. Code Search
|
|
- **Goal**: Find code snippets, libraries, or usage examples.
|
|
- **Target**: GitHub, GitLab, StackOverflow.
|
|
- **Tools**: GitHub CLI (`gh`), specialized code search APIs.
|
|
|
|
### 4. Package Search
|
|
- **Goal**: Find packages and versions.
|
|
- **Target**: NixOS Packages, PyPI, NPM, Crates.io.
|
|
- **Tools**: `nix-search` (if available), `pip search` (deprecated, need alternative), `npm search`.
|
|
|
|
### 5. Deep Research / Investigation
|
|
- **Goal**: Thoroughly investigate a topic by following links.
|
|
- **Strategy**: Recursive search or multi-step agentic workflow (search -> read -> search).
|
|
|
|
## Implementation Options
|
|
|
|
### Option A: Enhanced `claude -p` Wrapper
|
|
- Expand the existing `web-search` skill.
|
|
- Add flags: `--docs`, `--code`, `--package`.
|
|
- Modify the prompt sent to Claude to guide its search behavior.
|
|
- **Pros**: Uses existing powerful agent.
|
|
- **Cons**: Dependent on Claude's tools and context window.
|
|
|
|
### Option B: Direct CLI Tools
|
|
- Use tools like `googler` or `ddgr` directly for faster, raw results.
|
|
- **Pros**: Fast, lightweight, structured output (JSON).
|
|
- **Cons**: Requires installing extra tools, raw output might need parsing.
|
|
|
|
### Option C: Hybrid Approach
|
|
- Use CLI tools for discovery (getting URLs).
|
|
- Use `claude` or `curl` + `readability` for content extraction.
|
|
|
|
## Questions for User
|
|
- Do you prefer a single "smart" skill that figures out what to do, or explicit flags/subcommands?
|
|
- Are there specific sources you search often (e.g., NixOS packages)?
|
|
- Do you want raw links or summarized answers?
|