CtrlK
BlogDocsLog inGet started
Tessl Logo

hexagonal-architecture

Design, implement, and refactor Ports & Adapters systems with clear domain boundaries, dependency inversion, and testable use-case orchestration across TypeScript, Java, Kotlin, and Go services.

57

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./skills/hexagonal-architecture/SKILL.md

The canonical home for this skill is tdg-personal/hexagonal-architecture

SKILL.md
Quality
Evals
Security

Quality

Content

65%

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

A thorough, highly actionable skill with executable code and concrete cross-language guidance, weakened by some redundant conceptual explanation, missing validation checkpoints in the risky migration workflow, and no progressive disclosure into bundle files. Tightening known-concept restatements and adding explicit validation gates would lift the lower dimensions.

Suggestions

Trim the "Core Concepts" section to project-specific conventions only, removing generic definitions of ports/adapters/domain that Claude already knows.

Add explicit validation checkpoints to the Migration Playbook (e.g., "run characterization tests; only proceed when green") to support the destructive refactoring flow.

Split the Multi-Language Mapping and/or full TypeScript example into reference files under references/ and link to them one level deep to improve progressive disclosure.

DimensionReasoningScore

Conciseness

Mostly actionable and dense, but the "Core Concepts" section restates patterns Claude already knows (what a domain model, port, or adapter is) and the file runs ~270 lines. Not a 3 because some explanation is redundant; not a 1 because the bulk is concrete convention rather than generic filler.

2 / 3

Actionability

Provides complete, executable TypeScript (port interfaces, use-case class, Postgres adapter, composition-root factory) plus concrete package layouts for Java/Kotlin/Go and a copy-paste-ready module structure. Matches the "fully executable code/commands; copy-paste ready" anchor.

3 / 3

Workflow Clarity

"How It Works" (Steps 1–6) and the Migration Playbook (7 steps) are clearly sequenced, but a risky refactoring workflow lacks explicit validate-before-proceed checkpoints, capping workflow clarity at 2 per the feedback-loop guideline. Not a 1 because sequencing is explicit; not a 3 because validation gates are implicit rather than enforced.

2 / 3

Progressive Disclosure

Sections are well-organized, but the skill is a single >50-line monolithic SKILL.md with no references/, scripts/, or assets/ bundle, and content like the multi-language mapping or full example could be split out. Not a 3 because there are no one-level-deep external references; not a 1 because internal structure is clear and navigable.

2 / 3

Total

9

/

12

Passed

Description

67%

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, specific description that clearly conveys what the skill does and is well-differentiated, but it lacks an explicit "Use when..." trigger clause and leans on technical jargon over the natural terms a user would say. Adding trigger guidance and common phrasings like "hexagonal/clean architecture" would raise completeness and trigger-term quality.

Suggestions

Append an explicit "Use when..." clause naming concrete triggering situations (e.g., refactoring framework-heavy services, decoupling domain logic from infrastructure, adding a new transport to an existing use case).

Add natural user-facing terms such as "hexagonal architecture", "clean architecture", and "decoupling services" alongside "Ports & Adapters".

Consider trimming the jargon-heavy tail ("dependency inversion", "use-case orchestration") or moving it after the trigger clause so the opening stays scannable.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Design, implement, and refactor" — alongside specific attributes ("domain boundaries, dependency inversion, ... use-case orchestration"), matching the "lists multiple specific concrete actions" anchor.

3 / 3

Completeness

Clearly states what the skill does, but provides no explicit "Use when..." trigger guidance, so per the judging guideline completeness is capped at 2. Not a 1 because the "what" is strong and specific.

2 / 3

Trigger Term Quality

Includes the natural niche term "Ports & Adapters" but leans on jargon ("dependency inversion", "use-case orchestration") and omits common variations a user might say ("hexagonal architecture", "clean architecture", "decoupling"). Not a 3 because coverage of natural user phrasings is incomplete; not a 1 because "Ports & Adapters" is a genuine trigger term.

2 / 3

Distinctiveness Conflict Risk

"Ports & Adapters systems ... across TypeScript, Java, Kotlin, and Go services" carves a clear niche with distinct triggers unlikely to fire for unrelated skills. Not a 2 because the pattern name plus language list is highly specific rather than broadly overlapping.

3 / 3

Total

10

/

12

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
affaan-m/ECC
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.