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 resonatehq/resonate-skills --skill resonate-basic-debugging-javagit clone --depth 1 https://github.com/resonatehq/resonate-skillsWrote 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/resonatehq/resonate-skills/resonate-basic-debugging-java)<a href="https://agentmods.dev/skills/resonatehq/resonate-skills/resonate-basic-debugging-java"><img src="https://agentmods.dev/badge/skills/resonatehq/resonate-skills/resonate-basic-debugging-java/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/resonatehq/resonate-skills/resonate-basic-debugging-java"><img src="https://agentmods.dev/badge/skills/resonatehq/resonate-skills/resonate-basic-debugging-java.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.00104 | $0.03093 |
| Opus 5.5 | $0.00042 | $0.01237 |
| Sonnet 5.5 | $0.00021 | $0.00619 |
| Haiku 4.5 | $0.00010 | $0.00309 |
Grade A, and why
resonate-basic-debugging-java 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 1mo 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 — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Resonate Basic Debugging — Java
Prerelease note.
resonate-sdk-javais published on Maven Central — pinio.resonatehq:resonate-sdk-java:0.1.1. The API mirrors the Python SDK and may change before a stable1.0. Requires Java 21+ — the SDK uses virtual threads, a feature generally available in Java 21. Every code block here is compile-verified against0.1.1with a Java 21 toolchain, and cross-checked against theresonatehq-examples/*-javarepos anddevelop/java.mdx(docs PR #230).
Overview
Java's type system catches many bugs at compile time — typed method references and a typed ResonateHandle close off whole classes of error the dynamically-typed SDKs hit. The traps that remain are mostly at the durability boundary: untyped-handle decoding, CLI argument binding, replay double-fires, and the by-name-only constraints. This skill is a symptom-first guide to those failure modes.
For the language-agnostic replay and recovery mental model, read durable-execution first.
Triage flow
- Does it even build / start? Confirm a Java 21+ toolchain — the SDK uses virtual threads and will not run on Java 8/11/17.
- Is the worker connected? Confirm the builder's
url(...)(orRESONATE_URL) points at a running server, andrwas built without throwing. - Is the function registered? By-name dispatch (
rpc, the CLI) needsr.register(Owner::fn)on the executing group. - Is the promise stuck? Run
resonate promise get <id>to check state (pending/resolved/rejected/timedout). - Is the workflow replaying but producing duplicates? An un-checkpointed side effect is re-running above a durable boundary.
- Is a CLI-invoked function arity-mismatching? Each
--argbinds to one positional parameter. - Is the worker up but not picking up work?
r.stop()may have been called on a live worker.
Stuck / never-resuming workflows
Latent promise never settled
Symptom: future.await() blocks indefinitely; resonate promise get <id> shows state pending.
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.
- 1mo ago First seen · 234 lines · 104 tokens per session scan A c18ca7ebddf4
resonate-basic-debugging-java is a skill published in the GitHub repository resonatehq/resonate-skills (7 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 104 tokens to every session and 3,093 once invoked, about $0.0004 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-08-31.
Other skills, from other repositories
nullaway
Guide for resolving NullAway static analysis errors. Best practices for: Passing ObservableSupplier/Supplier Dereferencing potentially @Nullable values Adding @NullMarked to Java code.
wxjava-troubleshooter
A troubleshooting guide for WxJava, a Java library used to connect applications to WeChat services. It organizes problems involving setup, access tokens, signatures, payment certificates, callbacks, data conversion, network requests, and multiple accounts.
neqsim-code-hygiene
Fix formatting, Checkstyle, Spotless, and JavaDoc build failures in NeqSim Java code. USE WHEN: the build fails on spotless:check, checkstyle:check, or javadoc:javadoc; a PR shows formatting/import-order/JavaDoc violations; or you edited any .java file and need to make it CI-clean. Covers the exact recurring errors…
126-java-exception-handling
Use when you need to apply Java exception handling best practices — including using specific exception types, managing resources with try-with-resources, securing exception messages, preserving error context via exception chaining, validating inputs early with fail-fast principles, handling thread interruption…
performance-smell-detection
Detect potential code-level performance smells in Java - streams, collections, boxing, regex, object creation. Provides awareness, not absolutes - always measure before optimizing. For JPA/database performance, use jpa-patterns instead.
jstall
This skill should be used when the user asks about "JVM performance", "Java thread dump", "Java deadlock", "JVM diagnosis", "what is my Java application doing", "slow Java", "Java profiling", "flamegraph", "Java CPU usage", "thread contention", "JVM inspection", "jstall", or any question about analyzing, debugging, or…