chaos-experiment
Skill134 starsChanged 32 days agoApache-2.0View on GitHub
Use when the user asks to create, edit, update, design, or configure a Harness Chaos Experiment — including faults, probes, actions, experiment YAML, fault injection, pod-delete, or resilience tests. Do not use for Chaos steps inside a pipeline or a DRTest stage; use chaos-dr-test for those. Do not use to run an experiment, list past runs, or inspect run results — call the Chaos MCP tools directly for those (see Performance Notes). Trigger phrases: chaos experiment, chaos engineering, resilience test, fault injection, pod-delete, chaos hub template.
In this repository77 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/harness.mdcCursor rule
- manage-rolesSkill
- manage-usersSkill
- create-agentSkill
- create-agent-templateSkill
- dbops-changesetSkill
- choose-metricSkill
- cleanup-feature-flagsSkill
- create-experimentSkill
- create-feature-flagSkill
- create-metricSkill
- discover-feature-flagsSkill
- explain-flagSkill
- feature-flag-onboardingSkill
- fme-pipelineSkill
- instrument-feature-flagSkill
- instrument-metricSkill
- manage-experimentsSkill
- manage-flag-lifecycleSkill
- manage-segmentsSkill
- review-experiment-resultsSkill
- update-flag-targetingSkill
- create-connectorSkill
- create-environmentSkill
- create-infrastructureSkill
- create-secretSkill
- create-serviceSkill
- ai-operationsSkill
- analyze-costsSkill
- audit-reportSkill
- chaos-code-risk-scanSkill
- chaos-dr-testSkill
- create-policySkill
- deployment-readinessSkill
- dora-metricsSkill
- gitops-statusSkill
- incident-responseSkill
- manage-idpSkill
- manage-slosSkill
- optimize-pipelineSkill
- pr-analysisSkill
- scorecard-reviewSkill
- security-reportSkill
- sei-analyticsSkill
- template-usageSkill
- create-pipelineSkill
- create-pipeline-v1Skill
- create-templateSkill
- create-triggerSkill
- debug-pipelineSkill
- enable-code-coverageSkill
- manage-freeze-windowsSkill
- migrate-pipelineSkill
- run-pipelineSkill
- create-sbomSkill
- enforce-sbomSkill
- manage-artifactsSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 7 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Create, edit, and answer reference questions about Harness Chaos Experiments — faults, probes, actions, and the underlying ChaosExperiment …
- Distinctive: line 27
NEVER claim a tool call succeeded without an explicit success response from the tool.
- Distinctive: line 28
NEVER fabricate, assume, or pre-empt tool results.
- Distinctive: line 29
When a tool returns a review/elicitation prompt (e.g., "Waiting for user to review before update..."), the user's approval does NOT mean …
- Distinctive: line 30
If the tool response is ambiguous or missing, tell the user honestly and offer to retry.
- Very specific: line 36
Before any harness_list, harness_get, harness_create, harness_update, or harness_execute call in this skill, establish org/project scope …
- Distinctive: line 41
Ask only for what is missing — do not re-ask for values already known.
- Distinctive: line 44
Never assume a default org/project unless the user explicitly confirms it.
- Very specific: line 70
Do not guess fault, probe, or action identities, infrastructure IDs, or runtime variable names.
- Distinctive: line 72
Wait for the tool's confirmed save response before reporting success.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Chaos Experiment
Create, edit, and answer reference questions about Harness Chaos Experiments — faults,
probes, actions, and the underlying ChaosExperiment manifest — via MCP.
MANDATORY — Tool Result Verification:
- NEVER claim a tool call succeeded without an explicit success response from the tool.
- NEVER fabricate, assume, or pre-empt tool results. If you called a tool and did not receive a confirmed result, say so and retry.
- When a tool returns a review/elicitation prompt (e.g., "Waiting for user to review before update..."), the user's approval does NOT mean the operation completed. You MUST wait for the follow-up tool response confirming execution before reporting success.
- If the tool response is ambiguous or missing, tell the user honestly and offer to retry.
Instructions
Step 1: Establish scope
Before any harness_list, harness_get, harness_create, harness_update, or
harness_execute call in this skill, establish org/project scope using the repo-wide
playbook at references/scope-establishment.md:
- Parse
org/projectfrom the user's message or a pasted Harness UI URL first. - Ask only for what is missing — do not re-ask for values already known.
- Restate the active scope (e.g.
org=default, project=payments) before the first mutating call. - Never assume a default org/project unless the user explicitly confirms it.
Step 2: Route before acting
Choose the first matching entry route below. Read that entry file first; it may direct you to read additional shared references later.
- Reference question — the user asks how a fault, probe, action, target workload, tunable, vertex, manifest field, or YAML structure works, without asking to create or modify an experiment: Read
references/components.md. No scaffolded YAML is required for a reference-only answer. - Existing experiment — the user explicitly asks to edit, update, modify, change, rename, fix, remove from, or add to an existing experiment, says the experiment already exists, or provides an existing experiment UUID: Read
references/edit.md. PreserveexperimentIdandidentity. Do not generate a new UUID. Saving an edit reusesharness_createas an upsert —chaos_experimenthas no separate update operation; do not callharness_updatefor this resource type. - New experiment — the user asks to create, build, set up, make, design, or launch a new experiment: Read
references/create.md. This route still applies when the user supplies the desired name for the new experiment. Generate a new UUID; do not load an existing experiment. - Unsure — ask: "Would you like to create a new chaos experiment, edit an existing one, or ask a reference question about experiment YAML/components?"
Fault / probe / action add-remove mechanics live in references/components.md. Create and edit flows read it after working YAML exists; reference-only questions may read it directly.
For ChaosFault / ChaosProbe / ChaosAction / Chaos steps in a pipeline or DRTest stage, stop and use chaos-dr-test instead.
Examples
- "Create a pod-delete chaos experiment on my checkout-service" -> route to
references/create.md - "Add an HTTP probe to my
test-exp-007experiment" -> route toreferences/edit.md - "Edit the experiment with UUID
218b1053-..., remove the CPU hog fault" -> route toreferences/edit.md - "What does the
verticesarray in a ChaosExperiment manifest mean?" -> route toreferences/components.md(reference-only, no YAML changes) - "How do I target a workload by labels instead of name?" -> route to
references/components.md
Performance Notes
- Do not guess fault, probe, or action identities, infrastructure IDs, or runtime variable names. Always call the matching
harness_list/harness_get/harness_execute(action="get_variables")and use the returned values. - Validate the manifest against the YAML Validation Rules in
references/components.mdbefore presenting it or saving — no duplicate keys, no orphanverticesreferences, no blank lines. - Wait for the tool's confirmed save response before reporting success; a review/elicitation prompt is not a completed save.
- Not covered by this skill: running an experiment, listing existing experiments, or inspecting run results. Use the Chaos MCP tools directly —
harness_execute(resource_type="chaos_experiment", action="run", resource_id="<experiment_id>", ...),harness_list(resource_type="chaos_experiment_run", ...),harness_get(resource_type="chaos_experiment_run", resource_id="<run_id>", ...).
Troubleshooting
- Experiment fails to save / validation error — call
harness_describe(resource_type="chaos_experiment")to check the authoritativecreatebody schema, fix the offending field, and retry. - No enterprise or custom faults returned — confirm the selected infrastructure type (
Kubernetes->KubernetesV2,Linux,Windows) matches the fault's supported infrastructure; re-runharness_list(resource_type="chaos_fault", ...)with the correctedinfrastructurefilter. - Target workload discovery returns empty — the chaos infrastructure's Service Discovery agent may not have scanned the namespace yet; ask the user to verify the infrastructure is
ACTIVEandisChaosEnabled: truebefore retryingdiscovered_service/discovered_namespacecalls. - Ambiguous create vs. edit intent — if the user's request could mean either, ask explicitly per Step 2 above rather than guessing; creating a duplicate experiment is harder to undo than asking one clarifying question.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

