Trust — is it safe?
Brief 85

Dependency Currency Audit

Run the outdated command and read the lockfile's birthdays — majors behind, EOL dates, the two packages pinning everything — and the forced jump the drift is scheduling.

UPGRADES.md4 phases6 lenses~3.3k chars

Free & open · no signup · read-only — it ends by asking · nothing leaves your machine

What it does

You are working inside this repo. Mission: measure — not estimate — how far the dependency tree, runtime, and toolchain have drifted from current, find what is pinning the drift in place, and forecast the forced jump that lands if nothing moves.

This is the currency lens: how far behind, and what catching up costs. For vulnerabilities, weight, and duplication, run 07.

Read-only pass. Run the ecosystem's outdated and EOL checks; read manifests, lockfiles, and changelogs; change nothing. Your only write is the report file.

What it looks for

6 lenses it looks through

Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.

1

Major distance

per significant dependency: majors behind × age of the pinned version; a 2019 pin is a fact — cite it

2

EOL exposure

runtime or framework past, or within a year of, end-of-life on the published schedule, dated

3

Pins with reasons

every forced version or resolution override: find the commit or comment that explains it, or flag it as a fossil nobody dares touch

4

Blockers

the one or two packages whose upgrade unblocks a cascade; name what each holds back, from the dependency graph

5

Transitive drag

current directs holding outdated transitives; the drift the manifest hides

6

Cadence evidence

a bot configured? bot PRs actually merged in the log? or does the lockfile only move when something breaks — cite the history

The deliverable

What lands in your repo

One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.

UPGRADES.md
1
Drift ledger
dependency · pinned · latest · majors behind · pinned version's release date · EOL date where one exists
2
The blockers
what pins the tree, the evidence, and what each unlocks
3
Catch-up sequence
ordered: bumps → blocker → cascade, each sized S/M/L
4
Forced-jump forecast
the emergency this drift is scheduling, narrated in three sentences
One file. Evidence-backed. It ends by asking before touching anything.
How it works

What it makes the agent do

Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.

1
Phase 1

Measure the drift

Run the outdated command (npm outdated, pip list --outdated, cargo outdated, ...) and capture the raw table.

2
Phase 2

Audit through 6 lenses

Every lag claim carries a number from Phase 1.

3
Phase 3

Curate

Rank by the cost of staying.

4
Phase 4

Report

Create UPGRADES.md at repo root.

Get started

Three ways to run this Goal Prompt

01 · COPY

Paste it in

Copy it and paste it into your agent inside the repo you want checked.

02 · INSTALL

As a slash command

Install the goal plugin once — two commands — then just type /goal:dependency-currency.

1/plugin marketplace add GhostlyGawd/goal-prompts
2/plugin install goal@goal-prompts

Or install only this Goal Prompt as /goal-dependency-currency:

curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=85 sh
03 · AGENT

From an agent (MCP)

Let an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.

https://goal-prompts.vercel.app/raw/85.md
Transparency

The exact prompt

Nothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.

Read the full brief (3,310 characters)
# Goal: Dependency Currency Audit

You are working inside this repo. Mission: measure — not estimate — how far the dependency tree, runtime, and toolchain have drifted from current, find what is pinning the drift in place, and forecast the forced jump that lands if nothing moves.

This is the currency lens: how far behind, and what catching up costs. For vulnerabilities, weight, and duplication, run 07.

Read-only pass. Run the ecosystem's outdated and EOL checks; read manifests, lockfiles, and changelogs; change nothing. Your only write is the report file.

## Phase 1 — Measure the drift
- Run the outdated command (`npm outdated`, `pip list --outdated`, `cargo outdated`, ...) and capture the raw table; that is your evidence base.
- Record the runtime and toolchain versions — language, framework, builder — and each one's EOL date from its published schedule.
- Date the drift's velocity, not just its size: when did the lockfile last meaningfully change (`git log` on it)?

## Phase 2 — Audit through 6 lenses
Every lag claim carries a number from Phase 1: versions behind, a release date, or an EOL date.
1. **Major distance** — per significant dependency: majors behind × age of the pinned version; a 2019 pin is a fact — cite it
2. **EOL exposure** — runtime or framework past, or within a year of, end-of-life on the published schedule, dated
3. **Pins with reasons** — every forced version or resolution override: find the commit or comment that explains it, or flag it as a fossil nobody dares touch
4. **Blockers** — the one or two packages whose upgrade unblocks a cascade; name what each holds back, from the dependency graph
5. **Transitive drag** — current directs holding outdated transitives; the drift the manifest hides
6. **Cadence evidence** — a bot configured? bot PRs actually merged in the log? or does the lockfile only move when something breaks — cite the history

## Phase 3 — Curate
- Rank by the cost of staying: EOL runtimes and security-sensitive lag outrank cosmetic minors.
- Sequence the catch-up: cheap bumps that shrink the surface, then the blocker, then the cascade it frees.
- Write the forced-jump forecast: if nothing moves for a year, name the upgrade that becomes a rewrite.

## Phase 4 — Report
Create `UPGRADES.md` at repo root:
1. **Drift ledger** — dependency · pinned · latest · majors behind · pinned version's release date · EOL date where one exists
2. **The blockers** — what pins the tree, the evidence, and what each unlocks
3. **Catch-up sequence** — ordered: bumps → blocker → cascade, each sized S/M/L
4. **Forced-jump forecast** — the emergency this drift is scheduling, narrated in three sentences

Start the report with today's date. If `UPGRADES.md` already exists from a previous run, read it first and lead with what changed since.

## Rules
- Every number comes from a command, a changelog, or a schedule — never from memory
- A major bump is a project, not a bump; size it like one
- No dependency manifest in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding.
- If a `reports/` directory exists at the repo root, write the report there instead of the root.
- Before asking, present the top findings as a ranked list in plain words
- Report only — end by asking which upgrades to take on first

House rules for this Goal Prompt

  • Every number comes from a command, a changelog, or a schedule — never from memory
  • A major bump is a project, not a bump; size it like one
  • No dependency manifest in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding.
  • If a reports/ directory exists at the repo root, write the report there instead of the root.
  • Before asking, present the top findings as a ranked list in plain words
  • Report only — end by asking which upgrades to take on first
Keep exploring

Pairs well with

Curated neighbors — briefs that answer the adjacent question, worth running in the same session.

More Trust briefs