CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

moai-workflow-ddd

Domain-Driven Development workflow specialist using ANALYZE-PRESERVE-IMPROVE cycle for behavior-preserving code transformation. Use when refactoring legacy code or reducing technical debt safely.

Quality

65%

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 ./.claude/skills/moai-workflow-ddd/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

48%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 content has a strong process spine — clearly sequenced phases with validation gates, feedback loops, and a verification checklist — but it is padded with concepts Claude already knows and its AST-grep guidance stops at description level without executable examples. As a single-file monolith with no references, it also underuses progressive disclosure.

Suggestions

Cut the sections explaining knowledge Claude already has (coupling/cohesion metric formulas, the Extract/Move/Inline/Rename pattern catalog, the DDD-vs-TDD philosophy comparison) down to one-line pointers, keeping only the skill-specific workflow.

Add one concrete AST-grep rule example (YAML rule plus the `moai ast-grep` command to run it) and one characterization test example, replacing the abstract 'create a rule that...' instructions.

Split the ~410-line body into reference files (e.g., references/analysis.md, references/preservation.md, references/troubleshooting.md) with the body kept as a concise overview pointing to them one level deep.

DimensionReasoningScore

Conciseness

The body explains textbook concepts Claude already knows: coupling/cohesion metric definitions (Ca, Ce, Instability, Abstractness, Distance from Main Sequence), standard Fowler refactoring patterns (Extract Method/Class, Move Method, Inline, Rename), and a DDD-vs-TDD philosophy section; the 'When NOT to Use DDD' point is stated twice in Quick Reference. This matches anchor 2's 'several unnecessary explanations or padded sections' rather than 3's 'some unnecessary explanation'.

2 / 5

Actionability

There is some concrete guidance (5-step characterization-test procedure, incremental commit/revert loop, real paths like `.moai/config/astgrep-rules/` and commands `moai ast-grep`/`moai ast-edit`), but the core transformation guidance is pseudocode-level ('create a rule that identifies the code pattern and rewrites') with no executable AST-grep rule or test examples. Anchor 3's 'some concrete guidance but incomplete; missing key details' fits; anchor 4 requires mostly executable guidance.

3 / 5

Workflow Clarity

The ANALYZE-PRESERVE-IMPROVE sequence is clearly staged with explicit validation gates ('verify all existing tests pass (100% green)' before improving, run tests after each change), feedback loops ('If tests fail, revert immediately', git-stash recovery), and a final verification checklist. Not 5 because several checkpoints are high-level without commands ('Confirm safety net adequacy', 'Assess current test coverage'), matching anchor 4's 'minor validation gaps'.

4 / 5

Progressive Disclosure

Sections are well-organized with clear headers, but this is a ~410-line monolith with no bundle files at all — the DDD/TDD philosophy, refactoring pattern catalog, coupling metric definitions, and troubleshooting are inlined detail that belongs in reference files. Matches anchor 3's 'some structure... content that should be separate is inline'; not 4 because there is no appropriate split into references.

3 / 5

Total

12

/

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.

The description has an explicit third-person 'what' and 'when' with natural trigger phrases, but remains at a moderate level because it names the domain and cycle without listing concrete capabilities, and 'Domain-Driven Development' invites confusion with Domain-Driven Design. It communicates the skill's niche adequately but would benefit from naming its actual operations.

Suggestions

List 2-3 concrete operations in the description (e.g., 'creates characterization tests, measures coupling metrics, applies AST-grep rewrites') so the 'what' goes beyond naming the cycle.

Add trigger synonyms users naturally say, such as 'code modernization', 'API migration', or 'safe refactoring', to broaden keyword coverage.

Clarify that this is behavior-preserving refactoring rather than Domain-Driven Design (strategic design/bounded contexts) to reduce conflict with classic DDD skills.

DimensionReasoningScore

Specificity

Names the domain ('Domain-Driven Development workflow specialist') and one concrete mechanism ('ANALYZE-PRESERVE-IMPROVE cycle', 'behavior-preserving code transformation'), but lists no concrete operations such as characterization tests, coupling analysis, or AST-based rewrites. It stays at anchor 3 rather than 4 because several specific actions are required for the higher anchor, and above 1-2 actions only.

3 / 5

Completeness

Both are explicitly present: what ('workflow specialist using ANALYZE-PRESERVE-IMPROVE cycle for behavior-preserving code transformation') and when ('Use when refactoring legacy code or reducing technical debt safely'). Not 5 because the 'what' remains abstract without concrete actions, matching anchor 4's 'when could be more explicit or specific' in reverse.

4 / 5

Trigger Term Quality

'refactoring legacy code' and 'reducing technical debt' are natural phrases users would say, giving good keyword coverage. Missing common variations such as 'code modernization', 'API migration', or 'code cleanup', so it does not reach anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

'Domain-Driven Development' is a coined term that collides with the conventional DDD (Domain-Driven Design) meaning, and its triggers overlap with generic refactoring skills. Somewhat specific but could overlap with similar skills, matching anchor 3 rather than 4's 'minor overlap risk with closely related skills'.

3 / 5

Total

14

/

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

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository

modu-ai/moai-adk

Path

.claude/skills/moai-workflow-ddd/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.