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
71 lines
2.9 KiB
Org Mode
71 lines
2.9 KiB
Org Mode
#+TITLE: Create Web Search Skill
|
|
#+DATE: 2025-11-22
|
|
#+KEYWORDS: web-search, claude-code, antigravity, skills, bash
|
|
#+COMMITS: 0
|
|
#+COMPRESSION_STATUS: uncompressed
|
|
|
|
* Session Summary
|
|
** Date: 2025-11-22
|
|
** Focus Area: Implementing a web search capability for Claude Code and Antigravity agents.
|
|
|
|
* Accomplishments
|
|
- [X] Explored the `skills` repository structure and documentation (`AGENTS.md`, `RFC-AI-AGENT-EXTENSIBILITY-PATTERNS.md`).
|
|
- [X] Confirmed that Antigravity is not natively supported but can utilize skills via their underlying Bash scripts.
|
|
- [X] Implemented the `web-search` skill based on requirements from `claude-code-web-search.md`.
|
|
- Created `skills/web-search/SKILL.md` documentation.
|
|
- Created `skills/web-search/scripts/search.sh` helper script.
|
|
- [X] Verified the skill functionality by successfully querying "current time in Tokyo" and "latest stable version of python".
|
|
|
|
* Key Decisions
|
|
** Decision 1: Implement as a Standard Skill
|
|
- Context: We needed a way to search the web using Claude Code's subprocess capability.
|
|
- Rationale: Following the existing pattern in the `skills` repo ensures compatibility and reusability.
|
|
- Impact: The skill is available for Claude Code (via native loading) and Antigravity (via manual script execution).
|
|
|
|
** Decision 2: Use `claude -p` with `--allowedTools`
|
|
- Context: Standard `webfetch` only gets static HTML.
|
|
- Rationale: The `--allowedTools "web_search,WebSearch,mcp__*"` flag explicitly grants the subprocess permission to use the search tool, which is otherwise restricted.
|
|
- Impact: Enables dynamic web searching including "Product Investigation" and "Nix Package Discovery" workflows.
|
|
|
|
* Technical Details
|
|
|
|
** Code Changes
|
|
- New files created:
|
|
- `skills/web-search/SKILL.md`: Defines the skill interface and usage.
|
|
- `skills/web-search/scripts/search.sh`: Bash wrapper for the `claude` CLI.
|
|
|
|
** Commands Used
|
|
```bash
|
|
# The core command implemented in the script
|
|
claude -p "Search the web for '$QUERY'. Provide a summary of findings." \
|
|
--allowedTools "web_search,WebSearch,mcp__*"
|
|
|
|
# Verification
|
|
./skills/web-search/scripts/search.sh "current time in Tokyo"
|
|
```
|
|
|
|
* Process and Workflow
|
|
|
|
** What Worked Well
|
|
- The `skills` repo structure is clear and easy to extend.
|
|
- Using `claude -p` as a bridge to web search is a powerful pattern.
|
|
|
|
** What Was Challenging
|
|
- Antigravity does not automatically discover these skills, requiring manual script invocation or future tooling (symlinks/workflows).
|
|
|
|
* Context for Future Work
|
|
|
|
** Open Questions
|
|
- How best to expose these skills to Antigravity globally?
|
|
- Option 1: Global Binaries (symlinks to `~/.local/bin`).
|
|
- Option 2: Antigravity Workflows (`.agent/workflows/`).
|
|
- We are leaning towards a hybrid approach (Global Binaries + Local Workflow stubs).
|
|
|
|
** Next Steps
|
|
- Decide on the global exposure strategy.
|
|
- Commit the new skill to the repository.
|
|
|
|
* Session Metrics
|
|
- Commits made: 0 (Work in progress)
|
|
- Files touched: Created `skills/web-search/`
|