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 well-structured with a clear 'Use when' clause that covers the main scenarios for CQRS adoption. Its main weakness is that the 'what' portion is somewhat high-level—it could benefit from listing more concrete actions like creating command/query handlers, defining projections, or setting up event stores. The trigger terms are adequate but could include more natural language variations.
Suggestions
Add more concrete actions to the 'what' portion, e.g., 'Creates command handlers, query projections, and event store configurations for CQRS architectures.'
Expand trigger terms to include natural variations like 'command handler', 'read projection', 'separate read database', 'write model', and the full expansion 'Command Query Responsibility Segregation' alongside the acronym.
| 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' (explicit 'Use when' clause covering separating read/write models, optimizing query performance, or 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 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 severely bloated—explaining concepts Claude already understands, including an ASCII architecture diagram and component table that add little value, and inlining ~400 lines of templates that should be in separate bundle files. The lack of an explicit end-to-end implementation workflow with validation checkpoints weakens its utility as a guide.
Suggestions
Remove the 'Core Concepts' section (architecture diagram, component table, 'When to Use' list)—Claude already knows what CQRS is. Replace with a 5-line summary of project-specific conventions only.
Split the five templates into separate bundle files (e.g., commands.py, queries.py, api.py, sync.py, consistency.py) and reference them from a concise SKILL.md overview.
Add an explicit step-by-step implementation workflow: 1) Define commands/events, 2) Implement command handlers, 3) Set up read model projections, 4) **Verify** projection sync with a test query, 5) Wire up API endpoints, 6) **Validate** eventual consistency behavior.
Trim each template to show only the essential pattern (e.g., one command + handler, one query + handler) rather than multiple concrete examples that repeat the same structure.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~400+ lines. The architecture diagram, component table, and 'When to Use This Skill' list explain concepts Claude already knows well. Five large templates with extensive boilerplate code could be dramatically 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, no guidance on testing the eventual consistency, and no error recovery workflow beyond a basic try/except in the synchronizer. | 2 / 3 |
Progressive Disclosure | All content is in a single monolithic file with no references to supporting files. The five large templates (command infrastructure, query infrastructure, FastAPI app, read model sync, eventual consistency) should be split into separate referenced files, with SKILL.md serving as a concise overview. | 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 | |
112197c
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.