Skip to content

docs(xai): clarify x_search and xurl routing#29423

Open
Julientalbot wants to merge 2 commits into
NousResearch:mainfrom
Julientalbot:codex/xurl-x-search-smoothing
Open

docs(xai): clarify x_search and xurl routing#29423
Julientalbot wants to merge 2 commits into
NousResearch:mainfrom
Julientalbot:codex/xurl-x-search-smoothing

Conversation

@Julientalbot

@Julientalbot Julientalbot commented May 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Clarifies the boundary between the xAI x_search tool and the xurl skill so agents route X/Twitter work by intent instead of treating both surfaces as interchangeable.

  • x_search: read-only public X discovery, reactions, claims, threads, profiles, and synthesized answers with citations.
  • xurl: exact/authenticated X API reads plus account actions/writes such as post, reply, like, DM, media upload, delete, timelines, mentions, and raw v2 endpoints.
  • Mixed workflow guidance: discover candidate public posts with x_search, then switch to xurl read or a specific xurl action once the target is clear. X writes must be evidenced by xurl output or the X API response, not by an x_search answer.

Changes

  • Updates the bundled xurl skill with explicit x_search routing guidance.
  • Adds an x_search vs xurl section to the user-facing x_search docs.
  • Updates the x_search tool schema, toolset description, and tools config setup note.
  • Adds regression tests that pin the routing contract across skill docs, feature docs, schema, and toolset metadata.
  • Keeps CI expectations aligned with the newly bundled web-xai provider and makes the update-output test robust to hermes_cli.main reloads in the full suite.

Validation

  • uv run --extra dev pytest tests/tools/test_x_search_tool.py tests/test_toolsets.py tests/skills/test_xurl_x_search_routing.py tests/website/test_generate_skill_docs.py -q -> 52 passed
  • uv run --extra dev pytest tests/plugins/web/test_web_search_provider_plugins.py tests/hermes_cli/test_update_hangup_protection.py tests/tools/test_x_search_tool.py tests/test_toolsets.py tests/skills/test_xurl_x_search_routing.py tests/website/test_generate_skill_docs.py -q -> 117 passed
  • uv run --extra dev pytest tests/plugins/web/test_web_search_provider_plugins.py::TestBundledPluginsRegister::test_all_bundled_plugins_present_in_registry tests/hermes_cli/test_update_hangup_protection.py::TestInstallHangupProtection::test_wraps_stdout_and_stderr_with_mirror -q -> 2 passed
  • uv run --extra dev ruff check tools/x_search_tool.py toolsets.py hermes_cli/tools_config.py tests/tools/test_x_search_tool.py tests/test_toolsets.py tests/skills/test_xurl_x_search_routing.py tests/plugins/web/test_web_search_provider_plugins.py tests/hermes_cli/test_update_hangup_protection.py -> passed
  • git diff --check -> passed
  • PATH="$PWD/.venv/bin:$PATH" python3 website/scripts/extract-skills.py && PATH="$PWD/.venv/bin:$PATH" python3 website/scripts/generate-skill-docs.py && cd website && PATH="../.venv/bin:$PATH" npm run lint:diagrams && PATH="../.venv/bin:$PATH" npm run build -> passed; Docusaurus emitted existing broken-link/anchor warnings in unrelated docs/locales.

Generated skill docs were used only for validation and are not committed; the source skills/social-media/xurl/SKILL.md remains the source of truth.

@alt-glitch alt-glitch added type/docs Documentation improvements provider/xai xAI (Grok) tool/web Web search and extraction P3 Low — cosmetic, nice to have labels May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have provider/xai xAI (Grok) tool/web Web search and extraction type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants