Monitor CI
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
Help users chaos test their app with mirrord: inject artificial latency or connection errors into a mirrord session's outgoing traffic via per-session chaos rules managed with the mirrord chaos CLI.
$ npx skills add metalbear-co/mirrord --skill mirrord-chaos -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install metalbear-co/mirrord mirrord-chaos --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/metalbear-co/mirrord.git skills-src && mkdir -p .claude/skills && cp -r skills-src/mirrord/mcp/corpus/skills/mirrord-chaos .claude/skills/mirrord-chaos && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mirrord-chaos" agent skill from https://github.com/metalbear-co/mirrord/tree/main/mirrord/mcp/corpus/skills/mirrord-chaos into .claude/skills/mirrord-chaos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mirrord-chaos", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/metalbear-co/mirrord/tree/main/mirrord/mcp/corpus/skills/mirrord-chaosType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add metalbear-co/mirrord --skill mirrord-chaos -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install metalbear-co/mirrord mirrord-chaos --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/metalbear-co/mirrord.git skills-src && mkdir -p .agents/skills && cp -r skills-src/mirrord/mcp/corpus/skills/mirrord-chaos .agents/skills/mirrord-chaos && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mirrord-chaos" agent skill from https://github.com/metalbear-co/mirrord/tree/main/mirrord/mcp/corpus/skills/mirrord-chaos into .agents/skills/mirrord-chaos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mirrord-chaos", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add metalbear-co/mirrord --skill mirrord-chaos -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install metalbear-co/mirrord mirrord-chaos --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/metalbear-co/mirrord.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/mirrord/mcp/corpus/skills/mirrord-chaos .cursor/skills/mirrord-chaos && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mirrord-chaos" agent skill from https://github.com/metalbear-co/mirrord/tree/main/mirrord/mcp/corpus/skills/mirrord-chaos into .cursor/skills/mirrord-chaos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mirrord-chaos", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/metalbear-co/mirrord.git --path mirrord/mcp/corpus/skills/mirrord-chaos--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add metalbear-co/mirrord --skill mirrord-chaos -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install metalbear-co/mirrord mirrord-chaos --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/metalbear-co/mirrord.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/mirrord/mcp/corpus/skills/mirrord-chaos .gemini/skills/mirrord-chaos && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mirrord-chaos" agent skill from https://github.com/metalbear-co/mirrord/tree/main/mirrord/mcp/corpus/skills/mirrord-chaos into .gemini/skills/mirrord-chaos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mirrord-chaos", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install metalbear-co/mirrord mirrord-chaosInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add metalbear-co/mirrord --skill mirrord-chaos -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/metalbear-co/mirrord.git skills-src && mkdir -p .github/skills && cp -r skills-src/mirrord/mcp/corpus/skills/mirrord-chaos .github/skills/mirrord-chaos && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mirrord-chaos" agent skill from https://github.com/metalbear-co/mirrord/tree/main/mirrord/mcp/corpus/skills/mirrord-chaos into .github/skills/mirrord-chaos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mirrord-chaos", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add metalbear-co/mirrord --skill mirrord-chaos -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install metalbear-co/mirrord mirrord-chaos --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/metalbear-co/mirrord.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/mirrord/mcp/corpus/skills/mirrord-chaos .opencode/skills/mirrord-chaos && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mirrord-chaos" agent skill from https://github.com/metalbear-co/mirrord/tree/main/mirrord/mcp/corpus/skills/mirrord-chaos into .opencode/skills/mirrord-chaos/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mirrord-chaos", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mirrord-chaosHelp users chaos test their app with mirrord: inject artificial latency or connection errors into a mirrord session's outgoing traffic via per-session chaos rules managed with the mirrord chaos CLI.
Mirrord Chaos is an agent skill from metalbear-co/mirrord. Help users chaos test their app with mirrord: inject artificial latency or connection errors into a mirrord session's outgoing traffic via per-session chaos rules managed with the mirrord chaos CLI. Use when a user wants to add latency or delay to outgoing connections or a dependency (e.g. a slow database), simulate connection failures (reset, timed out, refused), test app behavior under degraded network conditions, or wire chaos rules into CI test runs. Always use this skill instead of the deprecated…
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).
It sits in DevOps & Cloud. The repository describes itself as: Run any process, on your machine or in an AI agent's environment, as if it were a pod in your Kubernetes cluster: real env vars, DNS, network, traffic. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c8f017a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json, bash and yaml).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
metalbear.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mirrord Chaos loads about 3.4k tokens when it runs. Until then it costs about 142 tokens; SKILL.md has 1,495 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from metalbear-co/mirrord at commit c8f017a, republished under its MIT licence (© metalbear-co). 1,495 words, ~3,350 tokens.
.claude/skills/mirrord-chaos/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Help users inject artificial failures and disruptions into a mirrord session's outgoing traffic, to test how their app behaves under unexpected conditions. A chaos rule pairs a selector (which traffic to match) with an effect (what to do to it). Rules are created and managed with the mirrord chaos CLI command, and each rule is attached to a single mirrord session: it never affects other sessions or the cluster.
This skill covers two modes:
mirrord exec and manages rules with mirrord chaos.mirrord chaos add, and runs tests under chaos.Trigger on questions like:
mirrord chaos?"_experimental_.latency configThe mirrord config schema contains an _experimental_.latency option for outgoing latency. It is marked deprecated with "Please use the mirrord chaos feature instead", and it will be removed. Never generate or recommend _experimental_.latency for latency injection. Chaos is not a mirrord.json config key: it is a runtime feature, and rules are created against a live session with mirrord chaos as described below.
selector + effect, plus an optional name and priority.mirrord chaos command takes a --session-id.priority value. If not set, priority defaults to 0, the lowest.id (UUID) on creation. name is a free-form label with no uniqueness guarantee: always use the id to modify or delete.hit_count of how many times it was applied. Editing a rule keeps its id but resets hit_count to zero.| Requirement | Detail |
|---|---|
| CLI | mirrord CLI 3.241.0+ for the mirrord chaos command. Older CLIs (3.232.0+) can manage rules over the raw REST API instead, see the chaos testing docs. |
| UI server | Not a manual step: mirrord chaos silently starts the local UI server if it isn't already running. |
| Feature stage | Chaos testing is an alpha feature. |
{
"name": "latency for database interactions",
"priority": 10,
"selector": {
"upstream": "sonic.database.svc.cluster.local",
"percentage": 35
},
"effect": {
"latency": {
"read_ms": 750
}
}
}| Field | Meaning |
|---|---|
upstream | The destination to match: a host, or host:port to match a specific port. Uses the same syntax as mirrord's outgoing traffic filter. |
percentage | Roughly how often a matched connection gets the effect. Integer 0–100; values above 100 are rounded down to 100. |
Two effects are supported. A rule has exactly one.
latency: delays the connection's read and/or write operations:
"effect": {
"latency": {
"read_ms": 100,
"write_ms": 200,
"jitter_ms": 25
}
}At least one of read_ms or write_ms must be non-zero, or the rule is rejected with: either 'effect.latency.read_ms' or 'effect.latency.write_ms' must be non-zero.
connection_error: fails the connection:
"effect": {
"connection_error": {
"type": "reset",
"after_ms": 0
}
}type is one of reset (can be applied to ongoing connections), timed_out, refused.
mirrord chaos prints the full rule, pretty-printed by default or as JSON with --format json. Note two differences from the request shape: the effect is nested inside the selector, and upstream comes back with an explicit port, where 0 means any port:
{
"id": "6b8f1c4e-2a73-4d9b-8e56-c3f0a7d1b924",
"name": "latency for database interactions",
"priority": 10,
"selector": {
"type": "tcp",
"upstream": "sonic.database.svc.cluster.local:0",
"percentage": 35,
"effect": {
"latency": {
"read_ms": 750
}
}
},
"hit_count": 0
}mirrord chaos commandEvery subcommand takes --session-id (-s). add and edit read the rule JSON from stdin, or from a file with --file-path (-f). Output format is controlled with --format (pretty (default), json for scripting, silent).
| Command | Action |
|---|---|
mirrord chaos add -s <session> -f <file> | Create a rule, or several at once from a JSON array. Aliases: post. |
mirrord chaos list -s <session> | List the session's active rules. Add -r <rule-id> to get one rule. Aliases: get, ls. |
mirrord chaos edit -s <session> -r <rule-id> -f <file> | Replace a rule (same id, hit_count resets). Accepts a single rule only. Aliases: put. |
mirrord chaos delete -s <session> | Delete all of the session's rules. Add -r <rule-id> to delete one. Aliases: remove, rm. |
Start a mirrord session and grab its session ID: it's printed by mirrord exec, or listed by mirrord session list.
mirrord exec -f .mirrord/mirrord.json -- node app.jsexport SESSION_ID='c425f391-e9cc-4199-8de9-7bdbb3e7dfcc' # printed by mirrord execWrite the rule to a JSON file (e.g. latency-rule.json, see Rule anatomy) and manage it:
# Create
mirrord chaos add -s "$SESSION_ID" -f latency-rule.json
# List
mirrord chaos list -s "$SESSION_ID"
# Modify (edit the file, resend with the rule id)
export RULE_ID='6b8f1c4e-2a73-4d9b-8e56-c3f0a7d1b924'
mirrord chaos edit -s "$SESSION_ID" -r "$RULE_ID" -f latency-rule.json
# Delete one rule / all rules
mirrord chaos delete -s "$SESSION_ID" -r "$RULE_ID"
mirrord chaos delete -s "$SESSION_ID"Rules can also be piped on stdin instead of -f:
cat latency-rule.json | mirrord chaos add -s "$SESSION_ID"Deleting a rule stops it from affecting the session immediately.
Rule files are declarative JSON: check them into the repo (e.g. .mirrord/chaos/) so chaos scenarios are versioned and PR-reviewed alongside the tests that use them. No HTTP client, token, or port handling is needed: mirrord chaos talks to the session directly and starts the local UI server itself if needed.
Tag the session with a known key (mirrord exec --key) so the pipeline can find its session ID in the mirrord session list output:
# GitHub Actions excerpt: assumes mirrord is installed and kubeconfig is set up
- name: Run integration tests under chaos
run: |
# Start the app under mirrord in the background, tagged with a session key
mirrord exec --key chaos-ci -f .mirrord/mirrord.json -- node app.js &
# Wait for the session to register, then pull its ID from the session table
for i in $(seq 1 10); do
SESSION_ID="$(mirrord session list 2>/dev/null \
| awk -F'|' '/chaos-ci/ {gsub(/ /,"",$2); print $2; exit}')"
[ -n "$SESSION_ID" ] && break
sleep 2
done
if [ -z "$SESSION_ID" ]; then
echo "ERROR: session 'chaos-ci' not found after retries" >&2
exit 1
fi
# Apply every chaos rule checked into the repo
for rule in .mirrord/chaos/*.json; do
mirrord chaos add -s "$SESSION_ID" -f "$rule" --format json
done
npm test
# Teardown: clear the rules and stop the UI server that mirrord chaos auto-started
mirrord chaos delete -s "$SESSION_ID"
mirrord ui stopPolling note: session registration is asynchronous, so mirrord session list may not show the session right after mirrord exec starts. The retry loop above covers it. mirrord session list prints a table with |-separated columns and the Session ID first; the awk pulls field $2 (the ID) from the row whose key matches. If the table layout changes in a future release, update the snippet; the empty-ID guard turns that breakage into a clear error instead of a silent one.
| Issue | Solution |
|---|---|
| Rule creation rejected for a latency effect | At least one of read_ms / write_ms must be non-zero. |
| Rule created but never fires | Only outgoing TCP selectors are implemented today; file operation and HTTP selectors are planned and won't match. Also check percentage and that the session actually makes outgoing connections to the upstream. |
| Two rules match, only one applies | By design: highest priority wins. Raise the priority of the rule you want. |
percentage above 100 | Rounded down to 100. |
| Can't find a rule by name | name is not unique: mirrord chaos list the rules and use the id. |
hit_count dropped to zero after an edit | edit resets hit_count; the id stays the same. |
upstream in output shows host:0 | 0 means any port; it's the serialized form of a filter with no port. |
| Session not found | Wrong --session-id, the session ended, or it hasn't registered yet. List sessions with mirrord session list and retry after a short wait. |
chaos edit rejects the input | edit accepts a single rule, not an array. To replace several rules, edit them one by one, or delete and re-add. |
mirrord chaos commands.mirrord exec, or from mirrord session list.read_ms or write_ms non-zero, type is one of reset / timed_out / refused, TCP upstream selectors only.mirrord chaos delete -s <session> to clear the rules, and mirrord ui stop to stop the UI server that mirrord chaos auto-started.User: "Make 30% of my service's calls to the payments API time out, so I can test our retry logic."
Response:
payments-timeout.json: connection_error effect with "type": "timed_out", selector with upstream set to the payments host and "percentage": 30.mirrord chaos add -s <session> -f payments-timeout.json command, and the matching mirrord chaos delete for cleanup once testing is done.id needed to edit or delete it later.upstream filter syntax© metalbear-co, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in mirrord/mcp/corpus/skills/mirrord-chaos of metalbear-co/mirrord.
Open the folder on GitHubat commit c8f017a
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in metalbear-co/mirrord, which our catalogue first saw on October 11, 2026.
Mirrord Chaos next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mirrord Chaos this skillmetalbear-co/mirrord | 5.4k | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Monitor CInrwl/nx | 29k | 6 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Terraform and OpenTofu Guideagentscope-ai/QwenPaw | 36k | 6 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Vercel Optimize Auditvercel-labs/agent-skills | 32k | 8 repos | ~4.3k | Automated safety check: Pass | None | |
| Analyze GitHub Action Logswithastro/astro | 63k | 1 repos | ~1.3k | Automated safety check: Pass | Custom licence | |
| Openclaw Live Updateropenclaw/openclaw | 392k | — | ~3.7k | Automated safety check: Pass | MIT |
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
agentscope-ai/QwenPaw
Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.
vercel-labs/agent-skills
Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.
withastro/astro
Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.
openclaw/openclaw
Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.
netdata/netdata
Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.
metalbear-co/mirrord
Help users install and configure the mirrord Operator for team/enterprise environments.
metalbear-co/mirrord
Helps DevOps engineers configure mirrord Operator's Temporal task queue splitting feature end-to-end.
metalbear-co/mirrord
Help users set up mirrord in CI pipelines for testing against real Kubernetes environments.
metalbear-co/mirrord
Helps users generate, edit, and validate mirrord.json configuration files for mirrord (MetalBear).
metalbear-co/mirrord
Helps DevOps engineers configure mirrord Operator's Kafka queue splitting feature end-to-end.
metalbear-co/mirrord
Guide users from zero to their first working mirrord session.
Categories
Help users chaos test their app with mirrord: inject artificial latency or connection errors into a mirrord session's outgoing traffic via per-session chaos rules managed with the mirrord chaos CLI. Mirrord Chaos is an agent skill from metalbear-co/mirrord. Help users chaos test their app with mirrord: inject artificial latency or connection errors into a mirrord session's outgoing traffic via per-session chaos rules managed with the mirrord chaos CLI.
Mirrord Chaos fits situations like: A user wants to add latency; delay to outgoing connections; A dependency (e.g.
Run `npx skills add metalbear-co/mirrord --skill mirrord-chaos -a claude-code`. Or copy the skill folder (mirrord/mcp/corpus/skills/mirrord-chaos in metalbear-co/mirrord) into .claude/skills/mirrord-chaos in your project. Claude Code loads it when a task matches its description.
Run `npx skills add metalbear-co/mirrord --skill mirrord-chaos -a codex`. Or copy the skill folder (mirrord/mcp/corpus/skills/mirrord-chaos in metalbear-co/mirrord) into .agents/skills/mirrord-chaos in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add metalbear-co/mirrord --skill mirrord-chaos -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mirrord-chaos, .gemini/skills/mirrord-chaos, .github/skills/mirrord-chaos and .opencode/skills/mirrord-chaos in your project.
SKILL.md names no scripts, command-line tools or credentials: Mirrord Chaos is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: metalbear.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mirrord Chaos is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mirrord Chaos: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 36k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Analyze GitHub Action Logs (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
metalbear-co (a GitHub organization) maintains it in metalbear-co/mirrord, which has 5,362 GitHub stars. The repository was last updated on October 11, 2026.
Source: metalbear-co/mirrord on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.