$npx -y skills add appautomaton/webmaton --skill agentic-searchGrok-primary deep research skill for source-backed web work. Use when the task needs current web research, grounded citations, supplementary Tavily/Firecrawl source discovery, high-fidelity page-to-Markdown fetch, Tavily site mapping, verbatim quote extraction, source reranking,
| 1 | # agentic-search |
| 2 | |
| 3 | | # | Script | Intent | |
| 4 | |---|---|---| |
| 5 | | 1 | `scripts/agentic_search.py` | Research a topic — AI-reasoned answer with citations | |
| 6 | | 2 | `scripts/agentic_fetch.py` | Full page → Markdown, no summarization | |
| 7 | | 3 | `scripts/agentic_map.py` | Enumerate URLs under a site (Tavily-only) | |
| 8 | | 4 | `scripts/agentic_extract.py` | Verbatim title + 2–4 quotes from a URL | |
| 9 | | 5 | `scripts/agentic_rank.py` | Rerank session sources by a refined query | |
| 10 | | 6 | `scripts/agentic_get_sources.py` | Retrieve or list cached sessions | |
| 11 | |
| 12 | ## How to invoke |
| 13 | |
| 14 | All scripts use PEP 723 inline deps — always invoke via `uv run`. Allow up to 3 minutes per call. |
| 15 | |
| 16 | ```bash |
| 17 | uv run scripts/agentic_search.py --query "..." [--extra-sources N] [--auto-fetch-top N] [--platform "..."] |
| 18 | uv run scripts/agentic_fetch.py --url "..." [--engine auto|tavily|firecrawl|grok] |
| 19 | uv run scripts/agentic_map.py --url "..." [--instructions "..."] [--limit N] |
| 20 | uv run scripts/agentic_extract.py --url "..." [--session-id S] |
| 21 | uv run scripts/agentic_rank.py --query "..." --session-id S |
| 22 | uv run scripts/agentic_get_sources.py --list | --session-id S |
| 23 | ``` |
| 24 | |
| 25 | ## Session workflow |
| 26 | |
| 27 | `agentic_search` generates a `session_id` persisted to disk — the connective tissue for composing steps: |
| 28 | |
| 29 | ``` |
| 30 | agentic_search → session_id |
| 31 | ├─→ agentic_rank --session-id S --query Q (rerank in place; mutates session) |
| 32 | ├─→ agentic_extract --session-id S --url U (append verbatim quotes) |
| 33 | └─→ agentic_get_sources --session-id S (inspect full session) |
| 34 | ``` |
| 35 | |
| 36 | Sessions survive between invocations but may be cleared on OS reboot. |
| 37 | |
| 38 | ## Operating discipline |
| 39 | |
| 40 | Load the relevant reference before composing a non-trivial query — don't load all four upfront. |
| 41 | |
| 42 | - **`references/search-discipline.md`** — two-pass methodology, citation contract, time-context heuristic. Read for research tasks. |
| 43 | - **`references/fetch-fidelity.md`** — engine trade-offs, fidelity guarantees, when not to fetch. Read before presenting extracted content. |
| 44 | - **`references/extract-and-rank.md`** — extract vs fetch, when to rank, session composition patterns. Read for multi-step workflows. |
| 45 | - **`references/provider-quirks.md`** — env vars, provider schemas, retry policy, debugging. Read when configuring or debugging. |
| 46 | |
| 47 | ## Failure modes |
| 48 | |
| 49 | - No `GROK_API_KEY` / `GROK_API_URL` → config error on any Grok-using script. |
| 50 | - `agentic_fetch --engine auto` total failure → retry with `--engine grok` or fall back to built-in `WebFetch`. |
| 51 | - `agentic_map` without `TAVILY_API_KEY` → hard exit. |
| 52 | - `agentic_rank --session-id S` session expired → re-run `agentic_search`. |
| 53 | - `sources_count: 0` with non-empty `content` → Grok used training data; check `providers_used` (`grok-web-search` = real citations, `grok` = heuristic fallback). |