BTrace is a Java diagnostic tool that dynamically inserts tracing into running Java applications without restarting or recompiling them. Java developers and operations teams use it to inspect methods, timings, fields, allocations, and other runtime behavior in production environments. Catalogue add-ons provide instructions for using BTrace.
Borrowing it
Nothing to install: this file belongs to btraceio/btrace. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/btraceio/btrace/develop/.agents/skills/qe-explore/SKILL.mdgit clone --depth 1 https://github.com/btraceio/btraceWrote 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/btraceio/btrace/qe-explore)<a href="https://agentmods.dev/skills/btraceio/btrace/qe-explore"><img src="https://agentmods.dev/badge/skills/btraceio/btrace/qe-explore/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/btraceio/btrace/qe-explore"><img src="https://agentmods.dev/badge/skills/btraceio/btrace/qe-explore.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.00066 | $0.01291 |
| Opus 5.5 | $0.00026 | $0.00516 |
| Sonnet 5.5 | $0.00013 | $0.00258 |
| Haiku 4.5 | $0.00007 | $0.00129 |
Grade A, and why
qe-explore 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 3d 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 — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
QE Explore
Overview
btrace-qe is deterministic: it only runs committed YAML cases. This skill is where new ideas come from. You read code and docs, invent abuse cases, prove each one against real JVMs, and hand over a batch for human review. A case is worth committing only if it is grounded, novel, portable, and its verdict was checked against its own evidence.
Arguments: [surface] [count] — /qe-explore cli 2 in Claude Code, /skill:qe-explore cli 2 in Pi. Default: next surface in rotation (see log), 3 cases kept.
Workflow
- Inventory. Read
btrace-qe/EXPLORATION.md(ideas already tried, rejected, blocked, leads), listbtrace-qe/cases/**, and read the schema + pitfalls inreference.md(this directory). - Pick a surface. Use the argument, or the least-covered surface in the log. Spread the batch over at least two mutation lenses (
reference.md). Don't re-use an idea already in the corpus or the log under a new id. - Ground each idea before writing YAML. Record one of:
- code: the
file:linewhere BTrace uses the value (parses it, branches on it, opens it). A key constant inArgs.javanames the option; it is not grounding. If you can't find the use site, the input may never reach code — find it or drop the idea. Copy option names frombtrace-core/src/main/java/io/btrace/core/Args.javaor the client'sMainarg loop; never type one from memory. - doc: a verbatim claim from
docs/*.md, for a conformance case.
- code: the
- Decide the expectation from the grounding, not from intuition.
- Input invalid per code/docs →
messageMustMention= what the user must fix: the option or flag they typed, plus the offending value when it's distinctive (e.g.["port", "70000"]). Tokens come from the user's input, decided before you run the case — never from BTrace's current output. If BTrace's message would miss your tokens, that miss is the finding; keep the tokens. - Input valid-but-odd, or you can't tell → no
messageMustMention(resilience only). A guessed token creates a false S4. - Documented behavior →
intent: conformance,spec.doc+ verbatimspec.claim,exitCodeif the doc implies one.
- Input invalid per code/docs →
- Write the case using only schema keys and step verbs from
reference.md. Inputs must be portable: paths under${runDir}or${probeClassesDir}, never host paths like/etc/hosts. - Run each case alone:
GRADLE_USER_HOME=$(pwd)/.gradle-user ./gradlew :btrace-qe:qe -Pqe.case=<id> > <log> 2>&1. Readbtrace-qe/build/qe-report/runs/<id>/steps.logandstderr.log— not just the report summary. - Classify the outcome and act:
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 3d ago First seen · 67 lines · 66 tokens per session scan A 3ea4050aacf5
qe-explore is a skill published in the GitHub repository btraceio/btrace (5,997 stars, last pushed yesterday), licensed Apache-2.0. It adds 66 tokens to every session and 1,291 once invoked, about $0.0003 per session on Opus 5.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-10-26.
Other skills, from other repositories
java-affected-tests
Use before opening or updating an OpenMetadata PR that changes Java, a JSON schema, an index mapping, a SQL migration, seed data or a pom — PR CI no longer runs the Java integration tests (they run only in the merge queue) and the JavaUIIT/search-it suites run only nightly, so this selects the unit tests and…
oss-fuzz
Run Tika's OSS-Fuzz Jazzer targets locally against a working-tree checkout — build the image, build fuzzers from local source, fuzz a target, run a corpus as a regression pass, reproduce a crash, and add seeds. Use for "fuzz the OneNote parser", "run OneNoteParserFuzzer against these files", "reproduce an OSS-Fuzz…
tika-eval-compare
Compare extracts from two Tika builds over a corpus to detect regressions in content, encoding, exceptions, and embedded-document handling. Use for "compare before/after extracts", "eval this change against the corpus".
cosmos-run-integration-tests
Run azure-cosmos integration/customer-workflow tests locally, closely following the CI pipeline (build+install, then failsafe verify with a test profile) using one consistent JDK for both steps. USE WHEN: asked to run cosmos integration tests, customer-workflow tests (fi-customer-workflows / fi-sm-customer-workflows)…
run-tests
Run project tests using Maven (mvn). Use when the user asks to run tests.
test-proxy
Push test-proxy recordings/assets using the test-proxy CLI (e.g., test-proxy push -a assets.json). Use when publishing recordings.