Agent skill

Whats New Catalog

by rajbos in rajbos/ai-engineering-fluency

Keep the What's New release catalog (vscode-extension/src/whatsNew/catalog.ts) in step with what the extension actually ships.

MITAuto-check passedDevelopment

Install Whats New Catalog

skills CLI
$ npx skills add rajbos/ai-engineering-fluency --skill whats-new-catalog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rajbos/ai-engineering-fluency whats-new-catalog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rajbos/ai-engineering-fluency.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/whats-new-catalog .claude/skills/whats-new-catalog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
whats-new-catalog
GitHub stars
117
Token cost
~2k tokens
SKILL.md length
977 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Keep the What's New release catalog (vscode-extension/src/whatsNew/catalog.ts) in step with what the extension actually ships.

  • Works in 5 steps: Run the detector. → Exit 1 → fix it in catalog.ts directly.… → Exit 3 → write the entry (see the next… → …
  • Bumping the extension version
  • SKILL.md covers The detector, Workflow for the agent, Writing a release entry and At release time, plus 1 more section
  • Calls node and npm

What it does

Whats New Catalog is an agent skill from rajbos/ai-engineering-fluency. Keep the What's New release catalog (vscode-extension/src/whatsNew/catalog.ts) in step with what the extension actually ships. Detects a released version with no catalog entry, an entry left marked "Unreleased" after it shipped, a feature pointing at a view or tab that no longer exists (a "Take me there" button that goes nowhere), and a catalogued tab on a view that never reports being opened — which silently breaks the "don't announce what they already found" rule. Also prints the surface inventory and the…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes. It works with Visual Studio Code. The repository describes itself as: Extension that shows information about the estimated token usage and more of AI in editors/CLI's. The licence is MIT.

When your agent uses it

  • Bumping the extension version
  • Cutting a release
  • After adding a new view/tab/section
  • The Whats New view looks stale

Example prompts

  • “Unreleased”
  • “Take me there”
  • “t announce what they already found”
  • “/whats-new-catalog”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Run the detector.
  2. Exit 1 → fix it in catalog.ts directly. These are unambiguous
  3. Exit 3 → write the entry (see the next section), then re-run.
  4. Read the "beyond the cap" markers. If something important is below the
  5. Re-run until clean, then run the unit tests

What it can do on your machine

Read from SKILL.md and the folder at commit 7b4f317. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Whats New Catalog loads about 2k tokens when it runs. Until then it costs about 193 tokens; SKILL.md has 977 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~193
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rajbos/ai-engineering-fluency at commit 7b4f317, republished under its MIT licence (© rajbos). 977 words, ~1,990 tokens.

Download SKILL.mdSave it as .claude/skills/whats-new-catalog/SKILL.md (or your agent's skills folder).
name
whats-new-catalog
description
Keep the What's New release catalog (vscode-extension/src/whatsNew/catalog.ts) in step with what the extension actually ships. Detects a released version with no catalog entry, an entry left marked "Unreleased" after it shipped, a feature pointing at a view or tab that no longer exists (a "Take me there" button that goes nowhere), and a catalogued tab on a view that never reports being opened — which silently breaks the "don't announce what they already found" rule. Also prints the surface inventory and the CHANGELOG's Unreleased bullets side by side, the two things you read when writing a new entry. Use when bumping the extension version or cutting a release, after adding a new view/tab/section, or when the What's New view looks stale or wrong.

What's New Catalog Skill

vscode-extension/src/whatsNew/catalog.ts is hand-written prose that drives two user-facing things:

  • the What's New view (the last 5 releases, in plain English), and
  • the one-a-day new-feature notifications — which surface gets pointed out, and where its "Take me there" button goes.

Because it is prose, nothing about it compiles-or-breaks. A release can ship with no entry, an entry can point at a tab that was renamed, and everything still builds and every test still passes. The view just quietly starts lying.

This skill covers the mechanical half. The editorial half — what to say — is yours, and the guidance for it is below.

Full feature documentation: docs/features/WHATS-NEW.md

The detector

bash
node .github/skills/whats-new-catalog/whats-new-catalog.js          # human-readable
node .github/skills/whats-new-catalog/whats-new-catalog.js --json   # machine-readable

Dependency-free apart from the repo's own TypeScript — it transpiles and evaluates catalog.ts rather than pattern-matching its prose, so multi-line descriptions containing braces and quotes can never confuse it. Run npm ci in vscode-extension/ first if it complains.

What it checks
CheckWhy it matters
Version coverage — package.json's version has a catalog entryWithout one, everything in that release is invisible in the view and can never be announced
Date hygiene — only the newest entry may be date: nullAn older undated entry makes the view say "Unreleased" about something users have run for months
Orphan surfaces — every surface resolves to a real view, and a real tab on itAn orphan is a "Take me there" button that silently does nothing
Tab-tracking gaps — a catalogued tab on a view that never posts viewTabOpenedThe announcer can never tell the user opened it, so it keeps offering something they already found. Invisible in review; the main reason this script exists

Ordering, id uniqueness and prose length are covered by vscode-extension/test/unit/whatsNewCatalog.test.ts and are deliberately not duplicated here.

What it prints for you to judge
  • The current entry, with each feature marked if it falls beyond the per-release announcement cap — those are listed in the view but never announced, so if an important one is sitting below the line, reorder.
  • The surface inventory — every view and tab the extension ships, ticked where some catalog entry names it. A blank is not a problem; most tabs predate the catalog. It is the reference table for writing a surface.
  • The CHANGELOG's Unreleased → Features bullets — the raw material.
Exit codes
CodeMeaning
0Catalog is consistent with the code
1Mechanical drift you can fix directly (orphan surface, stale null date, untracked tab)
2Configuration error (a source file moved, or TypeScript is not installed)
3No entry for the current version — needs written prose. Takes precedence over 1

Workflow for the agent

  1. Run the detector.
  2. Exit 1 → fix it in catalog.ts directly. These are unambiguous:
    • orphan surface → repoint it at the tab's current name, or drop the tab and leave it at view level;
    • undated older entry → add the release date from vscode-extension/CHANGELOG.md;
    • untracked tab → either drop the tab from the surface, or wire that view's webview to post { command: 'viewTabOpened', view, tab } on tab change (see src/webview/usage/main.ts → reportTabOpened). Wiring it up is the better fix when the view genuinely has tabs users navigate between.
  3. Exit 3 → write the entry (see the next section), then re-run.
  4. Read the "beyond the cap" markers. If something important is below the line, reorder the features array. Catalog order is the decision about what mattered most in the release.
  5. Re-run until clean, then run the unit tests: cd vscode-extension && npm run test:node.
Show full SKILL.md (410 more words)Show less

Writing a release entry

Prepend to WHATS_NEW_RELEASES (newest first):

ts
{
  version: '0.18.0',
  date: null,          // a date once it ships; see "At release time" below
  headline: 'One sentence for someone who skipped the details.',
  features: [ /* most important first — the cap truncates */ ],
},

Write for a user, not a reviewer. The CHANGELOG says what changed in the diff; this says what someone can now do, and why they would look. Compare:

❌ "Add corrections detection with per-repo grouping over the 25 most recent sessions"

✅ "Shows the moments where things went sideways — a tool call that failed, an edit the agent immediately redid, a 'sorry, let me try that again' — grouped per repository. A good place to look when a session felt like hard work but you cannot say why."

Rules that are easy to get wrong:

  • Only list things a person can point at: a new view, tab, or section. Bug fixes, refactors and performance work belong in the CHANGELOG. A release with nothing pointable gets features: [] and a headline saying so — the view renders that honestly, and a gap in the version list would read as a bug.
  • Order by importance. Only the first WHATS_NEW_MAX_ANNOUNCEMENTS_PER_RELEASE are ever announced; the rest are view-only.
  • Never reuse or renumber an id. They are persisted in globalState to remember what each user has been told, so a recycled id silently suppresses the announcement for everyone who saw the feature it used to name.
  • kind is only used for the notification's wording ("New tab: …"), so pick the one that matches what the user will see appear.
  • surface must be precise enough both to open the thing and to tell whether the user has been there. Use anchor for a section within a tab; anchors are not part of the "have they seen it" key, so a section counts as found once its tab has been visited.

At release time

When the version bump lands and the release ships:

  1. Set the entry's date to the release date (matching CHANGELOG.md).
  2. Add the new in-development version's entry with date: null.
  3. Re-run the detector — it should be clean at exit 0.

The oldest entries can stay in the array; the view slices to WHATS_NEW_MAX_RELEASES. Keeping a little more history than that is harmless and means the trim point is a display decision rather than a data-loss one.

  • vscode-extension/src/whatsNew/catalog.ts — the catalog itself
  • vscode-extension/src/whatsNew/announcer.ts — the pacing rules (caps, daily gate, staleness)
  • vscode-extension/src/whatsNew/visits.ts — the per-view/per-tab last-opened stamps
  • vscode-extension/src/webview/whatsnew/main.ts — the view
  • vscode-extension/test/unit/whatsNewCatalog.test.ts — ordering, unique ids, prose length
  • docs/features/WHATS-NEW.md — how the whole feature works
  • .github/skills/sync-host-views/ — the sibling skill for a new view that the Visual Studio and JetBrains hosts do not yet ship

© rajbos, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/whats-new-catalog of rajbos/ai-engineering-fluency.

Open the folder on GitHubat commit 7b4f317

Compare with similar skills

Whats New Catalog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Whats New Catalog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Whats New Catalog this skillrajbos/ai-engineering-fluency117—~2kAutomated safety check: PassMIT
Release Roslynatordotnet/roslynator3.5k—~1kAutomated safety check: PassCustom licence
Trust CI Release GatesjohannesPettersson80/trust-platform222—~3.6kAutomated safety check: PassApache-2.0
Releasesignageos/vscode-sops122—~2.2kAutomated safety check: NotesMIT
Releasequerylenshq/ef-querylens225—~887Automated safety check: PassMIT
Changelog Entrycertinia/debug-log-analyzer114—~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Release Roslynator

    dotnet/roslynator

    Official

    A skill your agent uses when shipping a roslynator release, rolling CHANGELOG.md [Unreleased], updating the VS Code extension changelog, creating a GitHub v release, or optionally tagging cli-v.

    3.5k GitHub stars~1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Trust CI Release Gates

    johannesPettersson80/trust-platform

    Prepares and ships truST changes - changelog and version updates, CI parity, pre-push checks, the exact-SHA release-candidate guard, merge, tag and release verification.

    222 GitHub stars~3.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Release

    signageos/vscode-sops

    Releases the vscode-sops extension end-to-end: determines the next version from the bump history, updates CHANGELOG.md and package.json/package-lock.json, builds via vscode:prepublish, publishes to…

    122 GitHub stars~2.2k tokensUpdated 6 mo ago
    DevelopmentAuto-check: notes
  • Release

    querylenshq/ef-querylens

    A skill your agent uses when: creating a release, publishing a version, cutting a release, tagging a release, releasing plugin, release workflow, prepare release, create git tag, create GitHub…

    225 GitHub stars~887 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Changelog Entry

    certinia/debug-log-analyzer

    Write, review or trim CHANGELOG.md entries. An agent skill from certinia/debug-log-analyzer.

    114 GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Changelog

    forcedotcom/salesforcedx-vscode

    Polish the automated CHANGELOG on develop before the next stable build.

    1k GitHub stars~3.3k tokensUpdated today
    DevelopmentAuto-check passed

More from rajbos/ai-engineering-fluency

All 21 skills in this repo
  • Check Urls

    rajbos/ai-engineering-fluency

    Find all hardcoded URLs in TypeScript source files and verify they resolve (return HTTP 2xx/3xx).

    118 GitHub stars~875 tokensUpdated today
    Auto-check passed
  • Create Issue

    rajbos/ai-engineering-fluency

    Create a well-scoped GitHub issue in this repo. An agent skill from rajbos/ai-engineering-fluency.

    118 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Deduplicate Code

    rajbos/ai-engineering-fluency

    Detect copy-pasted code blocks across the shared source (vscode-extension/src, the repo-root src/, cli/src) with the dependency-free check-code-duplication.js detector, then pick one duplicate group…

    118 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Improve Tool Families

    rajbos/ai-engineering-fluency

    Analyze coverage of the vscode-extension's tool-family definitions (DEFAULTTOOLFAMILIES in vscode-extension/src/toolFamilies.ts) against the canonical tool-name list in src/toolNames.json and/or a…

    118 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Load Cache Data

    rajbos/ai-engineering-fluency

    Load and display the last 10 cache entries as raw JSON output.

    118 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • PR Risk Review

    rajbos/ai-engineering-fluency

    Assess the risk of a changeset (a PR, a branch, or the working tree) and classify it as low, medium, or high with a written rationale.

    118 GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Categories

Questions about Whats New Catalog

What does Whats New Catalog do?

Keep the What's New release catalog (vscode-extension/src/whatsNew/catalog.ts) in step with what the extension actually ships. Whats New Catalog is an agent skill from rajbos/ai-engineering-fluency.ts) in step with what the extension actually ships.

When should I use Whats New Catalog?

Whats New Catalog fits situations like: bumping the extension version; cutting a release; after adding a new view/tab/section; the Whats New view looks stale.

How do I install Whats New Catalog in Claude Code?

Run `npx skills add rajbos/ai-engineering-fluency --skill whats-new-catalog -a claude-code`. Or copy the skill folder (.claude/skills/whats-new-catalog in rajbos/ai-engineering-fluency) into .claude/skills/whats-new-catalog in your project. Claude Code loads it when a task matches its description.

How do I install Whats New Catalog in Codex?

Run `npx skills add rajbos/ai-engineering-fluency --skill whats-new-catalog -a codex`. Or copy the skill folder (.claude/skills/whats-new-catalog in rajbos/ai-engineering-fluency) into .agents/skills/whats-new-catalog in your project. Codex loads it when a task matches its description.

Can I use Whats New Catalog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rajbos/ai-engineering-fluency --skill whats-new-catalog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/whats-new-catalog, .gemini/skills/whats-new-catalog, .github/skills/whats-new-catalog and .opencode/skills/whats-new-catalog in your project.

What does Whats New Catalog need to run?

Going by SKILL.md and its folder, Whats New Catalog needs the command-line tools its instructions call (node and npm).

Does Whats New Catalog access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Whats New Catalog safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Whats New Catalog use?

Whats New Catalog is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Whats New Catalog use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Whats New Catalog?

Skills that share tags, products or a category with Whats New Catalog: Release Roslynator (dotnet/roslynator, 3.5k stars), Trust CI Release Gates (johannesPettersson80/trust-platform, 222 stars), Release (signageos/vscode-sops, 122 stars) and Release (querylenshq/ef-querylens, 225 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Whats New Catalog?

rajbos (a GitHub user) maintains it in rajbos/ai-engineering-fluency, which has 117 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 10, 2026.

Source: rajbos/ai-engineering-fluency on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.