CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ddd-tactical-patterns

Apply DDD tactical patterns in code using entities, value objects, aggregates, repositories, and domain events with explicit invariants.

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

Quality

Content

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

A well-crafted, token-efficient skill body: crisp triggers and anti-triggers, a coherent five-step design workflow, an executable invariant example, and a properly signaled single reference that exists and is well organized. The main gaps are coverage (only the entity pattern has code) and the lack of an explicit validation/testing checkpoint in the workflow.

Suggestions

Add one short executable example for a value object (validation at construction, equality by value) and a domain event (e.g., `OrderSubmitted` with a minimal payload) so each directed pattern also has concrete form.

Add an explicit verification step to the workflow, e.g., "6. Confirm every invariant identified in step 1 has an enforcing test" instead of deferring this to Limitations.

The reference pointer could name the section a reader needs (e.g., 'open `references/tactical-checklist.md` for per-pattern checklists') — a small polish that makes navigation even more direct.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: no space is spent explaining what DDD is, what repositories are for, or how TypeScript works. Every section (Use when / Do not use when / Instructions / Example / Limitations) earns its place, matching the anchor "every token earns its place" — nothing to trim, so not 4.

5 / 5

Actionability

Concrete, executable guidance dominates: imperative, specific directives ("Identify invariants first and design aggregates around them", "Keep repositories at aggregate root boundaries") plus a runnable TypeScript example enforcing invariants in `Order.submit`. Not 5 because only the entity pattern gets code — value objects, repositories, and domain events are directed but not exemplified, leaving coverage gaps; not 3 because what is provided is genuinely executable, not pseudocode.

4 / 5

Workflow Clarity

The five instructions form a coherent, correctly ordered design workflow (invariants → value objects → behavior placement → events → repositories). Validation is only deferred ("should be paired with testing patterns for invariant coverage") rather than built in as a checkpoint, which keeps it below 5; this is a design-guidance skill, not a destructive/batch operation, so the validation cap does not apply, and the sequence is far too coherent for 3.

4 / 5

Progressive Disclosure

The ~45-line body is cleanly sectioned and defers detail behind a single, clearly signaled, one-level-deep reference ("If detailed checklists are needed, open `references/tactical-checklist.md`"), which exists and contains exactly the promised checklists. No inlined bulk content and no nested references, matching the ideal structure; nothing to improve toward a different anchor.

5 / 5

Total

18

/

20

Passed

Description

66%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 precise, lean description that clearly states what the skill does and names the concrete pattern vocabulary a DDD-aware user would naturally use. Its main deficiency is the complete absence of a "Use when..." trigger clause, which caps completeness and leaves triggering to inference. Adding one or two sentence of explicit usage triggers would move it into the top band.

Suggestions

Append an explicit trigger clause, e.g., "Use when implementing or refactoring domain models with DDD, designing aggregate boundaries, or converting an anemic domain model into behavior-rich objects."

Add a natural-language synonym for discoverability, such as spelling out "domain-driven design (DDD)" so users who type the full phrase also match.

Optionally name one concrete action beyond the generic "Apply" (e.g., "Design aggregates around invariants") to strengthen the action vocabulary.

DimensionReasoningScore

Specificity

The description enumerates the full tactical palette concretely ("entities, value objects, aggregates, repositories, and domain events with explicit invariants") rather than vague domain-speak. It sits between anchor 3 and 5: coverage of the concepts is comprehensive, but there is only a single generic verb ("Apply"), not the multiple specific actions (e.g., extract, fill, merge) of a 5.

4 / 5

Completeness

The "what" is clear and concrete ("Apply DDD tactical patterns in code using entities, value objects, aggregates, repositories, and domain events"), but there is no "Use when..." clause or any explicit trigger guidance for when to reach for the skill. Per the judging guidelines, a missing explicit trigger clause caps completeness at 3; the strong "what" keeps it from scoring 2.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "DDD", "aggregates", "value objects", "domain events", "repositories", "invariants" are all terms a user needing this skill would plausibly say. Not 5 because common synonyms are missing (e.g., the spelled-out "domain-driven design", "anemic domain model", "bounded context" adjacency); not 3 because coverage goes well beyond "some relevant keywords" with several precise, natural terms.

4 / 5

Distinctiveness Conflict Risk

The niche is well-delineated — tactical DDD implementation with named pattern constructs — and unlikely to trigger for unrelated skills. Not 5 because "Apply DDD tactical patterns in code" could mildly overlap with general OOP-design, architecture, or a DDD strategic-patterns skill; not 3 because the named constructs make it far more specific than "somewhat specific but overlapping".

4 / 5

Total

15

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/ddd-tactical-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.