Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Roshu18/bearstrike-ai --skill xray-suitegit clone --depth 1 https://github.com/Roshu18/bearstrike-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/roshu18/bearstrike-ai/xray-suite)<a href="https://agentmods.dev/skills/roshu18/bearstrike-ai/xray-suite"><img src="https://agentmods.dev/badge/skills/roshu18/bearstrike-ai/xray-suite/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/roshu18/bearstrike-ai/xray-suite"><img src="https://agentmods.dev/badge/skills/roshu18/bearstrike-ai/xray-suite.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.00703 |
| Opus 5 | $0.00013 | $0.00351 |
| Sonnet 5 | $0.00005 | $0.00141 |
| Haiku 4.5 | $0.00003 | $0.00070 |
Grade A, and why
xray-suite scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
xray-suite
Read this skill before using any xray-suite-* tool.
Components
xray-suite-webscanxray-suite-servicescanxray-suite-subdomainxray-suite-crawlergoxray-suite-headless-browser
Dynamic binary resolution
The bridge script tools/xray_suite_tools.py resolves tools in this order:
- Project-local bundles under
tools/bin/ - Windows installed binaries (when available)
- Linux PATH binaries (
xray,crawlergo,chrome-headless-shell,google-chrome,chromium)
Safe usage policy
- Start with low-noise recon and rendering first.
- Use
xray-suite-headless-browserandxray-suite-crawlergobefore full webscan. - Keep scan scope narrow (specific hosts/URLs), not broad wildcards.
- Respect WAF signals and reduce intensity when blocks appear.
- Avoid aggressive brute-force against production targets without explicit authorization.
Recommended sequence
- Target profiling:
wafw00f,whatweb,httpx - Dynamic endpoint discovery:
xray-suite-headless-browser,xray-suite-crawlergo - Focused vulnerability scan:
xray-suite-webscan - Service checks where relevant:
xray-suite-servicescan - Optional domain expansion:
xray-suite-subdomain(license/build dependent)
No-ban scanning defaults
Bridge config uses conservative defaults in tools/xray_suite/config.yaml:
parallel: 10http.max_qps: 30http.max_conns_per_host: 20
When a target is sensitive or starts rate-limiting:
- Reduce target scope to a single URL/path.
- Lower concurrency/QPS further.
- Pause between major scan phases.
Plugin policy
The project config keeps these enabled:
plugins.brute-force.enabled: trueplugins.thinkphp.enabled: true
Runtime note:
- Some community builds can still disable certain plugins at runtime due licensing. Treat runtime output as authoritative.
False-positive controls
- Re-run suspected findings at least twice.
- Confirm differences between benign and malicious payload behavior.
- Validate real impact (not only reflected errors).
- Exclude WAF block pages, CDN errors, and transient backend failures.
- Save deterministic reproduction evidence for reporting.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 81 lines · 25 tokens per session scan A a841fea97bdb
xray-suite is a skill published in the GitHub repository Roshu18/bearstrike-ai (4 stars, last pushed 5mo ago), licensed MIT. It adds 25 tokens to every session and 703 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
gentech-blockrun
GenTech Labs' integration patterns for BlockRun MCP from Hermes Agent. Covers daily usage patterns, cost-optimized workflows, multi-tool pipelines, and reliable error handling for BlockRun's full toolset.
surf
Surf (asksurf.ai) is RETIRED on BlockRun and the blockrunsurf tool was REMOVED in 0.49.0 — the gateway has answered every /v1/surf/ path with HTTP 410 endpointretired since 2026-09-06. Use this skill to route a former Surf question (on-chain SQL, wallet labels and net worth, CEX order books, social mindshare, news) to…
portainer-mcp-hygiene
How to drive the Portainer MCP server's tools correctly — both reading and mutating. Reading: project responses with select (JMESPath), where the heavy fields live (snapshots, status blocks, managed fields), how to handle non-JSON Docker/K8s proxy endpoints (container and pod logs, stats, exec), and how to interpret…
vault-for-llm
Connect OpenClaw to Vault Agent Memory as a local-first governed project memory layer. Search first, then bounded-read cited source ranges; propose new memories as candidates instead of writing directly into active memory.
setup
Configure the Qdrant Power after installation. Use this skill for missing uvx, missing environment variables, unapproved environment variables, unavailable Qdrant tools, "Failed to connect" errors, and setup requests.
kicad-library
Library management workflow for KiCAD — creating symbols, footprints, and managing libraries via MCP tools. Triggers on: "create a symbol", "make a footprint", "custom component", "register library", "find a part", "pin numbering", "new symbol", "new footprint", "add to library", "library path", "pad layout".