chaos-impact
Skill3 starsChanged 5 months agoMITView on GitHub
Synthesize an Azure Monitor impact report for a Chaos Studio v2 ScenarioRun: pulls the run, walks targeted resources, queries metrics/logs/activity-log/alerts over the run window ± buffer, and renders a Markdown + JSON impact card.
In this repository11 other files it gives its agents.
- samples/aks-zone-down-demo/AGENTS.mdAGENTS.md
- chaos-study-designSkill
- chaos-study-historySkill
- chaos-study-reportSkill
- chaos-study-runSkill
- chaos-study-scopeSkill
- chaos-studySkill
- create-workspaceSkill
- run-scenarioSkill
- setup-scenarioSkill
- start-chaosSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
If you are an autonomous agent with no user to prompt, call the three Monitor tools on the chaos-studio MCP server directly …
- Very specific: line 29
All synthesis logic lives in scripts/Invoke-ChaosImpact.ps1.
- Very specific: line 38
Run the script with -ScenarioRunId <id> (positional accepted).
- Very specific: line 49
When invoked standalone (no prior start-chaos state file), the orchestrator must supply -SubscriptionId, -ResourceGroup, -WorkspaceName, …
- Distinctive: line 79
Run resolution and targeted-resource flattening (collapses instance-level → parent)
- Distinctive: line 85
All error cards with remediation commands
≈ “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
ChaosImpact — Post-Run Azure Monitor Synthesis
⛔ ABSOLUTE RULE: Do NOT improvise, skip, or substitute any step. On ANY error, STOP and wait for the user.
When to use this skill (vs. the MCP server)
This skill is the human-interactive path: it resolves run context from the
shared startchaos-state.json, prompts for missing inputs via exit codes, and
renders a Markdown card plus a JSON sidecar. Use it when there is a user in the
loop — typically right after /start-chaos (or as a post-step of it).
If you are an autonomous agent with no user to prompt, call the three
Monitor tools on the chaos-studio MCP server directly (monitor_query_metrics,
monitor_query_logs, monitor_search_activity_log) and assemble your own
report. The PowerShell skill and the MCP tools are two independent surfaces
over the same Azure endpoints — neither calls the other.
Both surfaces target Microsoft.Chaos 2026-05-01-preview plus the pinned
Azure Monitor API versions in scripts/Constants.ps1, and use the local
az login session for auth.
How It Works
All synthesis logic lives in scripts/Invoke-ChaosImpact.ps1. The script
resolves the ScenarioRun, discovers Log Analytics workspaces via diagnostic
settings, runs the Monitor query fan-out, classifies signals, and writes both
artifacts.
The AI orchestrator's only job is:
- Set
$env:STARTCHAOS_STATE_PATHto${SESSION_DIR}/startchaos-state.json(the skill reads but does not write this file). - Run the script with
-ScenarioRunId <id>(positional accepted). - Handle exit codes that require user input (see below).
- Re-run the script with the user's answers as parameters.
Running the Script
$env:STARTCHAOS_STATE_PATH = "<session-dir>/startchaos-state.json"
& "<skill-dir>/scripts/Invoke-ChaosImpact.ps1" -ScenarioRunId <runId> @extraArgsWhen invoked standalone (no prior start-chaos state file), the orchestrator
must supply -SubscriptionId, -ResourceGroup, -WorkspaceName, and
-ScenarioName — otherwise the script exits 2.
Exit Codes → AI Actions
| Exit | Meaning | AI Action |
| 0 | Report generated | Done — print the Markdown card from script output. |
| 1 | Hard error | STOP. Render the error from script output. Wait for user. |
| 2 | Missing run context | ask_user for any of: -SubscriptionId, -ResourceGroup, -WorkspaceName, -ScenarioName, -ScenarioRunId. Re-run with the supplied parameters. |
| 3 | Log Analytics workspace not discoverable for ≥ 1 resource, AND -LogAnalyticsWorkspaceId not supplied | ask_user whether to (a) supply a workspace ID (re-run with -LogAnalyticsWorkspaceId <id>) or (b) proceed without log signals (re-run with -LogAnalyticsWorkspaceId none). |
| 4 | Permission gap (caller lacks Monitoring Reader on one or more target resource groups) (Epic 3 — not yet implemented) | ask_user to confirm best-effort partial report (re-run with -AllowPartial) or abort. |
Script Parameters
| Parameter | Description |
-ScenarioRunId | Required (positional). The ScenarioRun resource name. |
-SubscriptionId / -ResourceGroup / -WorkspaceName / -ScenarioName | Run context. Read from startchaos-state.json when omitted; required otherwise. |
-Buffer | ISO-8601 duration added before/after the run window. Default PT5M. |
-LogAnalyticsWorkspaceId | Optional override when diag-settings discovery fails for some resources. Pass none to explicitly skip log signals. |
-MaxResources | Per-run resource cap. Default 50. Instance-level targets (VMSS / AKS) are collapsed to parent before counting. |
-OutputDir | Where to drop artifacts. Default $env:STARTCHAOS_SESSION_DIR or current directory. |
-IncludeBaseline | When set, also computes baseline samples (the -Buffer × 2 window before run start). Default on. |
-Format | markdown, json, or both. Default both. |
-AllowPartial | Continue past permission gaps and emit a partial report. (Epic 3 — not yet implemented; currently accepted but has no effect.) |
What the Script Handles (no AI logic needed)
- Run resolution and targeted-resource flattening (collapses instance-level → parent)
MaxResourcescap with explicit coverage caveats- Diagnostic-settings discovery + per-resource workspace caching
- Azure Monitor metrics / Log Analytics / Activity Log / Alerts / Service Health fan-out
- Baseline subtraction and signal classification
- Markdown report card + JSON sidecar artifact
- All error cards with remediation commands
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.

