skills/mirrord-config/SKILL.md
Helps users generate, edit, and validate mirrord.json configuration files for mirrord (MetalBear). Use when the user wants to connect their local process to a Kubernetes environment, configure features (env/fs/network), or needs feedback on an existing mirrord.json. Always ensures output JSON is valid and schema-conformant.
npx skillsauth add metalbear-co/skills mirrord-configInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate and validate mirrord.json configuration files:
references/schema.json) is sufficient; mirrord verify-config is an optional extra when the CLI is already installed locally.Step 1: Load references
Read BOTH reference files from this skill's references/ directory:
references/schema.json - Authoritative JSON Schemareferences/configuration.md - Configuration referenceIf using absolute paths, these are located relative to this skill's installation directory. Search for them if needed using patterns like **/mirrord-config/references/*.
Step 2: Check mirrord CLI availability
# Check if installed
which mirrord
If mirrord is not available:
references/schema.json until CLI validation is possibleStep 3: Validate before presenting After generating any config:
references/schema.json first (required)mirrord is already installed locally, the user may run mirrord verify-config /path/to/config.json for an extra check. Do not treat the CLI as a prerequisite for this skill.User describes what they want without providing JSON.
User provides JSON to check.
User wants changes to their config.
{
"type": "Success",
"warnings": [],
"compatible_target_types": [...]
}
Target selection:
"target": "pod/name" or {"path": "pod/name", "namespace": "staging"}operator if using operator modekube_context if neededFeatures:
"env": true - Mirror environment variables"env": {"include": "VAR1;VAR2"} - Selective inclusion"fs": "read" - Read-only filesystem access"network": true - Enable network mirroring"network": {"incoming": {"mode": "steal"}} - Steal incoming trafficNetwork modes:
incoming.mode values (e.g., "steal", "mirror", "off")Templating:
"target": "{{ get_env(name=\"TARGET\", default=\"pod/fallback\") }}"{{key}}, use it verbatim — do not expand it into a get_env() call or any other Tera expression. The user's {{key}} is the value they want.Must enforce:
additionalProperties where schema forbids themPath notation for errors:
Use JSON Pointer style: /feature/network/incoming/mode
If request is under-specified, ask for ONE detail:
Otherwise provide safe defaults and note assumptions.
Every generated or modified config MUST be validated before presentation:
references/schema.jsonmirrord is installed, save config to temporary file and run mirrord verify-config <file>Never skip validation. Schema validation is mandatory; CLI validation is an additional check when available.
✓ Schema-first: Output must conform to schema.json
✓ No hallucination: Only use documented keys
✓ Valid JSON: Always parseable, no comments
✓ Actionable feedback: Clear explanations of what to fix and why
✓ Minimal configs: Don't set unnecessary options
"Connect to pod api-7c8d9 in staging, steal traffic on port 8080, exclude secret env vars" → Read references, generate minimal config with target, network.incoming, env.exclude
User provides invalid JSON with trailing comma → Parse error → Fix syntax → Validate against schema → Explain issues → Provide corrected config
"Is my config valid?" + JSON provided → Check syntax → Validate all keys/types against schema → List violations → Suggest fixes
tools
Helps DevOps engineers configure mirrord Operator's Kafka queue splitting feature end-to-end. Generates MirrordKafkaClientConfig and MirrordKafkaTopicsConsumer Kubernetes CRD YAMLs, the matching mirrord.json split_queues section, and Helm value guidance. Use this skill whenever the user mentions Kafka splitting with mirrord, MirrordKafkaClientConfig, MirrordKafkaTopicsConsumer, Kafka queue splitting, Kafka topic splitting, configuring mirrord with Kafka, setting up Kafka for mirrord operator, or troubleshooting Kafka splitting sessions. Also trigger when users mention split_queues with queue_type Kafka, or ask about connecting mirrord to a Kafka cluster. This is a Team/Enterprise feature of mirrord.
devops
Guide users from zero to their first working mirrord session. Use when a user is new to mirrord, wants to install it, or needs help running their first session connecting to a Kubernetes cluster.
devops
Help users install and configure the mirrord operator for team environments. Use when users ask about operator setup, Helm installation, licensing, or multi-user mirrord deployments.
development
Helps users configure mirrord.json for database branching, enabling isolated database copies for safe development and testing. Use when the user wants to set up MySQL or PostgreSQL branching, configure copy modes, IAM authentication, or manage database branches.