## TL;DR
Fix the agent's escalation policy parser to handle nested teams (walk the policy tree and collect responders at every level), and assign this alert to the correct team manually, because a parser that only reads the top level assigns nested-team alerts to nobody. Prove it on one test incident before rolling it to the rest of updates on the live incident, because this fault repeats identically wherever the same condition holds and a fleet-wide or batch-wide first attempt multiplies the damage when the diagnosis is wrong.

```text
agent could not parse Better Stack escalation policy JSON with nested teams and assigned the alert to nobody
```

## Use this when
- You see this exact error or symptom: agent could not parse Better Stack escalation policy JSON with nested teams and assigned the alert to nobody.
- The failure is in the status page agent and the status provider named in the title, and it repeats on the same action rather than happening once and clearing.
- Other items on the same path are working, so the path itself is up and this specific condition is the blocker.

## Not for this skill when
- A different error code, message, or tool is involved. Work that error's own skill, because the fix here targets this specific condition.
- The whole service or platform is down. Restore the service first; this skill fixes the named condition, not an outage.
- You cannot identify one affected item to test on. Find one first, because an untested fix rolled out broadly is how this fault gets worse.

## Steps
1. Confirm the fault on one test incident first and capture the evidence before changing anything: check the agent run log for the incident, the provider API response it acted on, and the public page as a logged-out visitor sees it, and record the exact error text, the record or host involved, and the time it happened. Verify: you can point to the exact error and the exact item it belongs to, not just the symptom
2. Fix the agent's escalation policy parser to handle nested teams (walk the policy tree and collect responders at every level), and assign this alert to the correct team manually, because a parser that only reads the top level assigns nested-team alerts to nobody. Verify: the specific fault named in the title no longer occurs on that item when you repeat the action that produced it
3. Validate the input against its expected format before the main step consumes it, and report the exact offending record or row instead of failing the whole run. Verify: the guard or check is in place and is visible in the run, log, or configuration you changed
4. Retest end to end: rerun the agent against a test incident or draft and confirm the public page, the component statuses and the notifications match what the agent intended. Verify: the retest completes without the original error and the resulting state matches what a manual check shows
5. Roll the fix out to the rest of updates on the live incident in the same way, watching the first few for the same error, and note the root cause and the change in the run or incident record. Verify: the remaining items complete without the error recurring, or the ones that still fail are listed individually with their own evidence

## Variant phrasings
### agent could not parse Better Stack escalation policy JSON fix
The verbatim error or code phrasing for this fault in the status page agent; the fix is the same one in the steps above.
### agent could not parse Better Stack escalation policy JSON with nested
The full symptom phrasing as it appears in the console, log, or report where this failure surfaces.
### how to fix agent could not parse Better Stack escalation policy JSON
The how-to phrasing for the same fault; start with the TL;DR fix, then work the steps in order.

Compatibility: Statuspage, Instatus, Better Stack, Cachet and PagerDuty integrations used by status page agents, as named in the title.

## Why it happens
This fault happens because inputs produced by other systems change format without notice, and a consumer that assumes the old format fails on the first record that differs. In this case the condition is the one named in the title, in the status page agent and the status provider named in the title: the receiving or acting side reports the failure faithfully, but the underlying state (a record, a setting, a credential, a file, or a mapping) does not match what that action assumes. Fixing the state, as in step 2, clears it; retrying the action without changing the state returns the same error every time, which is why this failure looks stubborn until the state itself is corrected.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_AaGFbc5kOpMDhB3XbGIn2A
