Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems.
75
58%
Does it follow best practices?
Impact
84%
1.33xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/backend-development/skills/cqrs-implementation/SKILL.mdQuality
Discovery
75%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 is competent with a clear 'Use when' clause and a distinct architectural niche, making it easy for Claude to know when to select it. However, it could benefit from more specific concrete actions beyond the high-level 'implement CQRS' and richer trigger terms that users might naturally use when discussing this pattern.
Suggestions
Add more specific concrete actions such as 'create command handlers, define read projections, set up event stores, implement aggregate roots' to improve specificity.
Include additional natural trigger terms like 'command handler', 'read projection', 'separate read database', 'event store', and spell out 'Command Query Responsibility Segregation' alongside 'CQRS' for better keyword coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (CQRS) and mentions some actions like 'separating read and write models' and 'optimizing query performance', but doesn't list multiple concrete specific actions (e.g., creating command handlers, defining read projections, setting up event stores). | 2 / 3 |
Completeness | Clearly answers both 'what' (implement CQRS for scalable architectures) and 'when' (separating read/write models, optimizing query performance, building event-sourced systems) with an explicit 'Use when' clause. | 3 / 3 |
Trigger Term Quality | Includes relevant terms like 'CQRS', 'read and write models', 'query performance', and 'event-sourced systems', but misses common natural variations users might say such as 'command handler', 'read model projection', 'separate database for reads', or the full acronym expansion alongside the abbreviation. | 2 / 3 |
Distinctiveness Conflict Risk | CQRS is a well-defined architectural pattern with a clear niche. The triggers are specific enough (read/write model separation, event sourcing) that it's unlikely to conflict with other skills like general architecture or database optimization skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable Python code for CQRS implementation, which is its primary strength. However, it is excessively verbose—explaining concepts Claude already understands, including a large ASCII diagram and component table, and inlining five substantial code templates that should be in separate files. The lack of an explicit end-to-end implementation workflow and missing progressive disclosure significantly reduce its effectiveness as a skill file.
Suggestions
Remove the 'Core Concepts' section (architecture diagram, component table) entirely—Claude already knows CQRS concepts; focus only on implementation-specific decisions and patterns.
Extract the five code templates into separate referenced files (e.g., COMMAND_INFRA.md, QUERY_INFRA.md, FASTAPI_CQRS.md) and keep SKILL.md as a concise overview with links.
Add an explicit step-by-step workflow for implementing CQRS in a new project, including validation checkpoints (e.g., verify event store writes, confirm read model sync, test eventual consistency).
Remove the 'When to Use This Skill' list—this duplicates the skill description metadata and wastes tokens on decision-making Claude can handle.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. The architecture diagram, component table, and 'When to Use This Skill' section explain concepts Claude already knows. Five large templates with extensive boilerplate code could be significantly condensed. The 'Core Concepts' section is entirely unnecessary for Claude. | 1 / 3 |
Actionability | The code templates are concrete, executable Python with real implementations including FastAPI endpoints, command/query buses, event store integration, and read model synchronization. Code is copy-paste ready with proper imports and type hints. | 3 / 3 |
Workflow Clarity | The templates show individual components clearly but lack an explicit step-by-step workflow for implementing CQRS end-to-end. There's no validation checkpoint for verifying the read model sync is working correctly, and no explicit sequence for wiring components together. The read model synchronizer has basic error handling but no clear recovery workflow. | 2 / 3 |
Progressive Disclosure | All content is in a single monolithic file with no references to external files. Five large code templates are inlined when they could be split into separate reference files. The skill would benefit greatly from a concise overview with links to detailed template files. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (550 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
27a7ed9
Table of Contents
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.