CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

design-patterns

Design patterns with Java examples - classic (Factory, Builder, Strategy, Observer, Decorator, Adapter) and enterprise/microservices (Saga, Outbox, CQRS). Use when user asks about patterns, designing extensible components, or distributed transaction strategies.

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 ./skills/design-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 strong, concrete, executable Java examples for all nine patterns with good selection guidance, but it is a monolithic ~540-line file that re-teaches patterns Claude already knows and duplicates its selection table. The biggest wins are splitting enterprise patterns into a references/ file and cutting the duplicate table and constructor boilerplate.

Suggestions

Remove the duplicate "Pattern Selection Guide" table (lines 520-531) or merge it with the "Quick Reference: When to Use What" table (lines 15-27) — they repeat the same mappings.

Move the enterprise/microservices patterns (Outbox, Saga, CQRS, ~200 lines) to references/enterprise-patterns.md and keep one-line summaries plus pointers in SKILL.md, keeping the frontmatter description intact.

Trim the repeated Spring constructor-injection boilerplate from every class example and show only the members that illustrate the pattern (Claude can generate the rest), which would also lift conciseness.

DimensionReasoningScore

Conciseness

The body is ~540 lines that re-teach classic GoF patterns (Builder, Factory, Strategy, Observer, Decorator, Adapter) with full code — concepts and boilerplate (repeated Spring constructor-injection blocks in every class) Claude already knows — and the "Quick Reference: When to Use What" table (lines 15-27) duplicates the "Pattern Selection Guide" table (lines 520-531). This fits 'Mostly efficient but includes some unnecessary explanation or could be tightened'; it is above score 2 because prose is sparse and mostly code, but below 4 due to the duplicated table and boilerplate.

3 / 5

Actionability

Every pattern ships a complete, executable Java example (e.g., Builder lines 36-78, Outbox lines 285-357, CQRS command/query services lines 424-508), copy-paste ready. Minor gaps keep it below 5: several snippets reference undefined classes (EmailNotification, NotificationSender, SugarDecorator, PaymentService), and the Saga example mixes in-process ApplicationEventPublisher with @KafkaListener without showing the event wiring between them.

4 / 5

Workflow Clarity

This is a lookup/reference skill with no destructive or batch operations, so no validation cap applies. Pattern selection is well-guided via the decision table, "When to use CQRS" / "When NOT to use" bullets, and the anti-patterns table with better approaches. It sits at 4 rather than 5 because the two near-identical selection tables introduce mild ambiguity, and there is no guidance for proceeding after pattern selection (e.g., tradeoff checks like the idempotency note buried in the anti-patterns table).

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and everything is inlined in one ~540-line monolith; the under-50-lines exception for scoring 5 does not apply. The ~200 lines of enterprise patterns (Outbox, Saga, CQRS) clearly belong in a references/ file, matching 'Some structure but could be better organized; content that should be separate is inline'. It is above 2 because section headers (Creational/Behavioral/Structural/Enterprise) and the quick-reference table give real navigational structure.

3 / 5

Total

14

/

20

Passed

Description

88%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.

Strong description: it explicitly enumerates both classic and enterprise patterns with Java framing, and includes a concrete 'Use when...' trigger clause. Only minor improvements available — broaden trigger synonyms and tighten the generic 'asks about patterns' trigger to reduce overlap with non-design-pattern queries.

DimensionReasoningScore

Specificity

"Design patterns with Java examples - classic (Factory, Builder, Strategy, Observer, Decorator, Adapter) and enterprise/microservices (Saga, Outbox, CQRS)" enumerates nine concrete patterns across two explicit categories, comprehensively covering what the skill contains. This matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' rather than score 4, which would require noticeable coverage gaps.

5 / 5

Completeness

The what is explicit and enumerated (classic and enterprise pattern lists) and the when is an explicit "Use when..." clause with three concrete trigger phrases. This matches the anchor 'Clearly and explicitly answers both what AND when with concrete trigger phrases'; it is not score 4 because the when-clause is already explicit and specific, not merely present-but-improvable.

5 / 5

Trigger Term Quality

The trigger clause "Use when user asks about patterns, designing extensible components, or distributed transaction strategies" includes natural phrases users would say, plus "microservices" in the what-clause. Common variations like "design patterns" as a trigger phrase, "coupling", "GoF", or "event-driven" are missing, matching 'Good keyword coverage; a few natural terms missing' rather than the comprehensive-synonym anchor at 5.

4 / 5

Distinctiveness Conflict Risk

Java-specific examples plus named patterns (Saga, Outbox, CQRS) establish a clear niche with minimal conflict risk. Minor overlap remains: the bare trigger "asks about patterns" could fire for non-Java or non-design-pattern queries (regex patterns, other languages), matching 'Mostly distinct; minor overlap risk with closely related skills' rather than the minimal-conflict anchor at 5.

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

skill_md_line_count

SKILL.md is long (542 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

piomin/claude-ai-spring-boot

Path

skills/design-patterns/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.