Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when you need framework-agnostic Hexagonal architecture guidance for Java projects - ports and adapters boundaries, application core independence, driving and driven adapters, dependency direction, infrastructure leakage detection, optional architecture tests, and evidence-backed remediation. This should trigger for requests such as Review Hexagonal architecture; Review ports and adapters boundaries; Enforce dependency direction; Add ArchUnit architecture tests; Detect infrastructure leakage
.claude/skills/jabrena-707-technologies-hexagonal-architecture/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-01 | ✓→✗ | ▼ Worse | -58% | 0% |
| case-02 | ✓→✗ | ▼ Worse | -69% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 16% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 9% | 0% |
Help teams review and improve Hexagonal architecture boundaries in Java applications without coupling the guidance to Spring Boot, Quarkus, or Micronaut runtime wiring.
What is covered in this Skill?
Scope: Framework-agnostic architecture boundary review for Java projects. For Spring Boot, Quarkus, or Micronaut runtime wiring, defer to the matching framework skill. For adding ArchUnit or other Maven dependencies, defer to 111-java-maven-dependencies.
Keep recommendations focused on architecture boundaries and dependency direction unless the user explicitly asks for framework runtime implementation. After editing this repository's XML sources, regenerate skills and verify the build.
./mvnw compile or mvn compile before proposing Java or Maven changes in the same change set111-java-maven-dependencies./mvnw clean verify or mvn clean verify before promoting changesRead references/707-technologies-hexagonal-architecture.md and inspect packages, modules, imports, Maven modules, tests, and framework entry points before making claims about architecture boundaries.
Map domain, application/use-case, inbound ports, outbound ports, driving adapters, driven adapters, and infrastructure responsibilities; record the evidence used and mark unclear areas as assumptions.
Report concrete core-to-adapter dependency violations, framework or infrastructure leakage, adapter coupling, and misplaced behavior with small remediation steps aligned to the existing project structure.
Suggest ArchUnit-style tests when useful, route dependency additions to 111-java-maven-dependencies, route framework runtime wiring to the matching framework skill, and summarize verification results.
For detailed guidance, examples, and constraints, see references/707-technologies-hexagonal-architecture.md.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→fail | 16,662 | 2,953 | -82% | 1 | 1 | 0% | 2,859 | 1,208 | -58% | 0 | 0 | — |
case-02 | pass→fail | 21,238 | 4,478 | -79% | 1 | 1 | 0% | 3,749 | 1,151 | -69% | 0 | 0 | — |
case-03 | pass→pass | 11,495 | 7,353 | -36% | 1 | 1 | 0% | 1,732 | 2,011 | +16% | 0 | 0 | — |
case-04 | pass→pass | 16,738 | 9,177 | -45% | 1 | 1 | 0% | 2,051 | 2,227 | +9% | 0 | 0 | — |
case-05 | pass→pass | 10,626 | 8,083 | -24% | 1 | 1 | 0% | 1,805 | 2,235 | +24% | 0 | 0 | — |
case-06 | pass→pass | 15,028 | 12,043 | -20% | 1 | 1 | 0% | 2,871 | 3,171 | +10% | 0 | 0 | — |
case-07 | pass→pass | 12,673 | 11,830 | -7% | 1 | 1 | 0% | 2,198 | 3,131 | +42% | 0 | 0 | — |
case-08 | pass→pass | 15,016 | 13,668 | -9% | 1 | 1 | 0% | 2,589 | 3,207 | +24% | 0 | 0 | — |
case-09 | pass→pass | 13,460 | 6,909 | -49% | 1 | 1 | 0% | 1,997 | 1,951 | -2% | 0 | 0 | — |
case-10 | fail→fail | 7,246 | 8,619 | +19% | 1 | 1 | 0% | 1,178 | 2,606 | +121% | 0 | 0 | — |
case-11 | pass→pass | 8,262 | 9,126 | +10% | 1 | 1 | 0% | 1,522 | 2,519 | +66% | 0 | 0 | — |
case-12 | pass→pass | 10,697 | 9,863 | -8% | 1 | 1 | 0% | 1,878 | 2,684 | +43% | 0 | 0 | — |
case-13 | pass→pass | 13,773 | 9,849 | -28% | 1 | 1 | 0% | 2,217 | 2,524 | +14% | 0 | 0 | — |
case-14 | pass→pass | 10,858 | 5,434 | -50% | 1 | 1 | 0% | 1,595 | 1,709 | +7% | 0 | 0 | — |
case-15 | pass→pass | 13,767 | 8,696 | -37% | 1 | 1 | 0% | 2,437 | 2,295 | -6% | 0 | 0 | — |
case-16 | fail→pass | 10,639 | 8,418 | -21% | 1 | 1 | 0% | 1,845 | 2,311 | +25% | 0 | 0 | — |
case-17 | pass→pass | 12,321 | 7,919 | -36% | 1 | 1 | 0% | 2,063 | 2,246 | +9% | 0 | 0 | — |
case-18 | pass→pass | 9,619 | 8,831 | -8% | 1 | 1 | 0% | 1,631 | 2,325 | +43% | 0 | 0 | — |
case-19 | pass→pass | 11,376 | 6,793 | -40% | 1 | 1 | 0% | 1,829 | 2,035 | +11% | 0 | 0 | — |
case-20 | pass→pass | 12,201 | 7,112 | -42% | 1 | 1 | 0% | 1,928 | 1,938 | +1% | 0 | 0 | — |
case-21 | pass→pass | 10,979 | 12,018 | +9% | 1 | 1 | 0% | 1,840 | 2,830 | +54% | 0 | 0 | — |
case-22 | pass→pass | 13,138 | 8,472 | -36% | 1 | 1 | 0% | 2,241 | 2,253 | +1% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -5 percentage points is the difference between those two pass rates over the 21 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.