Use when you need to set up, review, or improve Java integration tests — including generating a BaseIntegrationTest.java with WireMock for HTTP stubs, detecting HTTP client infrastructure from import signals, injecting service coordinates dynamically via System.setProperty(), creating WireMock JSON mapping files with bodyFileName, isolating stubs per test method, verifying HTTP interactions, or eliminating anti-patterns such as Mockito-mocked HTTP clients or globally registered WireMock stubs. Part of the skills-for-java project
74
67%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/132-java-testing-integration-testing/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong, well-crafted skill description that excels across all dimensions. It opens with an explicit 'Use when' trigger clause, lists numerous specific concrete actions with precise technical terminology, and occupies a clearly distinct niche around Java integration testing with WireMock. The only minor note is that it is quite long and dense, but the specificity and completeness justify the length.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists numerous specific concrete actions: generating BaseIntegrationTest.java with WireMock, detecting HTTP client infrastructure from import signals, injecting service coordinates via System.setProperty(), creating WireMock JSON mapping files with bodyFileName, isolating stubs per test method, verifying HTTP interactions, and eliminating specific anti-patterns. | 3 / 3 |
Completeness | The description clearly answers 'what' (generating integration test infrastructure, WireMock stubs, detecting HTTP clients, eliminating anti-patterns) and 'when' with an explicit trigger clause: 'Use when you need to set up, review, or improve Java integration tests'. The 'Use when' is the opening phrase. | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'integration tests', 'Java', 'WireMock', 'HTTP stubs', 'Mockito', 'HTTP clients', 'BaseIntegrationTest', 'System.setProperty', 'bodyFileName'. These cover both high-level concepts and specific technical terms a Java developer would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — it targets a very specific niche: Java integration tests using WireMock with HTTP stubbing patterns. The mention of specific technologies (WireMock, Mockito anti-patterns, System.setProperty, bodyFileName) and the 'skills-for-java project' context make it very unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
35%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill functions primarily as a table of contents and pointer to a reference file, with almost no actionable content in the body itself. The constraints section provides useful guardrails (compile-first, verify-after), but the lack of any concrete code examples, executable snippets, or step-by-step workflow means Claude would need to read the entire reference file before being able to act. The skill would benefit significantly from a quick-start example and a clearer multi-step workflow.
Suggestions
Add a concrete quick-start code example showing a minimal BaseIntegrationTest with WireMockExtension setup — even 15-20 lines of executable Java would dramatically improve actionability.
Include a numbered workflow for setting up integration tests from scratch: 1) detect HTTP client infrastructure, 2) add Maven dependency, 3) create BaseIntegrationTest, 4) create WireMock mappings, 5) write test methods with per-test stubs, 6) run verification.
Add at least one good/bad pattern inline (e.g., anti-pattern of Mockito-mocked HTTP clients vs. correct WireMock approach) rather than deferring all examples to the reference file.
Trim the bullet-point 'What is covered' list — it largely duplicates the reference file's structure and could be replaced by a 2-3 sentence summary of the skill's purpose.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The 'What is covered' bullet list is essentially a table of contents for the reference file, which adds moderate value but also includes items Claude could infer. The introductory sentence and scope note are somewhat redundant. However, it's not excessively verbose. | 2 / 3 |
Actionability | There are no concrete code examples, no executable commands beyond generic mvnw invocations, and no copy-paste ready snippets. The skill describes what topics exist but delegates all actual guidance to the reference file. Claude would not know exactly what to do from this content alone. | 1 / 3 |
Workflow Clarity | The constraints section provides a clear sequence (compile → apply → verify) with a blocking condition on compilation failure, which is good. However, the actual integration test setup workflow (detect infrastructure, create base class, write stubs, verify) has no sequenced steps or validation checkpoints — it's entirely deferred to the reference. | 2 / 3 |
Progressive Disclosure | There is a single reference file linked at the bottom, which is one-level deep and clearly signaled. However, the SKILL.md itself contains almost no actionable quick-start content — it's essentially just a pointer to the reference with a bullet-point summary, making the overview layer too thin to be useful on its own. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
9ec21dd
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.