CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

hexagonal-architecture

Applies hexagonal (ports & adapters) architecture. Use when designing application structure, separating domain from infrastructure, creating testable boundaries, or when user mentions ports, adapters, hexagonal, or clean architecture.

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/scaffolder/skills/hexagonal-architecture/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body delivers genuinely useful, opinionated guidance (decision rule, naming conventions, testing seams) with good section structure, but it spends tokens restating standard hexagonal-architecture knowledge and lacks an explicit design sequence or verification step. The unreferenced references/disclaimer.md file is a dangling bundle artifact.

Suggestions

Add a validation checkpoint to the workflow, e.g. a final 'verify dependencies point inward: no adapter/framework types imported by domain or application code' step, so the design procedure has a concrete pass/fail check.

Trim restatements of standard hexagonal knowledge (layer contents like 'Entities, Value Objects, Domain Services', 'Dependencies flow INWARD only', the anemic-domain definition) and keep only the project-specific rules and conventions.

Either reference references/disclaimer.md from the body (e.g., a status note near the top) or remove it from the bundle so every bundle file is discoverable from SKILL.md.

DimensionReasoningScore

Conciseness

The body is mostly efficient with good use of tables/lists, but it restates concepts Claude already knows: "Contains Entities, Value Objects, Domain Services", "Dependencies flow INWARD only", the anemic-domain description, and general hexagonal layering — more than minor over-explanation, matching the 'mostly efficient but includes some unnecessary explanation' anchor.

3 / 5

Actionability

Concrete, applicable guidance dominates: the decision rule ("Does it do I/O or run out-of-process?"), naming patterns with examples ("MemberView.from(member)", "request.asMember()", "MemberDbo"), and a layer-to-test-type mapping. Minor gaps remain — several anti-pattern fixes are high-level with no example, e.g. "Use wrapper objects that can evolve without breaking signatures".

4 / 5

Workflow Clarity

The core decision rule implies a procedure but there is no explicit step sequence and no validation checkpoint for verifying the boundary holds (e.g., checking that no adapter types leak into the domain) — the sequence is implicit and checkpoints are missing, matching anchor 3.

3 / 5

Progressive Disclosure

Sections are well-organized and the ~82-line body is reasonably self-contained, but the bundle contains references/disclaimer.md which is never referenced or linked from the body — a dangling file that represents a minor organization gap against the actual bundle structure.

4 / 5

Total

14

/

20

Passed

Description

91%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that clearly states what the skill does and when to use it, with comprehensive natural trigger terms covering the hexagonal-architecture synonym space. The only weakness is that the capability description stays at the level of abstract design activities rather than concrete operations, and a couple of triggers (clean architecture, designing application structure) carry minor overlap risk.

DimensionReasoningScore

Specificity

The 'when' clause enumerates several specific design activities ("designing application structure, separating domain from infrastructure, creating testable boundaries"), but the core action ("Applies hexagonal (ports & adapters) architecture") is a single abstract task rather than multiple concrete operations like defining ports or mapping adapters, leaving minor coverage gaps — between the 1-2-action anchor and comprehensive coverage.

4 / 5

Completeness

Explicitly answers both what ("Applies hexagonal (ports & adapters) architecture") and when ("Use when designing application structure... or when user mentions ports, adapters, hexagonal, or clean architecture") with concrete trigger phrases, matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

"ports, adapters, hexagonal, or clean architecture" plus the parenthetical synonym "(ports & adapters)" comprehensively covers the natural terms users would actually say for this concept, matching the comprehensive-synonyms anchor.

5 / 5

Distinctiveness Conflict Risk

The hexagonal/ports-and-adapters niche is distinct with dedicated triggers, but "clean architecture" and "designing application structure" are broad enough to overlap with closely related architecture skills — minor overlap risk rather than minimal.

4 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository

ericjohnolson/tessl-test

Path

plugins/scaffolder/skills/hexagonal-architecture/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.