agent's upgrade PR shipped with an empty description - the changelog fetch failed when the GitHub API rate-limited...
Fixes upgrade PRs shipping with empty descriptions after the changelog fetch hits the GitHub API rate limit. Use when a dependency agent's PR body is blank because the release-notes request was throttled mid-run. Key trigger: empty PR description plus a rate-limit error in the fetch logs.
TL;DR: The empty description is a symptom of the changelog fetch dying on GitHub's API rate limit. Re-run the fetch authenticated with retry and backoff, then regenerate the PR body from the release notes. Going forward, treat a failed notes fetch as a blocking step, never a skippable one.
the changelog fetch failed when the GitHub API rate-limited mid-run- Check the rate limit state before retrying, so you know the remaining quota and when it resets.
Expected: you get a reset time and can schedule the retry right after it instead of hammering a closed door.
- Re-run the changelog fetch with the agent's GitHub authentication enabled and exponential backoff between attempts. Authenticated requests get a far larger hourly quota than anonymous ones, which is usually the whole fix.
Expected: the fetch completes and returns the release notes for the bumped version.
- Regenerate the PR body from the fetched notes and update the PR in place.
Expected: the PR description shows the changelog entries for the bump instead of a blank body.
- Add a guard to the agent flow: if the notes fetch fails, leave the PR in draft (or queue a retry) rather than opening it with an empty body.
Expected: no more empty-description upgrade PRs reaching reviewers.
Use this when
- An upgrade PR shipped with an empty description
- The changelog fetch failed with a GitHub API rate-limit error mid-run
- PR bodies are blank across a batch of dependency PRs after a bulk fetch
- "Rate limited" appears in the agent's fetch logs next to missing release notes
Not for this skill when
- The PR body is empty because the agent skipped the notes step deliberately to save tokens
- The changelog exists in a format the agent cannot parse (format problem, not a fetch problem)
- Release notes genuinely do not exist upstream for the bumped version
- The fetch failed with an auth error rather than rate limiting
Variant phrasings
- renovate PR description blank after GitHub rate limit
- changelog fetch failed with 403 ratelimitexceeded
- upgrade PR with no body because the API throttled the fetch
- empty PR description on a dependency bot PR
Why it happens
Unauthenticated GitHub API calls get a small hourly quota, and a bulk changelog fetch across many packages burns through it fast. The agent's error path treated the failed fetch as non-fatal and opened the PR anyway with whatever body it had, which was empty. The rate limit was the trigger; the missing guard was the bug.
Edge cases
- The rate-limit reset can be up to an hour out, so queue the body fill as a follow-up job instead of blocking the whole run on it.
- Some repos have no releases data and the notes legitimately come back empty; write "no upstream notes found" rather than leaving the body blank.
- Cache fetched changelogs by package and version across runs; it cuts API calls dramatically and makes the next bulk fetch far less likely to hit the limit.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst2sTWW-hVHmSe7SB8fTAtQ
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.