# Mirrord Header Propagation

Makes a codebase propagate W3C baggage (the `baggage` header carrying...

- Repository: https://github.com/metalbear-co/mirrord (5397 stars)
- Category: DevOps
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add metalbear-co/mirrord --skill mirrord-header-propagation -g -a claude-code -y`
Codex: `npx skills add metalbear-co/mirrord --skill mirrord-header-propagation -g -a codex -y`
Cursor: `npx skills add metalbear-co/mirrord --skill mirrord-header-propagation -g -a cursor -y`
Gemini CLI: `npx skills add metalbear-co/mirrord --skill mirrord-header-propagation -g -a gemini-cli -y`

## Description

Makes a codebase propagate W3C baggage (the `baggage` header carrying `mirrord-session=<key>`) end to end, so mirrord HTTP filters, preview environments, and queue splitting can route a whole request chain to one developer's session. Detects existing OpenTelemetry, Datadog, or other tracing that can already propagate baggage and enables it; otherwise adds a small propagation layer. Covers inbound/outbound HTTP and gRPC, publishing to and consuming from Kafka, RabbitMQ, SQS/SNS, GCP Pub/Sub, Azure Service Bus, NATS, Redis Pub/Sub, BullMQ and Temporal, per-message context restore in consumers, and storage hand-offs such as a GCS signed URL upload that triggers Pub/Sub or an S3 presigned upload that triggers SQS. Ends with a report of every flow found and which ones still drop the header. Use when the user asks to propagate headers, baggage, tracestate, the mirrord session key, or trace context across services or queues, or when a mirrord filter matches the first service but not downstream services or queue consumers.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# mirrord Header Propagation Skill

> mirrord routes traffic to a developer's session by matching a header. The convention is W3C `baggage` with a `mirrord-session=<key>` entry: HTTP filters use `"header_filter": "^baggage: .*mirrord-session={{ key }}.*$"`, and queue splitting filters on a message header or attribute named `baggage`. That only works past the first hop if **every service forwards `baggage` on every outgoing call and every message it publishes**, and every consumer restores it from each message it handles. This skill makes a codebase do that, preferring the observability stack it already has.

## Security Boundaries

> **IMPORTANT:** Follow these rules for all operations in this skill.

The rest: https://github.com/metalbear-co/mirrord/blob/HEAD/mirrord/mcp/corpus/skills/mirrord-header-propagation/SKILL.md
