Skip to content

content-unclosed-fence

Detect code fences opened but never closed, hiding the rest of the file from content rules

Severity warning (auto)
Autofix auto
Since v0.17.0
Category Content Intelligence

Why

A code fence that is opened but never closed makes markdown parse everything after it — headings, instructions, whole sections — as code. Agents render the file the same way, so instructions below the fence lose their structure, and every content-quality rule is blinded: prose hidden inside the runaway fence is stripped as code before scanning, so a file full of weak language or placeholders lints clean and can even grade A+.

Examples

Bad:

Deploy with:

```bash
make deploy ENV=staging

## Rollback

Try to roll back quickly if possible.

The bash fence never closes, so the entire Rollback section is code — invisible to the agent as instructions and to every content rule.

Good:

Deploy with:

```bash
make deploy ENV=staging
```

## Rollback

Roll back with `make rollback ENV=staging` within 5 minutes.

How to fix

Add the missing closing fence right after the last intended code line — same character as the opener, in a run at least as long (a three-backtick opener closes with three or more backticks, a four-backtick opener needs four). The autofix appends the matching closer at the end of the file; if the code block was meant to end earlier, move the appended closer up to the right line.

Configuration

rules:
  content-unclosed-fence:
    enabled: auto  # true | false | auto
    severity: warning

Run skillsaw explain content-unclosed-fence to see this documentation and the rule's effective configuration in your terminal.