mirrord

Mirrord Configuration Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mirrord" with this command: npx skills add metalbear-co/skills/metalbear-co-skills-mirrord

Mirrord Configuration Skill

Purpose

Generate and validate mirrord.json configuration files:

  • Generate valid configs from natural language descriptions

  • Validate user-provided configs against schema

  • Fix invalid configurations with explanations

  • Explain configuration options and patterns

Critical First Steps

Step 1: Load references Use the view tool to read BOTH reference files:

  • /mnt/skills/user/mirrord/references/schema.json

  • Authoritative JSON Schema

  • /mnt/skills/user/mirrord/references/configuration.md

  • Configuration reference

Step 2: Install mirrord CLI (if not present)

Check if installed

which mirrord || brew install metalbear-co/mirrord/mirrord || curl -fsSL https://raw.githubusercontent.com/metalbear-co/mirrord/main/scripts/install.sh | bash

Step 3: Validate before presenting After generating any config, ALWAYS run:

mirrord verify-config /path/to/config.json

  • If validation fails, fix the config and re-validate

  • Only present configs that pass validation

  • Include validation output in your response

Request Types

Generate new config

User describes what they want without providing JSON.

  • Extract target (pod/deployment), namespace, features needed

  • Create minimal valid config using only schema-defined keys

  • Default to minimal configs; mirrord has sensible defaults

Validate existing config

User provides JSON to check.

  • Parse strictly (catch trailing commas, comments, invalid syntax)

  • Validate against schema

  • List issues by severity: Errors → Warnings → Suggestions

  • Provide corrected version

Modify existing config

User wants changes to their config.

  • Validate first, then apply requested changes

  • Ensure modifications maintain schema conformance

Response Format

For generation or fixes:

  • Brief summary (1-2 sentences)

  • Valid JSON config in code block

  • Validation output from mirrord verify-config :

{ "type": "Success", "warnings": [], "compatible_target_types": [...] }

  • Short explanation of key sections (if validation passed)

For validation:

  • Errors (schema violations - will cause failures)

  • Warnings (valid but potentially wrong behavior)

  • Suggestions (optional improvements)

  • Corrected JSON config

Configuration Guidelines

Common patterns (verify exact keys in schema):

Target selection:

  • "target": "pod/name" or {"path": "pod/name", "namespace": "staging"}

  • Set operator if using operator mode

  • Specify kube_context if needed

Features:

  • "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 traffic

Network modes:

  • Check schema for valid incoming.mode values (e.g., "steal", "mirror", "off")

  • Configure HTTP filters, port mapping, localhost handling

Templating:

  • mirrord uses Tera templates

  • Example: "target": "{{ get_env(name="TARGET", default="pod/fallback") }}"

  • Templates must remain valid JSON

Validation Rules

Must enforce:

  • Strict JSON parsing (no comments, no trailing commas)

  • All keys must exist in schema

  • Correct types (string vs object, enums, etc.)

  • Required fields present

  • No additionalProperties where schema forbids them

Path notation for errors: Use JSON Pointer style: /feature/network/incoming/mode

Common Pitfalls

  • User pastes YAML/TOML → Explain JSON required, offer to convert structure

  • User requests unsupported key → Say it's not in schema, suggest alternatives

  • Overly complex configs → Prefer minimal configs with only requested settings

  • Conflicting settings → Identify based on configuration.md semantics

What to Ask (only if critical)

If request is under-specified, ask for ONE detail:

  • Target identity (pod name, namespace)

  • Incoming network behavior (steal vs mirror)

  • Operator usage (yes/no)

  • Specific ports to map/ignore

Otherwise provide safe defaults and note assumptions.

Automatic Validation Workflow

Every generated or modified config MUST be validated before presentation:

  • Save config to temporary file

  • Run mirrord verify-config <file>

  • If validation fails:

  • Parse error messages

  • Fix the config

  • Re-validate until success

  • Present config with validation output

Never skip validation - it catches schema errors we might miss manually.

Quality Requirements

✓ 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

Example Scenarios

"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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

mirrord-config

No summary provided by upstream source.

Repository SourceNeeds Review
General

mirrord-quickstart

No summary provided by upstream source.

Repository SourceNeeds Review
General

mirrord-operator

No summary provided by upstream source.

Repository SourceNeeds Review
General

mirrord-ci

No summary provided by upstream source.

Repository SourceNeeds Review