Borrowing it
Nothing to install: this file belongs to tam159/next-role. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tam159/next-role/main/.agents/skills/upgrade-frontend-deps/SKILL.mdgit clone --depth 1 https://github.com/tam159/next-roleWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tam159/next-role/upgrade-frontend-deps)<a href="https://agentmods.dev/skills/tam159/next-role/upgrade-frontend-deps"><img src="https://agentmods.dev/badge/skills/tam159/next-role/upgrade-frontend-deps/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tam159/next-role/upgrade-frontend-deps"><img src="https://agentmods.dev/badge/skills/tam159/next-role/upgrade-frontend-deps.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00154 | $0.03249 |
| Opus 5.5 | $0.00062 | $0.01300 |
| Sonnet 5.5 | $0.00031 | $0.00650 |
| Haiku 4.5 | $0.00015 | $0.00325 |
Grade C, and why
upgrade-frontend-deps scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
Full visual checklist vs baseline (light + dark, dialogs, selects, hover, print page), plus a cold-build check: `rm -rf frontend/.next && pnpm --dir frontend build` and grep the emitted CSS. How it starts
The opening of the file, as written. The whole thing — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Upgrade the frontend's pnpm dependencies in revertable waves, preserving exact-pin style and the single-resolved-version invariant, with browser verification against a pre-upgrade baseline.
Ground rules
- Exact pins stay exact.
react,react-dom, and@langchain/langgraph-sdkhave no^inpackage.json. Upgrade them withpnpm --dir frontend add -E [email protected]; everything else gets a new^floor (pnpm --dir frontend add pkg@^x.y.z). - A held-back line needs a
~range.^x.y.zadmits every later minor, and pnpm resolves the highest match —pnpm add better-auth@^1.6.30installed 1.7.2, the version being held back. When a package must stay on its current minor (schema migration, peer gate), pin~x.y.z; when even a later patch is the problem, pin it exactly (-E). Say so under "Held back", and restore^in the PR that lifts the hold (pnpm keeps an exact pin exact on the nextadd, so edit the range by hand and re-runpnpm install). Always read the+ pkg x.y.zline pnpm prints afteradd— it is the installed version, not the range you typed. - One resolved version per dep. The lockfile must not carry two copies of anything that crosses a package boundary (the
@langchain/langgraph-sdksingle-copy invariant infrontend/AGENTS.mdis the critical one;scripts/check-langchain-sdk-sync.mjsguards it). - One commit per wave (majors: one per package) so any regression reverts surgically.
- Lockfile changes need
docker compose restart frontend; source edits hot-reload. Never restart for source-only changes; never skip the restart afterpnpm add/remove. @types/nodetracks the Docker runtime, not npmlatest. Read the major fromfrontend/Dockerfile'sFROM node:XX-alpineand stay on@types/node@^XX. Document it under "Held back".vitest+@vitest/coverage-v8are an exact-version lockstep pair (coverage is an exact peer of the runner) — bump both together in one command; a split pair breakspnpm test:coverage. Since vitest 5,viteis a required peer rather than a dependency: keep it as an explicit devDependency (vite@^8) so the resolved version is declared, not left to pnpm's auto-installed peers.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed aa3114087e66
- 1mo ago Changed 865e89584264
- 2mo ago Changed · +4 lines 6aa3e948036c
- 2mo ago First seen · 141 lines · 154 tokens per session scan C 9f00c876a855
upgrade-frontend-deps is a skill published in the GitHub repository tam159/next-role (65 stars, last pushed 2d ago), licensed MIT. It adds 154 tokens to every session and 3,249 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
upgrade-frontend-deps compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| upgrade-frontend-depstam159/next-role | Skill | 65 | 2d ago | MIT | C | 154 | Claude Code, Codex |
| ai-dev-jobs-mcp-v2diegosouzapw/awesome-omni-skills | Skill | 170 | 4mo ago | MIT | A | 78 | Claude Code, Codex |
| ai-dev-jobs-mcpdiegosouzapw/awesome-omni-skills | Skill | 170 | 4mo ago | MIT | A | 76 | Claude Code, Codex |
| openspec-verify-changeFission-AI/OpenSpec | Skill | 74k | yesterday | MIT | A | 51 | Claude Code |
| schema-explorationlangchain-ai/deepagents | Skill | 31k | yesterday | MIT | A | 57 | Claude Code, Codex |
| cli-resiliencediegosouzapw/OmniRoute | Skill | 83k | 5d ago | MIT | A | 35 | Claude Code, Codex |
| merge-batchdiegosouzapw/OmniRoute | Skill | 83k | 5d ago | MIT | A | 46 | Claude Code |