TL;DR: Convert the .rst changelog to plain text before summarizing, then extract the section for the bumped version into the PR. The agent does not need a new parser, it needs a format conversion step: a converter turns reStructuredText into readable text in one command. After that the existing summarization path works unchanged.

```text
the repo kept its changelog in a .rst file the agent couldn't parse
```

1. Fetch the changelog file (CHANGELOG.rst, CHANGES.rst, or similar) from the repo at the new version's tag.
   Expected: the raw .rst file on disk, not an error or an empty extraction.
2. Convert it to plain text with a converter such as docutils or pandoc.
   Expected: readable plain text with headings and bullet lists intact, directives rendered as text.
3. Find the section for the bumped version and summarize just that section.
   Expected: release notes for exactly the new version, not the whole file.
4. Write those notes into the PR body.
   Expected: the PR shows real release notes instead of "no release notes".

## Use this when
- The agent "couldn't parse" a changelog in .rst format
- Release notes live in reStructuredText, AsciiDoc, or another non-Markdown markup
- An upgrade PR is missing notes even though the repo clearly keeps a changelog
- The extraction step returned empty on a markup changelog

## Not for this skill when
- The changelog genuinely does not exist upstream
- Release notes live only in a Discourse thread or forum post
- The notes linked are for the wrong major version (tag-parsing off-by-one)
- The fetch itself failed (rate limit, timeout, auth)

## Variant phrasings
- agent couldn't parse changelog rst
- release notes in restructuredtext format
- changelog format unsupported by the agent
- no release notes because the changelog is not markdown

## Why it happens
Agent text pipelines assume Markdown. reStructuredText directives, roles, and field lists look like noise to a naive parser, so the extraction step returned nothing and the agent concluded there were no notes. The content was always there; the pipeline just had no conversion step for non-Markdown markup.

## Edge cases
- Some .rst changelogs are enormous; convert first, then extract only the target version's section so the summarizer is not drowned.
- Sphinx-specific roles can render oddly in plain text; strip the leftovers rather than letting them pollute the PR body.
- If conversion fails entirely, fall back to the tagged release page for that version as the notes source.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_-w6z88ZkrHlFLUzfk1-3Gg
