Skip to content

feat(skills): add native xint / xint-rs content intelligence skill#946

Open
0xNyk wants to merge 2 commits intoNousResearch:mainfrom
0xNyk:feat/native-xint-skill-integration
Open

feat(skills): add native xint / xint-rs content intelligence skill#946
0xNyk wants to merge 2 commits intoNousResearch:mainfrom
0xNyk:feat/native-xint-skill-integration

Conversation

@0xNyk
Copy link
Contributor

@0xNyk 0xNyk commented Mar 11, 2026

Summary

  • add new built-in xint skill at skills/content/xint/SKILL.md
  • add skills/content/DESCRIPTION.md
  • add native xint tool integration (tools/xint_tool.py) for executing xint-rs (preferred) or xint (fallback)
  • wire native tool into discovery + toolsets:
    • model_tools.py discovery import
    • toolsets.py new xint toolset + include in Hermes core tools
    • tools/__init__.py exports
  • add unit tests for native tool behavior (tests/tools/test_xint_tool.py)

Why

This ships both:

  1. a reusable skill guide for X intelligence workflows, and
  2. an actual callable native tool so the agent can run xint/xint-rs directly.

Validation

  • source .venv/bin/activate && python -m pytest tests/tools/test_xint_tool.py tests/test_toolsets.py tests/test_model_tools.py -q (40 passed)
  • source .venv/bin/activate && python -m pytest tests/agent/test_prompt_builder.py -q (33 passed)
  • ⚠️ source .venv/bin/activate && python -m pytest tests/ -q still has a pre-existing unrelated failure in this environment:
    • tests/test_timezone.py::TestCronTimezone::test_get_due_jobs_handles_naive_timestamps

Notes

  • native tool is availability-gated: it only appears when xint-rs or xint is in PATH
  • command execution is argument-list based (no shell interpolation)
  • outputs are structured JSON with exit code/stdout/stderr (+ optional stdout JSON parsing)

@0xNyk 0xNyk force-pushed the feat/native-xint-skill-integration branch from 9aed5e4 to ecfd468 Compare March 12, 2026 05:06
@0xNyk
Copy link
Contributor Author

0xNyk commented Mar 12, 2026

Update after branch cleanup/rebase:

  • Removed unintended cron/jobs.py change from this PR (scope is now xint-only).
  • Rebased on current main; PR is mergeable.
  • CI is green on this branch (test workflow passed).

Validation run locally:

  • python -m pytest -o addopts='' tests/tools/test_xint_tool.py tests/test_toolsets.py tests/test_model_tools.py tests/agent/test_prompt_builder.py -q -> 94 passed
  • Runtime smoke check via wrapper:
    • call: tools.xint_tool.xint_tool(action='--help', prefer='auto')
    • resolved executable: /opt/homebrew/bin/xint
    • exit code: 0

Integration included in this PR:

  • Native tool: tools/xint_tool.py
  • Discovery/toolset wiring: model_tools.py, toolsets.py, tools/__init__.py
  • Skill docs: skills/content/xint/SKILL.md, skills/content/DESCRIPTION.md
  • Tests: tests/tools/test_xint_tool.py

Happy to add any additional validation maintainers want.

@0xNyk
Copy link
Contributor Author

0xNyk commented Mar 12, 2026

Quick maintainer ping for review 🙏\n\nThis PR has been scope-cleaned to xint integration only, rebased on latest main, and CI is green (test workflow passing).\n\nIncluded in this PR:\n- native xint tool wiring (registry + toolsets + discovery)\n- xint skill/docs updates\n- test coverage for tool behavior\n\nIf the approach looks good, this should be ready to merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant