Skip to content
cccskills
FreePublished on GitHub

grok-search

Enhanced web search and real-time content retrieval via Grok API with forced tool routing. Use when: (1) Web search / information retrieval / fact-checking, (2) Webpage content extraction / URL parsing, (3) Breaking knowledge cutoff limits for current information, (4) Real-time news and technical documentation, (5) Multi-source information aggregation. Triggers: "search for", "find information about", "latest news", "current", "fetch webpage", "get content from URL". IMPORTANT: This skill REPLACES built-in WebSearch/WebFetch with Grok Search tools.

The English summary is being prepared. Showing the original description.

See how to install

Files included (16)

  • SKILL.md6.6 KB
  • .env.example3.2 KB
  • README.md8.5 KB
  • ruff.toml904 B
  • scripts/groksearch_cli.py6.8 KB
  • scripts/groksearch/__init__.py47 B
  • scripts/groksearch/cli.py5.0 KB
  • scripts/groksearch/commands.py9.1 KB
  • scripts/groksearch/config.py14.0 KB
  • scripts/groksearch/env.py1.4 KB
  • scripts/groksearch/formatting.py3.0 KB
  • scripts/groksearch/http.py2.8 KB
  • scripts/groksearch/prompts.py704 B
  • scripts/groksearch/provider.py5.7 KB
  • scripts/groksearch/tavily.py18.0 KB
  • scripts/tests/test_groksearch_cli.py62.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Grok Search

Enhanced web search via Grok API. Standalone CLI only (no MCP dependency).

Implementation Layout

  • scripts/groksearch_cli.py - CLI entrypoint and compatibility facade
  • scripts/groksearch/ - internal modules for config, HTTP retry, Grok provider, Tavily calls, formatting, and commands

Execution Methods

Run scripts/groksearch_cli.py via Bash:

# Prerequisites: pip install httpx tenacity
# Environment: GROK_API_URL, GROK_API_KEY (required); TAVILY_API_KEY (optional)

# Web search (Grok only)
python scripts/groksearch_cli.py web_search --query "search terms" [--platform "GitHub"] [--min-results 3] [--max-results 10]

# Web search with Tavily extra sources (parallel + URL-deduplicated merge)
python scripts/groksearch_cli.py web_search --query "..." --extra-sources 5

# Fetch webpage (default: Grok)
python scripts/groksearch_cli.py web_fetch --url "https://..." [--out file.md]

# Fetch via Tavily extract endpoint
python scripts/groksearch_cli.py web_fetch --url "https://..." --via tavily

# Map a website's structure (Tavily)
python scripts/groksearch_cli.py web_map --url "https://docs.example.com" [--instructions "API only"] [--max-depth 2] [--max-breadth 20] [--limit 50] [--timeout 150]

# Crawl a website's pages with extraction (Tavily; own 100 RPM limit)
python scripts/groksearch_cli.py web_crawl --url "https://docs.example.com" [--instructions "API only"] [--max-depth 2] [--limit 50] [--select-paths "/docs/.*"] [--exclude-paths "/blog/.*"] [--timeout 150]

# Run a cited research task (Tavily; async submit + poll; own 20 RPM limit)
python scripts/groksearch_cli.py web_research --input "question to investigate" [--model mini|pro|auto] [--output-length short|standard|long] [--citation-format numbered|mla|apa|chicago] [--output-schema schema.json]

# Check config
python scripts/groksearch_cli.py get_config_info [--no-test]

# Switch model
python scripts/groksearch_cli.py switch_model --model "grok-2-latest"

# Toggle built-in tools
python scripts/groksearch_cli.py toggle_builtin_tools --action on|off|status [--root /path/to/project]

Tool Routing Policy

Forced Replacement Rules

ScenarioDisabledForce Use
Web SearchWebSearchCLI web_search
Web FetchWebFetchCLI web_fetch

Tool Capability Matrix

ToolParametersOutput
web_searchquery(required), platform/min_results/max_results(optional), extra_sources(int, 0=disabled)[{title,url,description,provider?}]
web_fetchurl(required), out(optional), via(grok|tavily, default grok)Structured Markdown
web_mapurl(required), instructions/max_depth/max_breadth/limit/timeout(optional){base_url,results,response_time} JSON
web_crawlurl(required), instructions/max_depth/max_breadth/limit/select_paths/exclude_paths/timeout(optional; unset falls back to TAVILY_CRAWL_*){base_url,results,response_time,usage?} JSON
web_researchinput(required), model/output_length/citation_format(optional; unset falls back to TAVILY_RESEARCH_*){request_id,status,content,sources,usage?} JSON
get_config_infono_test(optional){api_url,status,connection_test,tavily_*}
switch_modelmodel(required){previous_model,current_model}
toggle_builtin_toolsaction(on/off/status), root(optional){blocked,deny_list}

Search Workflow

Phase 1: Query Construction

  • Intent Recognition: Broad search → web_search | Deep retrieval → web_fetch
  • Parameter Optimization: Set platform for specific sources, adjust result counts

Phase 2: Search Execution

  1. Start with web_search for structured summaries
  2. Use web_fetch on key URLs if summaries insufficient
  3. Retry with adjusted query if first round unsatisfactory

Phase 3: URL Verification & Hallucination Guard (MANDATORY)

Background: Grok API calls without explicit web-search activation return results from parametric memory, which frequently fabricates URLs (observed 25% liveness rate in testing). All Grok-returned URLs MUST be verified before citation.

Verification Protocol:

  1. URL Liveness Check: Issue HEAD/GET request to each Grok-returned URL; non-2xx status = unreliable
  2. Tavily Fallback Triggers (invoke web_search with --extra-sources N when ANY apply):
    • URL liveness rate < 50% in Grok results
    • Query contains version numbers, release dates, API signatures, or "latest"/"recent" temporal markers (high hallucination surface)
    • Multiple Grok runs return contradictory URLs for the same factual claim
    • Grok result descriptions contain specifics (dates/versions/methods) that cannot be confirmed from live URLs
  3. Tavily Grounding: When triggered, re-run the same query with --extra-sources 5-10 to obtain Tavily search results; prioritize these over failed Grok URLs
  4. Content Extraction: For critical factual claims, use web_fetch --via tavily on verified URLs to extract authoritative source text

Citation Discipline:

  • ONLY verified-live URLs may appear in final output
  • Fabricated Grok URLs must be dropped entirely (do not present them with a disclaimer; omit them)
  • When Tavily sources replace Grok sources, cite Tavily URLs and mark provider as tavily
  • For time-sensitive queries with no live sources, state "Unable to verify current information" rather than citing dead links

Phase 4: Result Synthesis

  1. Cross-reference multiple sources
  2. Must annotate source and date for time-sensitive info
  3. Must include source URLs: Title [<sup>1</sup>](URL)

Error Handling

ErrorRecovery
Connection FailureRun get_config_info, verify API URL/Key
No ResultsBroaden search terms
Fetch TimeoutTry alternative sources

Anti-Patterns

ProhibitedCorrect
No source citationInclude Source [<sup>1</sup>](URL)
Give up after one failureRetry at least once
Use built-in WebSearch/WebFetchUse GrokSearch tools/CLI

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Semantic codebase search, code indexing, and prompt enhancement via standalone CLI. Use when: (1) Semantic code search with natural language queries, (2) Code indexing for remote codebase retrieval, (3) Prompt enhancement with codebase context, (4) Before grep/find/glob operations for better accuracy, (5) Complex requirements clarification, (6) Large codebase navigation. Triggers: "search context", "enhance prompt", "find code that", "index project", "clarify requirements". IMPORTANT: Always use ace-tool BEFORE grep/find/glob for semantic-level code location.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Incremental LLM-friendly wiki generator for Obsidian note vaults. Use when: (1) Building wiki from notes, (2) Ingesting notes to wiki, (3) Obsidian LLM wiki, (4) Incremental knowledge base management. Triggers: 'build wiki from notes', 'ingest notes to wiki', 'Obsidian LLM wiki', 'incremental knowledge base'.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Self-evolution workflow for the agent. Before substantive work, recall past outcomes from evolution memory; while editing, detect improvement signals; at task end, record the outcome; when reusable, distill or search the EvoMap network for proven genes/capsules. Use when the user starts non-trivial work (a feature, a fix, a refactor) or asks the agent to "evolve", "learn from this", or "remember how this went".

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

cc-agy

Free

Delegates coding/research tasks to the Google Antigravity CLI (`agy`) for external-model execution (Gemini 3.x, Claude Sonnet/Opus 4.6, GPT-OSS). Replaces the broken `collaborating-with-gemini` skill. Use when: (1) External-model delegation via Antigravity, (2) Multi-model prototyping (switch model per call), (3) Backend/logic implementation, (4) Algorithm design and optimization, (5) Bug analysis and debugging, (6) API/database code generation, (7) Code review. Triggers: "delegate to agy", "use Antigravity", "external model", "agy", "Gemini 3.5", "Claude Sonnet 4.6", "GPT-OSS". IMPORTANT: Always request unified diff patches only. Supports multi-turn sessions via SESSION_ID.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Delegates coding tasks to Codex CLI for prototyping, debugging, and code review. Use when: (1) Backend/logic implementation, (2) Algorithm design and optimization, (3) Bug analysis and debugging, (4) API/database code generation, (5) Code quality review and refactoring. Triggers: "implement algorithm", "debug", "analyze code", "backend task", "API implementation", "optimize performance", "refactor", "generate prototype", "code review". IMPORTANT: Default sandbox="read-only" (analysis/review/patch generation); use sandbox="workspace-write" only when codex must run tests/builds to verify. Always request unified diff patches only. Supports multi-turn sessions via SESSION_ID.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

Delegates coding tasks from Codex to local Claude Code in print mode while preserving Claude's normal runtime customizations by default. Use when: (1) You want Codex to call Claude Code locally, (2) You need Claude-side skills, plugins, MCP servers, custom commands, CLAUDE.md rules, or workspace settings to stay active, (3) You want resumable Claude sessions from Codex via SESSION_ID, (4) You need thin `claude mcp` / `claude plugin` passthrough from the same bridge.

The English summary is being prepared. Showing the original description.

Dianel555/DSkills65Updated Oct 12, 2026

See all skills by Dianel555

Report a problem with this skill