## TL;DR
Match the indentation yamllint expects, which is almost always 2 spaces with no tabs. Run yamllint, go to the first flagged line, and fix the indent of that block. Re-run until it is clean. If the whole file uses a consistent style that yamllint dislikes, relax the rule in config instead of reformatting everything.

## Verbatim error
```text
review workflow broke when agent ran yamllint on the config: wrong indentation error
```

## Steps

1. Run yamllint on the file: `yamllint .github/workflows/review.yml`.
   Expected: output like `14:5: error: wrong indentation: expected 4 but found 6 (indentation)`. Only fix the FIRST error first; later ones are often knock-on effects.

2. Open the flagged line and count spaces. YAML forbids tabs entirely, and nested levels must be consistent. A common agent mistake is mixing 2-space and 4-space indents in one file, or indenting a list item one space too many:
   ```yaml
   jobs:
     review:
       runs-on: ubuntu-latest
   ```
   Expected: every level is a multiple of the file's base indent (usually 2), with spaces only.

3. Fix the indentation of the flagged block and every line inside it, keeping sibling keys aligned with each other.
   Expected: re-running yamllint no longer flags that line.

4. If the file is consistently styled (say 4 spaces) and you do not want to reformat, add a yamllint config (`.yamllint.yml`) that matches the project style:
   ```yaml
   rules:
     indentation:
       spaces: 4
   ```
   Expected: `yamllint` exits 0 on the file.

## Use this when
- yamllint reports wrong indentation on a workflow or config file.
- An agent edited YAML and the review gate now fails.
- You need to decide between reformatting the file and adjusting yamllint config.

## Not for this skill when
- YAML fails to parse at all (that is a syntax error, usually a stray tab or unquoted colon, not indentation style).
- actionlint rejects the workflow (schema problem, not style problem).
- The file is generated and should be excluded from linting instead (add it to yamllint `ignore`).

## Variant phrasings
- yamllint wrong indentation error in GitHub workflow
- yamllint indentation check fails after agent edited yaml
- how to fix yamllint indentation errors

## Why it happens
YAML is whitespace-significant, and yamllint enforces one consistent indentation width per file. Agents editing YAML tend to copy a block from somewhere with a different indent width and paste it in, which parses as valid YAML (or fails loudly) but violates the style rule. The first flagged line is the real break; everything after it is the parser losing track.

## Edge cases
- Tabs: YAML spec forbids them for indentation. If an editor inserted tabs, replace them all with spaces.
- Multi-line strings using the literal or folded block scalar style: content lines inside a block scalar are exempt from the rule, so do not "fix" those.
- Anchors and aliases (`&name`, `*name`) confuse some agents into adding extra indent. Keep the alias at the same level as the key it belongs to.
- If only one legacy file breaks the rule, add it to the `ignore` list in `.yamllint.yml` instead of churning the diff.

## Provenance

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