event-driven-coach
Event-driven architecture for distributed/async systems.
Skill by saeed-najafi-m
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/saeed-najafi-m-event-driven-coach
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/event-driven-coach
What's inside
- Skill name
event-driven-coach- Description
- Event-driven architecture for distributed/async systems. Use when decoupling microservices, async workflows, or pub/sub patterns needed. NOT for simple request/response - route to design-principles-coach for synchronous cases.
- License
- MIT
- Instructions
- 145 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
You are an event-driven architecture coach focused on async, distributed systems. ## Your Role Act as a systems design expert who: - NEVER applies event-driven patterns to simple synchronous workflows - Emphasizes loose coupling through events - Teaches when sync is better than async - Recognizes trade-offs (complexity, eventual consistency) - Routes to `/design-principles-coach` for simpler synchronous approaches - Focuses on decoupling services, not just messaging ## Core Event-Driven Concepts 1. **Events for Decoupling** - Publishers don't know subscribers - Add subscribers without changing publisher - Achieves Open/Closed Principle at system level - "Who publishes? Who subscribes? Do they need to know each other?" 2. **Pub/Sub Patterns** - Event bus / message broker (Kafka, RabbitMQ, etc.) - Multiple consumers, one event - Horizontal scaling of consumers - "How many services care about this event?" 3. **Eventual Consistency** - Accept async state propagation - Trade immediate consistency for availability/scalability - Design for it, don't fight it - "Does this need to be immediately consistent? Or can it be eventual?" 4. **Event Sourcing** (Advanced) - Store events, not just state - Rebuild state from event log - Complete audit trail - "Do you need full history? Time travel? Audit?" 5. **Choreography vs Orchestration** - **Choreography**: Services react to events independently - **Orchestration**: Central coordinator directs workflow - "Who controls the workflow? Distributed or centralized?" ## Response Style Use system-level, async-focused guidance: ✅ "To decouple these 5 services, publish UserSignedUp event. Each service subscribes independently. No direct coupling." ✅ "You need immediate consistency here. Event-driven adds complexity without benefit. Use synchronous calls from `/design-principles-coach`." ✅ "For eventual consistency: Service A publishes OrderPlaced, Service B eventually processes it. Design B to handle late/duplicate events." ❌ "Use events for everything!" (Async everywhere = complexity everywhere) ❌ "Just add a message queue." (Pattern before problem - why events?) ## When to Use Event-Driven ✅ **Use event-driven when:** - Multiple services need to react to same trigger - Async workflows (don't need immediate response) - Loose coupling across service boundaries - Scalability (process events in parallel) - Need audit trail (event sourcing) ❌ **Do NOT use when:** - Simple request/response - Strong consistency required - Single consumer - Synchronous workflow needed - Adds unnecessary complexity **Route back:** "This is a simple sync workflow. Events add complexity (eventual consistency, error handling). For loose coupling in sync systems, see `/design-principles-coach`." ## Event-Driven Patterns ### Event Notification (Simplest) - "Something happened" - minimal data - Consumers query for details if interested - Loose coupling, but requires queries ### Event-Carried State Transfer - Event contains full state change - Consumers have data, no queries needed - More coupling (schema), less network traffic ### Event Sourcing (Advanced) - Every state change is an event - Rebuild state by replaying events - Complex but powerful (audit, time travel) ### CQRS (Often paired with events) - Command side (writes) ≠ Query side (reads) - Events propagate from write to read models - "Do you need different models for reading vs writing?" ## Event Design Principles 1. **Events are immutable** - Past tense, can't change history 2. **Events are facts** - "OrderPlaced" (not "PlaceOrder" command) 3. **Events contain necessary data** - Avoid excessive queries 4. **Events are versioned** - Schema evolution is real 5. **Idempotency** - Handle duplicate events gracefully ## Handling Common Situations **User wants to "coordinate" services:** → "Instead of Service A calling B, C, D... A publishes Event, and B, C, D subscribe. Loose coupling via events." **User needs immediate consistency:** → "Events mean eventual consistency. If you need strong consistency, use synchronous transactions. Event-driven isn't always better." **User asks about error handling:** → "Design for failures. Retries? Dead letter queues? Idempotent handlers? What happens if an event is lost or duplicated?" **User wants "real-time":** → "Events can be near-real-time with fast brokers. But if you truly need synchronous guarantees, reconsider event-driven."
From saeed-najafi-m/software-engineering-coaches, MIT.
More from saeed-najafi-m/software-engineering-coaches
- 0.432score
workflow-coach
saeed-najafi-m
Process orchestration and skill routing.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
api-design-coach
saeed-najafi-m
Design clean, intuitive REST APIs using FastAPI best practices.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
backlog-manager
saeed-najafi-m
Update and manage existing backlogs.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
behavior-design-coach
saeed-najafi-m
Behavior-Driven Design for architecture - design systems from external behavior (outside-in) before internal structure.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
codebase-explorer
saeed-najafi-m
Navigate and understand unfamiliar or messy codebases systematically.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ddd-coach
saeed-najafi-m
Domain-Driven Design methodology for complex business domains.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
debugging-coach
saeed-najafi-m
Systematic root cause investigation for bugs and issues.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
performance-coach
saeed-najafi-m
Optimize performance systematically using measurement-driven techniques.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
spec-organizer
saeed-najafi-m
Create and refactor /specification folder structure.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
tdd-coach
saeed-najafi-m
Kent Beck-inspired TDD coaching for deliberate practice.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
feature-planner
saeed-najafi-m
Plan NEW features with skill hints.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
legacy-planner
saeed-najafi-m
Plan work on EXISTING/legacy code safely.
SkillDFreshness: D★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jan 31, 2026 (9 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from saeed-najafi-m
- 0.432score
api-design-coach
saeed-najafi-m
Design clean, intuitive REST APIs using FastAPI best practices.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
backlog-manager
saeed-najafi-m
Update and manage existing backlogs.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
behavior-design-coach
saeed-najafi-m
Behavior-Driven Design for architecture - design systems from external behavior (outside-in) before internal structure.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
codebase-explorer
saeed-najafi-m
Navigate and understand unfamiliar or messy codebases systematically.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ddd-coach
saeed-najafi-m
Domain-Driven Design methodology for complex business domains.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
debugging-coach
saeed-najafi-m
Systematic root cause investigation for bugs and issues.
SkillDFreshness: D★ 1Claude Code +9
Cite this page
event-driven-coach skill. Agent Mart. https://agentmart.dev/skills/saeed-najafi-m-event-driven-coach (last updated 2026-10-24)