Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems.
70
58%
Does it follow best practices?
Impact
87%
1.64xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/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 well-structured with a clear 'Use when...' clause that covers the key scenarios for CQRS adoption. Its main weakness is that the capability description is somewhat high-level—it could benefit from listing more concrete actions like creating command/query handlers, building read projections, or defining event schemas. The trigger terms are adequate but could include more natural variations.
Suggestions
Add more specific concrete actions such as 'create command handlers, build read projections, define event schemas, set up event stores' to improve specificity.
Include additional natural trigger terms and variations like 'command handler', 'read model', 'write model', 'event store', 'projection', 'separate reads from writes' to improve 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, building read projections, defining event stores). | 2 / 3 |
Completeness | Clearly answers both 'what' (Implement CQRS for scalable architectures) and 'when' with an explicit 'Use when...' clause covering three trigger scenarios: separating read/write models, optimizing query performance, and building event-sourced systems. | 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', 'write model', 'event store', 'projection', or the full acronym expansion. | 2 / 3 |
Distinctiveness Conflict Risk | CQRS is a well-defined architectural pattern with distinct terminology. The triggers ('read and write models', 'event-sourced systems') are specific enough to avoid conflicts with 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.
This skill provides high-quality, executable Python code for CQRS implementation but suffers severely from verbosity and poor organization. The ~400+ lines of inline code templates make it a monolithic reference document rather than a concise, actionable skill. It would benefit enormously from splitting templates into separate files and trimming the main body to a concise overview with clear implementation steps.
Suggestions
Move the five code templates into separate referenced files (e.g., COMMAND_INFRASTRUCTURE.md, QUERY_INFRASTRUCTURE.md, etc.) and keep only a concise overview with navigation links in the main SKILL.md
Remove the 'Core Concepts' section entirely (architecture diagram, component table) — Claude already understands CQRS concepts and this wastes ~40 lines of context
Add an explicit step-by-step implementation workflow with validation checkpoints, e.g.: 1. Define commands → 2. Implement command handlers → 3. Set up event store → 4. Verify events are persisted → 5. Build read model projections → 6. Verify read model sync
Remove the 'When to Use This Skill' list — this duplicates the skill description metadata and explains decision-making Claude can handle independently
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. The architecture diagram, component table, and 'When to Use' list 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 fully executable Python with concrete implementations including FastAPI endpoints, command/query buses, event store integration, and read model synchronization. Code is copy-paste ready with real patterns, not pseudocode. | 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 setup works correctly, no integration testing guidance, 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 monolithically inlined in a single massive file. Five large code templates that could easily be separate reference files are all present in the main skill body. The external resource links at the bottom are generic references, not structured companion files. No content is split or navigable. | 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 (555 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
6e3d68c
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.