Keep your docs current for AI assistants after every release

By General Input

Every time you publish a release, we refresh your public documentation library and tell you which changes you shipped but never wrote down.

Integrations

  • Context7
  • GitHub
  • Slack Bot

Type

Agentic Task

Categories

  • Engineering
  • Product

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them