Agent Skill
2/7/2026

rabbitmq-skill

Use this skill to implement RabbitMQ consumers and infrastructure. It provides templates for creating type-safe consumers and setting up the listening engine with OpenTelemetry support.

P
penitence1992
0GitHub Stars
1Views
npx skills add Penitence1992/go-zero-backend-skills

SKILL.md

Namerabbitmq-skill
DescriptionUse this skill to implement RabbitMQ consumers and infrastructure. It provides templates for creating type-safe consumers and setting up the listening engine with OpenTelemetry support.

name: rabbitmq-skill description: Use this skill to implement RabbitMQ consumers and infrastructure. It provides templates for creating type-safe consumers and setting up the listening engine with OpenTelemetry support.

RabbitMQ Implementation

This skill provides patterns for robust RabbitMQ consumer implementation.

Execution Steps

Step 1: Create Consumer Handler

Create a new consumer in listener/ (or internal/mq/) using the template.

Template Usage:

  • Source: templates/consumer.go.tmpl
  • Target: listener/{{CONSUMER_NAME_LOWER}}.go
  • Variables:
    • {{PACKAGE_NAME}}: Package name (e.g., listener)
    • {{MODULE_NAME}}: Go module name
    • {{CONSUMER_NAME}}: Consumer struct name (e.g., MatchStatus)
    • {{MESSAGE_TYPE}}: Struct type of the message (e.g., types.MatchMsg)
    • {{QUEUE_NAME}}: Queue name

Step 2: Register Listener

In main.go or listener/listener.go (if creating a separate service):

// Create consumer instance
consumer := New{{CONSUMER_NAME}}Consumer(ctx, svcCtx)

// Create listener wrapper
l := rabbitmq.NewListener[types.MatchMsg](consumer)

// Start listener
l.Start()

Step 3: Setup Infrastructure (One-time)

If infra/rabbitmq/ does not exist, use templates/infra.go.tmpl (or copy detailed implementation from SKILL Reference) to create the base listener engine.

Templates Location

  • templates/consumer.go.tmpl: Standard typed consumer handler.
  • templates/infra.go.tmpl: Infrastructure skeleton (refer to SKILL.md text for full impl if not using library).
Skills Info
Original Name:rabbitmq-skillAuthor:penitence1992