Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add craigcossairt/trellis --skill review-dependency-updatesgit clone --depth 1 https://github.com/craigcossairt/trellisWrote 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/craigcossairt/trellis/review-dependency-updates)<a href="https://agentmods.dev/skills/craigcossairt/trellis/review-dependency-updates"><img src="https://agentmods.dev/badge/skills/craigcossairt/trellis/review-dependency-updates/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/craigcossairt/trellis/review-dependency-updates"><img src="https://agentmods.dev/badge/skills/craigcossairt/trellis/review-dependency-updates.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.00065 | $0.00476 |
| Opus 5 | $0.00032 | $0.00238 |
| Sonnet 5 | $0.00013 | $0.00095 |
| Haiku 4.5 | $0.00006 | $0.00048 |
Grade A, and why
review-dependency-updates scanned grade A with 2 findings 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 10d 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.
Sends data to an external URLlowData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
curl -s -X POST https://api.osv.dev/v1/querybatch -d '{ Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -X POST https://api.osv.dev/v1/querybatch -d '{ What it actually says
You are running a security-conscious dependency-update review. Nothing gets bumped blindly. The steps:
-
List what's outdated. Use the ecosystem's native command (
npm outdated,pub outdated,cargo outdated,pip list --outdated, ...). Include pinned/held-back versions in the review, not just the auto-resolvable ones. -
Security-scan every candidate bump. Use OSV.dev's
/v1/querybatchREST API - it covers npm, pub, PyPI, crates.io, Go, and more, with no install required:curl -s -X POST https://api.osv.dev/v1/querybatch -d '{ "queries": [ {"package": {"name": "<pkg>", "ecosystem": "<npm|Pub|PyPI|crates.io>"}, "version": "<candidate-version>"} ] }'For an active supply-chain scare, web-search the specific compromised packages and check the project's lockfiles for exposure.
-
Categorize each dep: safe-to-bump (well-aged, no advisories), hold (major/breaking - needs a code change), and blocked (open CVE, or freshly published - recently-published versions are the supply-chain risk; don't bump onto a release that's only days old).
-
Apply only the safe set. Edit the manifest, run install, then run lint + the test suite to confirm nothing broke. Don't bundle a breaking major into a routine bump - file it separately.
-
Handle bot PRs (Dependabot/Renovate) the same way: review each open PR against steps 2-3, merge the safe ones, leave breaking/suspect ones with a comment.
-
PR the result with a summary table - package, old→new, why it's safe (or why deferred).
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.
- 10d ago First seen · 38 lines · 65 tokens per session scan A fca23b21a2c5
review-dependency-updates is a skill published in the GitHub repository craigcossairt/trellis (4 stars, last pushed yesterday), licensed MIT. It adds 65 tokens to every session and 476 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
debugging-loop
Systematic reproduce-isolate-fix-verify loop for bugs, test failures, and unexpected behavior. Use when something is broken and the cause is not yet known.
implementation-loop
Disciplined plan-build-verify loop for implementing a feature or change. Use when building something new or modifying existing behavior, especially across multiple files.
adr-review
Review an ADR the user has written in docs/adr/. Use when the user says an ADR is ready for review or asks for feedback on a decision record. Never use this to write or rewrite an ADR for them.
lesson
Produce or continue a deep-dive learning-track lesson (a focused mini-course on a hard subject the project needs), or review the user's track exercise work. Use when the user asks for the next lesson, help with a track exercise, or to start a new track.
milestone
Produce the next guided build doc (six-part - Concept, ADR, Guided build, Challenges, Verify, Stretch). Use when the user asks to start a phase, begin a milestone, or wants the next build step.
mode
Switch how much code the AI writes - between guided (you write all code), collab (split), and autopilot (AI writes it). Use when the user says "set mode to X", "switch to autopilot", "let me write it myself", "just build it for me", or asks what the modes are.