From mirrord
Generates, edits, and validates mirrord.json configuration files for connecting local processes to Kubernetes environments. Handles env/fs/network feature configuration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mirrord:mirrord-configThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate and validate `mirrord.json` configuration files:
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
npx claudepluginhub metalbear-co/skills --plugin mirrordRuns multiple concurrent mirrord sessions from a single mirrord-up.yaml config file for compose-style multi-service local debugging.
Provides quick Kubernetes reference for manifests (Pods, Deployments, Services), security hardening, RBAC, kubectl commands, and troubleshooting. Activates on Kubernetes YAML files.
Provides production-grade Kubernetes YAML patterns, kubectl debugging commands, and best practices for deployments, probes, RBAC, autoscaling, ConfigMaps/Secrets, and security.