Community生產力與協作github.com

wshobson/cqrs-implementation

實作命令查詢責任隔離以實現可擴展架構。適用於分離讀寫模型、優化查詢效能或建構事件溯源系統。

cqrs-implementation 是什麼?

此技能提供全面的 CQRS(命令查詢責任隔離)實作指南,協助開發者在 AI 代理(如 Claude Code、Cursor 或 Codex)中設計可擴展的架構。其核心價值在於明確分離讀取與寫入模型,從而獨立優化查詢效能與命令處理。支援多種平台,並詳細說明如何結合事件溯源(Event Sourcing)與領域驅動設計(Domain-Driven Design, DDD),以應對高流量、複雜業務邏輯的場景。透過結構化步驟與最佳實務,此技能能自動化生成程式碼範本、配置讀寫資料庫連線,並整合訊息佇列來處理非同步事件,確保系統的一致性與回應性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wshobson/agents/tree/main/skills/cqrs-implementation

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

cqrs-implementation 是做什麼的?

實作命令查詢責任隔離以實現可擴展架構。適用於分離讀寫模型、優化查詢效能或建構事件溯源系統。

概述

此技能引導開發者遵循 CQRS 模式,將命令(寫入)與查詢(讀取)作業分離至不同的模型與資料儲存。透過解除讀寫操作的耦合,系統可針對擴展性與效能進行獨立最佳化。

使用時機

  • 應用程式面臨讀寫流量不對稱的問題(例如:大量讀取、少量寫入)。
  • 需要為查詢與命令分別調整資料結構與索引策略。
  • 在建構事件溯源系統時,需要將狀態變更儲存為事件序列。
  • 團隊希望採用領域驅動設計(DDD)與有界上下文(Bounded Context)來劃分複雜業務邏輯。

支援平台

  • Claude Code:可透過自然語言提示直接呼叫此技能。
  • Cursor:使用 .cursorrules 或 SKILL.md 整合此技能。
  • Codex CLI:將此技能中的指令嵌入專案說明檔案(如 README.md)。
  • 其他 AI 代理:只要支援自訂指令或 skill 定義,即可匯入使用。

技能運作方式

  1. 分析需求:技能會先解析使用者輸入的系統需求(例如:資料流量、領域事件)。
  2. 產生架構範本:根據分析結果,輸出 CQRS 的基本程式碼結構,包括命令處理器、查詢處理器、事件儲存及讀取模型。
  3. 配置資料儲存:提供命令資料庫(通常為關聯式或事件儲存)與查詢資料庫(可優化為 NoSQL 或記憶體快取)的連線設定範例。
  4. 整合事件匯流排:設定訊息佇列(如 RabbitMQ、Kafka)以處理領域事件的非同步發佈與訂閱。
  5. 提供最佳實務:包含命名慣例、交易邊界、最終一致性注意事項及錯誤處理策略。

範例流程

# 初始化 CQRS 專案結構
skill init cqrs --domain=Order

此命令會產生:

  • commands/:包含 CreateOrderCommand、UpdateOrderCommand 等類別。
  • queries/:包含 GetOrderQuery、ListOrdersQuery 等類別。
  • events/:定義 OrderCreated、OrderUpdated 等領域事件。
  • read-models/:實作針對查詢最佳化的資料視圖。
  • infrastructure/:提供事件匯流排、資料庫連線與 Repositories 的基礎設施程式碼。

環境變數

變數名稱說明預設值
COMMAND_DB_URL命令資料庫連線字串postgresql://localhost:5432/cqrs_commands
QUERY_DB_URL查詢資料庫連線字串mongodb://localhost:27017/cqrs_queries
EVENT_BUS_TYPE事件匯流排類型(kafka/rabbitmq)rabbitmq
EVENT_STORE_CONNECTION事件儲存連線字串postgresql://localhost:5432/event_store

注意:請根據部署環境調整上述連線資訊。

參考資源

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

wshobson/accessibility-compliance

Implement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.

wshobson/airflow-dag-patterns

Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.

wshobson/angular-migration

Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code.

wshobson/anti-reversing-techniques

Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.

wshobson/api-design-principles

Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.

wshobson/architecture-decision-records

Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.

wshobson/architecture-patterns

Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use this skill when designing clean architecture for a new microservice, when refactoring a monolith to use bounded contexts, when implementing hexagonal or onion architecture patterns, or when debugging dependency cycles between application layers.

wshobson/async-python-patterns

Master Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations.

wshobson/attack-tree-construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

wshobson/auth-implementation-patterns

Master authentication and authorization patterns including JWT, OAuth2, session management, and RBAC to build secure, scalable access control systems. Use when implementing auth systems, securing APIs, or debugging security issues.

wshobson/avoid-ai-writing

Audit and rewrite prose so it stops reading as machine-generated. Use this skill when asked to remove AI-isms, clean up AI writing, edit a draft for AI tells, audit a README, changelog, release note, PR description, or blog post for machine-sounding prose, or make text sound less like AI. Supports a detect-only mode, a rewrite mode, and an edit-in-place mode, with optional voice and context profiles.

wshobson/backtesting-frameworks

Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure.

wshobson/bash-defensive-patterns

Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.

wshobson/bats-testing-patterns

Master Bash Automated Testing System (Bats) for comprehensive shell script testing. Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities.

wshobson/bazel-build-optimization

Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.

wshobson/before-you-build

Pre-build product and feature risk review for founders, product managers, and AI-assisted builders. Use this skill when the user is about to build a landing page, MVP, SaaS product, internal tool, agent workflow, or major feature and needs to check demand, positioning, monetization, retention, trust, distribution, and adoption risk before implementation starts.

wshobson/billing-automation

Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management. Use when implementing subscription billing, automating invoicing, or managing recurring payment systems.

wshobson/binary-analysis-patterns

Master binary analysis patterns including disassembly, decompilation, control flow analysis, and code pattern recognition. Use when analyzing executables, understanding compiled code, or performing static analysis on binaries.

wshobson/block-no-verify-hook

Configure a PreToolUse hook to prevent AI agents from skipping git pre-commit hooks with --no-verify and other bypass flags. Use when setting up Claude Code projects that enforce commit quality gates.

wshobson/brand-landingpage

Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens — use frontend-design instead.

相關技能