Skip to content

feature/agent skill staleness#181

Merged
glenngillen merged 1 commit into
mainfrom
feature/agent-skill-staleness
Jul 9, 2026
Merged

feature/agent skill staleness#181
glenngillen merged 1 commit into
mainfrom
feature/agent-skill-staleness

Conversation

@glenngillen

@glenngillen glenngillen commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Adding feature to check currently installed agent skills and nudge people to upgrade to the latest if they've fallen behind.

(merge #179 first as this builds on it)

@glenngillen
glenngillen marked this pull request as ready for review July 9, 2026 12:59
@glenngillen
glenngillen requested a review from liamcervante July 9, 2026 12:59
@glenngillen
glenngillen force-pushed the feature/agent-skill-staleness branch from 22dfa02 to c1161ee Compare July 9, 2026 13:50
Add detection of stale Infracost agent skills across the AI agents the
CLI supports, so users (and the LLMs driving them) are told when an
agent is running an old skill version and auto-update hasn't kept up.

How it knows what's installed: each agent gains a version detector —
`plugin list` / `skills list` parsing for Claude, Copilot CLI and
Gemini; the VS Code clone's plugin.json for Copilot VS Code; a version
marker stamped into ~/.gitlab/duo/skills/ for GitLab Duo. "Latest" is
the `version` field of the plugin manifest on agent-skills' default
branch (the same field Claude's marketplace gates updates on), fetched
over HTTP.

Surfacing (all three, per design):
  - End-of-run nag: main.go prints a caution when a configured agent is
    behind, pointing at `infracost agent setup` to upgrade. This is
    fully async and never blocks the command — the nag reads the last
    on-disk cached result instantly, while a detached goroutine refreshes
    the cache (probing agents + fetching latest) for the next run. A
    cold-cache command returns in ~14ms. Suppressed on the
    setup/remove/status/update commands.
  - `infracost agent status`: a live, on-demand view of every installed,
    detectable agent and whether it's up to date.
  - `infracost doctor`: the AI Agents category now flags stale skills
    (and correctly handles binary-less agents like Duo, which it
    previously reported as "skipped").

The check is disk-cached for 24h (mirroring the self-update check),
skipped on test binaries and via INFRACOST_SKIP_AGENT_CHECK, and its
cache file is allowlisted from the cache prune sweep. `agent setup` and
`agent remove` clear the cache so a fix or removal isn't shadowed by a
stale warning.
@glenngillen
glenngillen force-pushed the feature/agent-skill-staleness branch from c1161ee to 385d4bc Compare July 9, 2026 14:14
@glenngillen
glenngillen merged commit a600df8 into main Jul 9, 2026
4 checks passed
@glenngillen
glenngillen deleted the feature/agent-skill-staleness branch July 9, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants