Senior Architect
Acts as a senior software architect: evaluates tradeoffs, documents decisions, and diagrams system designs.
Before & after
Same prompt, same agent — the only difference is the skill.
That's a complex problem. You'd need to think about ingestion speed, how you store events, how users query them, and how you handle scale. There are a lot of approaches—you could use message queues, a database like Cassandra or PostgreSQL, maybe a data warehouse for analytics. The key trade-offs are between consistency, availability, and partition tolerance. You'd also want to think about failover, replication, and monitoring. I could walk through some options, but it really depends on your specific constraints—what's your expected throughput, retention requirements, user query patterns?
REAL-TIME EVENT PLATFORM - SYSTEM ARCHITECTURE
PROBLEM STATEMENT
• Ingest: 100K events/sec (peak)
• Latency: Query event count within 5 sec (quorum read)
• Retention: 30 days hot, 1 year cold
• Consistency: Eventual consistency acceptable (events are immutable)
• Availability: 99.95% uptime SLA
ARCHITECTURE OVERVIEW
INGESTION LAYER
→ Event source (user app, webhook, SDK)
→ Apache Kafka cluster (6 brokers, 3-partition topic per event type)
→ [Justification] Kafka handles 100K msg/sec throughput with sub-10ms p99 latency; replication factor 3 ensures durability
PROCESSING LAYER
→ Kafka Stream or Flink job (event validation, deduplication, enrichment)
→ Output: validated events routed to two destinations (hot + cold storage)
→ [Justification] Streaming processor drops duplicates (idempotency by event_id) and enriches events with metadata (user timezone, account type)
HOT STORAGE (for real-time queries, <30 days)
→ Apache Cassandra cluster (12 nodes, replication factor 3)
→ Table schema: events (partition_key: account_id+date, sort_key: timestamp, columns: event_type, payload, user_id)
→ [Justification] Cassandra: write optimized (append-only), handles 100K writes/sec, query latency <50ms p99 (meets 5-sec requirement for sub-second queries)
→ Compaction: Time-window compaction, delete records older than 30 days automatically
COLD STORAGE (for historical queries, 30d-1y)
→ S3 (Parquet files, partitioned by date and event_type)
→ Athena (SQL queries on S3 data) or Snowflake (if data warehouse needed)
→ [Justification] Cost-optimized: S3 is 1/10th the cost of Cassandra for archival
QUERY LAYER
→ API Gateway (rate limit 1000 req/sec per account)
→ Query service (microservice) handles two query patterns:
• Hot query (last 7 days) → hits Cassandra → <100ms latency
• Cold query (older data) → hits Athena → <30s latency
→ Caching: Redis layer (1-hour TTL) for high-volume queries ("give me today's event count")
MONITORING & OBSERVABILITY
→ Prometheus + Grafana (metrics: event throughput, Cassandra latency, Kafka lag)
→ ELK Stack (event logs) for debugging individual event failures
→ Alerting: PagerDuty triggers if Kafka lag > 5 min OR Cassandra p99 latency > 200ms
FAILOVER & DISASTER RECOVERY
→ Kafka replication factor 3 (survives 2 broker failures)
→ Cassandra replication factor 3 (survives 2 node failures)
→ Cross-region standby: Secondary Cassandra cluster in different AZ, synced via change-data-capture (CDC)
→ Recovery time objective (RTO): <5 min if primary region fails
TRADE-OFFS DOCUMENTED
TRADE-OFF 1: Consistency vs Speed
• We chose: Eventual consistency (Cassandra)
• Alternative: Strong consistency (PostgreSQL with Raft)
• Rationale: Events are immutable facts. Users accept eventual consistency (5-sec lag) in exchange for 10x higher throughput.
• Risk: If user updates account membership and immediately queries events, they might see events from a moment before. Mitigated via read-repair in Cassandra.
TRADE-OFF 2: Hot vs Cold Storage Split
• We chose: Separate systems (Cassandra for hot, S3/Athena for cold)
• Alternative: Single database (DuckDB or ClickHouse for everything)
• Rationale: Cost savings on cold data (S3) outweigh operational complexity. Hot queries are 95% of traffic; Cassandra optimized for that.
TRADE-OFF 3: Streaming Processing Language
• We chose: Apache Flink
• Alternative: Kafka Streams (lighter), Spark Streaming (batch-like)
• Rationale: Flink has best-in-class state management for deduplication; native support for complex windowed aggregations needed for enrichment.
DEPLOYMENT TOPOLOGY
• Region: AWS US-East-1
• K8s cluster: 30 nodes (reserved instances), 3-node Cassandra statefulset, 6-broker Kafka statefulset
• Auto-scaling: Query service scales 5-50 pods based on QPS load (target 500 req/pod)
MILESTONES
• Week 1-2: Kafka cluster setup + validation under load testing (simulate 100K events/sec)
• Week 3-4: Cassandra cluster + Flink deduplication pipeline
• Week 5: Query service API + Redis caching layer
• Week 6: Monitoring setup (Prometheus, PagerDuty alerts)
• Week 7: Disaster recovery testing + documentation
• Week 8: Production launch (canary deploy to 10% of events first)
KEY ASSUMPTIONS
• Event payload < 1KB on average
• Account count: <100K (governs sharding strategy)
• 90% of queries are within last 7 days
• Event deduplication required (SDK retries = duplicate events possible)
ARCHITECTURE DECISION RECORD
→ File: /docs/ADR-001-event-platform-architecture.md
→ Date: 2026-07-31
→ Status: Approved by CTO
→ Rationale: See trade-offs section aboveAbout this skill
name: senior-architect description: Use when This skill should be used when the user asks to "design system architecture", "evaluate microservices vs monolith", "create architecture diagrams", "analyze dependencies", "choose a database", "pla...
Senior Architect
This skill should be used when the user asks to "design system architecture", "evaluate microservices vs monolith", "create architecture diagrams", "analyze dependencies", "choose a database", "plan for scalability", "make technical decisions", or "review system design". Use for architecture decision records (ADRs), tech stack evaluation, system design reviews, dependency analysis, and generating architecture diagrams in Mermaid, PlantUML, or ASCII format.
What you get
- Public GitHub repo (alirezarezvani/claude-skills)
- the senior-architect skill folder with SKILL.md. Part of a 337-skill / 30-agent / 70-command install.
Customize your output
- Fork the repo and adapt the skill's instructions and references to your workflow.
Example output
Activates automatically when your request matches Senior Architect; chains with the other skills, agents, and commands in the collection.
Best for
Creators, builders, and teams using Claude Code.
SKILL.md preview
---
name: senior-architect
description: Use when the user needs to design system architecture, evaluate microservices versus monolith, produce architecture diagrams, or write an architecture decision record.
version: 1.0.0
category: Development / Engineering
author: AgentVolt
license: proprietary
tags:
- development
- engineering
---
# Senior Architect
Acts as a senior software architect: evaluates tradeoffs, documents decisions, and diagrams system designs.
## When to use
… (sign up to view the full skill)More development skills
View all Development skills →Generate
Scaffold code, tests, and boilerplate from a short spec.
Performance Profiler
Systematic performance profiling for Node.js, Python, and Go applications.
Threat Detection
Use when hunting for threats in an environment, analyzing IOCs, or detecting behavioral anomalies in telemetry.
Agent Harness
Turns a domain folder of skills into a bounded agentic loop: compile a goal into a task plan, execute with the domain's tools, verify every task, retry within a budget.