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 agentmods add skills/mduffy37/claudeworks/diff-addonsnpx skills add Mduffy37/claudeworks --skill diff-addonsgit clone --depth 1 https://github.com/Mduffy37/claudeworksWhat 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 | $0.00029 | $0.01495 |
| Opus 5 | $0.00015 | $0.00747 |
| Sonnet 5 | $0.00006 | $0.00299 |
| Haiku 4.5 | $0.00003 | $0.00150 |
Grade A, and why
diff-addons scanned grade A with 0 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 2d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
This skill is a profile isolation validator. It runs in three phases and produces a diff report. Follow the phases in order, do not skip.
Phase 1 — Declared inventory (from the filesystem)
Run the helper and parse its JSON output. This is what the profile declares should be loaded:
!node "${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/claudeworks/plugins/profiles-manager}/scripts/list-addons.js" --json 2>&1
Parse the JSON into three sets: declared.skills, declared.commands, declared.agents. Each is a sorted array of plugin:name strings. Remember the profile, pluginCount, counts.excluded, and excludedSkills/excludedCommands/excludedAgents fields — you'll need them for the final report.
Phase 2 — Actual inventory (from your session context)
Now enumerate what's actually available to you in this running session. The authoritative source is the <system-reminder> block near the start of the conversation that lists available skills. That block is ground truth — the Claude Code runtime injected it after profile assembly completed, so it reflects what was actually loaded.
Strict rules for Phase 2 — read, do not recall:
- Read directly from the system-reminder text in your context. Do not rely on memory of what a "typical" profile has.
- Convert every listed skill to the same
plugin:nameformat used in Phase 1. Items in the system reminder that already have aplugin:nameprefix stay as-is. Items without a plugin prefix (e.g.update-config,keybindings-help,simplify,loop) are builtin or globally-installed — prefix them with the sentinel(global):so they diff cleanly. - Do the same for commands (user-invocable slash commands grouped under "user-invocable skills" or similar) and for agents (under the Agent tool's
subagent_typelist). - Profile-scoped commands exception: the declared inventory may include entries prefixed
(profile):(e.g.(profile):workflow,(profile):workflow-debug,(profile):intro). These are slash commands the profile wrote into its ownconfig/commands/directory — Claude Code loads them as bare command names, same as(global):items. When you see a bare command in the session whose short name matches a declared(profile):<name>entry, prefix it with(profile):(not(global):) so the diff matches. Only fall back to(global):when no(profile):declaration uses that name. - If a category (skills, commands, agents) is not visible in your context, say so explicitly in the report instead of guessing.
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.
- 2d ago First seen · 81 lines · 29 tokens per session scan A aade0b5974b3
diff-addons is a skill published in the GitHub repository Mduffy37/claudeworks (11 stars, last pushed 2mo ago), licensed MIT. It adds 29 tokens to every session and 1,495 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
snip
You are an expert at writing declarative YAML filters for snip, a CLI proxy that reduces LLM token consumption by filtering shell output.
writing-workflow-skills
Use when adding a new workflow skill to pi-thinkrail-workflow, changing an existing workflow skill's role, trigger, handoff, or structure, or checking a workflow skill against the workflow system's rules. Not for authoring general-purpose skills outside this package.
todos
This chat has a shared, live TODO plan — your tasks for the conversation, which the user also edits. Read this skill and reach for the todo tools whenever a request takes more than a couple of steps. It covers the plan model (group = task, items = its steps; loose items are the user's lane), how to work it: propose…
reviewing-changes
Use when a review package asks you to review a plan step's change set (todo.startReview): you are the REVIEWER, not the author. How to judge an agent-written diff, file findings with addreviewcomment, and settle with exactly one reviewverdict.
setting-up-a-project
Use whenever asked to set up, onboard, initialize, or spec a project — the front door when the workspace has no spec graph yet (brand-new or an existing codebase); also seeded by the app's Set-up-project card (/skill:setting-up-a-project). Not for feature work in an already-specced project — use the brainstorming…
writing-specs
Use when a workflow step drafts or revises a spec artifact — a goal-and-requirements, an architecture, or a module SPEC — or when a workflow skill names it at such a step. The shared quality bar for specs — not a workflow, nothing to execute.