Keep your docs current for AI assistants after every release
Every time you publish a release, we refresh your public documentation library and tell you which changes you shipped but never wrote down.
When a new release is published in our GitHub repository, keep our public Context7 documentation library in sync with what we just shipped, and tell us what we forgot to document. Use a webhook trigger on the GitHub release published event.
Before doing any work, decide whether this release is worth processing. Skip it entirely if the release is marked as a prerelease or a draft. Also skip patch releases whose notes contain no user facing changes, meaning the notes are only internal refactors, dependency bumps, CI changes, or typo fixes. When you skip a release, stop quietly without posting anything.
Pull the full release notes using the GitHub Get a Release operation with the release id from the webhook payload. If the payload gives you only a tag name, use Get Release by Tag instead. Read the notes and extract the notable changes: new features, changed or removed behaviour, new configuration options, breaking changes, and anything else that alters how someone uses the library. Ignore purely internal entries.
Resolve our repository to its Context7 library ID with the Context7 Search for Libraries operation, searching on the repository name. A library ID is the context7.com URL path, for example /vercel/next.js, and can be versioned like /vercel/next.js/v15.1.8. Pick the result that genuinely matches our repository rather than just taking the first hit. If Context7 responds that the library ID resolved to a new canonical ID, follow the canonical ID and carry on rather than treating it as a failure.
Call Context7 Refresh a Library against that library ID so AI coding assistants stop serving the previous version's documentation. This workflow is for documentation we publish and own, so the Context7 API key must belong to a member of the teamspace or team project that owns the library. Library owners have dedicated, higher refresh limits, so this is expected to work on every release.
The refresh is asynchronous. Context7 can accept the request and keep processing in the background, returning a still processing response rather than finished documentation. Do not query the docs immediately. Wait and retry until the library reports it has finished, backing off between attempts, for example waiting around thirty seconds between checks for up to roughly five minutes. If the library is still processing once you run out of attempts, post to Slack saying the refresh did not finish in time and do not open an issue, because judging coverage against a half processed library produces false gaps.
Once the refresh has settled, take each notable change one at a time and run Context7 Get Documentation Context against the refreshed library, using the change itself as the natural language query. Request the structured JSON response type rather than plain text so you can compare coverage programmatically.
For each change, sort the returned documentation into one of four buckets: covered, meaning the docs clearly describe the new behaviour; missing, meaning nothing in the docs mentions it at all; thin, meaning it is mentioned but with no real explanation or example; or stale, meaning the docs still describe the old behaviour that this release changed. Stale is the most important case to catch, because that is what makes an AI assistant confidently teach the wrong thing. Be honest rather than generous: if the returned snippets do not actually describe the change, it is not covered.
Post a summary to our docs channel using the Slack Bot Send a Message operation. Include the release name and tag, a link to the release, how many notable changes you checked, and how many came back covered, missing, thin, and stale. List the gaps with the shortest useful description of each, putting stale items first, and include a link to the GitHub issue if you opened one.
If at least one change is not covered, open a GitHub issue in the same repository with the Create an Issue operation. Title it after the release, for example Docs gaps for v2.4.0. The body should be a markdown checklist with one unchecked line per gap, and every line must quote the release note it came from and say whether that item is missing, thin, or stale. If every notable change is already covered, skip the issue entirely and post the all clear to Slack instead.
Handle the edge cases gracefully. If Search for Libraries returns no match for our repository, post to Slack saying the library does not appear to be indexed yet and stop, rather than opening an issue. If the release notes are empty or say only something like see the changelog, post to Slack saying there was nothing to check.
What does this prompt do?
- Starts the moment you publish a new release on GitHub, and quietly skips prereleases and small patches with nothing user facing in them
- Refreshes your public documentation library so AI coding assistants stop teaching people last version's behaviour
- Takes each notable change in your release notes and checks whether your documentation actually describes it, flagging anything missing, thin, or still describing the old way
- Posts a summary to your docs channel in Slack and opens a GitHub issue with a checklist of every gap, each one quoting the release note it came from
What do I need to use this?
- A GitHub account and the repository you publish your releases from
- A Context7 account that owns the documentation library for that repository, since this refreshes docs you publish yourself
- A Slack workspace and a channel where your team follows documentation updates
How can I customize it?
- Change which releases are worth checking, for example include every patch release or only majors and minors
- Pick which Slack channel gets the summary and whether the docs owner gets tagged directly
- Decide how strict the coverage check is before a change counts as a gap, and which repository the issue gets opened in
FAQs
Does this work for any library, or only ours?
What happens with prereleases and tiny patch releases?
Will it open a GitHub issue after every single release?
How does it decide whether something is documented?
Do we need to change how we write our release notes?
Related templates
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.
A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.
Stop shipping features your documentation never mentions.
Every release, find out what changed, what your docs still get wrong, and exactly what is left to write.