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/generous-corp/pulp/cli-maintenancenpx skills add Generous-Corp/pulp --skill cli-maintenancegit clone --depth 1 https://github.com/Generous-Corp/pulpWrote 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/generous-corp/pulp/cli-maintenance)<a href="https://agentmods.dev/skills/generous-corp/pulp/cli-maintenance"><img src="https://agentmods.dev/badge/skills/generous-corp/pulp/cli-maintenance.svg" alt="Measured on agentmods" 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 | $0.00032 | $0.47757 |
| Opus 5 | $0.00016 | $0.23878 |
| Sonnet 5 | $0.00006 | $0.09551 |
| Haiku 4.5 | $0.00003 | $0.04776 |
Grade F, and why
cli-maintenance scanned grade F with 4 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 today.
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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
Broken **root-owned** copies print `sudo rm <path>` and never Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
1. `pulp-mcp` on `$PATH` (the steady-state after `curl install.sh | sh`). Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
a value like `Release; rm -rf ~` would execute. Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
real gap: the curl `install.sh` adds PATH, but a user who first got `pulp` via a How it starts
The opening of the file, as written. The whole thing — 3,175 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLI Maintenance
When to use this skill
- Adding a new subcommand to the CLI
- Changing args/behavior of an existing command
- Removing or renaming a command
- Responding to a cli-plugin-sync hook reminder
- Auditing CLI / plugin / docs consistency
Doctor gating: separate capability-to-BUILD from capability-to-PUBLISH
DoctorCheck carries two independent flags, and picking the wrong one has
opposite failure modes:
optional— advisory everywhere, includingpulp doctor's exit code. For things that are a speedup, not a requirement (e.g. the Google Android CLI accelerator).release_only— still gatespulp doctor, but must NOT gate commands that merely build or scaffold. For credentials and capabilities needed to PUBLISH.
RELEASE_BOT_TOKEN is the worked example. It was neither flag, so it gated
pulp create, which then refused to scaffold a project on any machine lacking
the secret — every contributor's, since a repo secret is not theirs to set, and
every fleet host that is not the release host. The error printed a PAT
walkthrough to people who were only trying to create a project.
Do not "fix" this class by marking such a check optional. That silences it
in pulp doctor too, and the release-readiness signal is load-bearing: a missing
RELEASE_BOT_TOKEN once caused a 22-hour release drought. Add release_only
and let the consuming command decide, as cmd_create.cpp does:
if (c.optional || c.release_only) { /* advisory: print, do not gate */ }
Equally, do not fix it by configuring the secret on more hosts — that makes the test pass without making the behaviour correct, and spreads a release credential to machines with no use for it.
Doctor's environment checks live in C++, not in the Rust CLI
There are two doctor implementations and only one of them runs checks. The
Rust cmd::doctor::run (experimental/pulp-rs/src/cmd/doctor.rs) is native
only for --versions --json; every other lane — the default check list
included — falls through to pulp-cpp. The checks themselves are in
tools/cli/cli_doctor_helpers.cpp (run_doctor_checks), not in
tools/cli/cmd_doctor.cpp, which owns argument parsing and rendering.
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.
- today First seen · 3,175 lines · 32 tokens per session scan F c215b56e95d4
cli-maintenance is a skill published in the GitHub repository Generous-Corp/pulp (16 stars, last pushed today), licensed MIT. It adds 32 tokens to every session and 47,757 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it F with 4 findings (asks for root, downloads and executes remote code, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…