release-radar
A weekly changelog for your stack from daily.dev. Finds release notes, breaking changes and migration posts for the tags you follow, writes a digest, and saves the posts to a bookmark list.
Files1
View on GitHubSKILL.mdplugins/release-radar/skills/release-radar/SKILL.md
GitHubRelease Radar
Release notes scatter across dozens of blogs and repos. Release Radar collects the ones that matter for your stack from daily.dev and turns them into one weekly digest.
Requirements
One of:
- The daily.dev MCP server (
https://api.daily.dev/mcp) connected to your agent (add thewritescope if you want posts bookmarked), or - A daily.dev personal access token in
DAILY_DEV_TOKEN(https://daily.dev/settings/api). Base URLhttps://api.daily.dev/public/v1, headerAuthorization: Bearer $DAILY_DEV_TOKEN. Never send the token anywhere exceptapi.daily.dev.
Each step lists the MCP tool first and the REST call after it.
Steps
- Decide the stack. Use the tags the user names, or
getFeedsFilters(GET /feeds/filters) and takeincludeTags. Cap at 8 tags; more than that makes the digest noise. - Pull the tag feeds. For each tag,
getFeedsTagByTagwithlimit30 (GET /feeds/tag/{tag}?limit=30). These feeds are unranked and include tweets and zero-upvote posts, so filter:- keep posts whose
titleorsummarymentions a version or a release: matches likev\d,\d+\.\d+,release,released,changelog,breaking,deprecat,migrat,end of life,GA,beta,RC - keep
createdAtwithin the last 7 days (or the period the user asked for) - drop posts with
typestarting withsocial:unless they have 10 or more upvotes
- keep posts whose
- Fill gaps with search. For tags with few hits,
getSearchPostswithqset to<tag> release(GET /search/posts?q=<tag>+release&limit=10) and apply the same filters. - Classify each kept post into Breaking changes, Releases, Deprecations and end of life, or Migration guides, using the summary. Within each group sort by
numUpvotes. - Write the digest. Per post: title linked to
url(fall back tocommentsPermalink), the project or source, the version if visible, one line fromsummary, and upvotes. Lead with breaking changes. - Optional: save them. If the user wants the posts kept,
postBookmarkswith the post ids (POST /bookmarks, body{ "postIds": [...] }). To file them in a dedicated list, find or create one withgetBookmarksLists/postBookmarksLists(GET /bookmarks/lists,POST /bookmarks/lists, body{ "name": "Releases", "icon": "🚀" }) and pass its id aslistId. Bookmark lists are a daily.dev Plus feature; on a free accountlistIdis ignored and the posts land in the main bookmarks, so say that rather than failing.
Output
A digest under 400 words for 8 tags, grouped as in step 4, with a one-line "nothing new" for tags that had no releases. Markdown by default; Slack formatting on request.
Guardrails
- Read-only unless the user asks to save. Never remove bookmarks.
- Posts about a release aren't the release: when the title is a tutorial or an opinion piece, leave it out even if it mentions a version.
- Budget: one request per tag plus searches and the optional bookmark call, about 10 to 15 for a weekly run.