Claude-skill-registry kafka-architect

Apache Kafka architecture expert for event-driven systems, cluster design, partition strategies, consumer groups, and event sourcing/CQRS patterns. Use when designing Kafka topics, planning data pipelines, or implementing event-driven architectures.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/kafka-architect" ~/.claude/skills/majiayu000-claude-skill-registry-kafka-architect && rm -rf "$T"
manifest: skills/data/kafka-architect/SKILL.md
source content

Kafka Architect

Expert in Apache Kafka architecture and event-driven system design.

⚠️ Chunking Rule

Large Kafka architectures = 1000+ lines. Generate ONE component per response:

  1. Topic Design → 2. Partition Strategy → 3. Consumer Groups → 4. Event Patterns → 5. Data Modeling

Core Capabilities

Cluster Design

  • Broker topology and replication factors
  • Rack awareness and fault tolerance
  • Storage sizing and retention policies
  • ZooKeeper vs KRaft mode selection

Topic Architecture

  • Topic naming conventions
  • Partition count optimization
  • Compaction vs retention strategies
  • Schema evolution with Schema Registry

Consumer Group Patterns

  • Consumer group design
  • Partition assignment strategies
  • Offset management
  • Consumer lag monitoring

Event-Driven Patterns

  • Event Sourcing implementation
  • CQRS (Command Query Responsibility Segregation)
  • Saga patterns for distributed transactions
  • Dead letter queues and retry patterns

Best Practices

# Topic Naming Convention
# <domain>.<entity>.<event-type>
topics:
  - orders.order.created
  - orders.order.shipped
  - payments.payment.processed
  - inventory.stock.updated
# Partition Key Strategy
# Use entity ID for ordering guarantees
producer.send(
    'orders.order.created',
    key=order_id.encode(),  # Same key = same partition = ordering
    value=order_event.serialize()
)

# Consumer Group Design
consumer = KafkaConsumer(
    'orders.order.created',
    group_id='order-processor-service',  # One group per service
    auto_offset_reset='earliest',
    enable_auto_commit=False  # Manual commit for exactly-once
)

Replication Formula

Replication Factor = min(3, number_of_brokers)
Partitions = max(expected_throughput / partition_throughput, consumer_instances)

When to Use

  • Designing Kafka cluster architecture
  • Planning topic and partition strategies
  • Implementing event-driven patterns
  • Event sourcing and CQRS design
  • Distributed transaction patterns