Skill

implementing-kafka-producers

Install
1
Install the plugin
$
npx claudepluginhub allousas/claude-code-plugins --plugin kotlin-building-blocks

Want just this skill?

Add to a custom plugin, then install with one command.

Description

Apply when creating, modifying, or reviewing any file that publishes events/messages to Kafka.

Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
examples.md
Skill Content

Purpose

Kafka producers that publish events/messages to kafka broker.

Typical Flow

  1. Receive domain event or message
  2. Serialize domain event/object to message format (JSON, protobuf, Avro, etc.)
  3. Publish to Kafka topic

Guidelines

DO:

  • Serialize domain events/objects to message format
  • Handle producer errors appropriately (log, retry, circuit breaker)
  • File naming: Kafka<Concern>Producer, e.g., KafkaTeamEventProducer, if an interface is implemented, then follow interface naming convention if any
  • Declare message DTOs in the same file for cohesion

DON'T:

  • Include business logic
  • Throw domain exceptions or return domain errors - use infrastructure exceptions/errors if needed

Spring specifics

  • Use kafka template to publish messages
  • Delegate serialization to ObjectMapper
  • Use @Component annotation do declare the bean

Examples

Please use always these examples as reference: examples.md

Stats
Stars1
Forks0
Last CommitFeb 25, 2026
Actions

Similar Skills

cache-components

Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.

138.4k