Borrowing it
Nothing to install: this file belongs to damusix/atomic-claude. 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/damusix/atomic-claude/main/.claude/skills/atomic-cli-contrib/SKILL.mdgit clone --depth 1 https://github.com/damusix/atomic-claudeWrote 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/damusix/atomic-claude/atomic-cli-contrib)<a href="https://agentmods.dev/skills/damusix/atomic-claude/atomic-cli-contrib"><img src="https://agentmods.dev/badge/skills/damusix/atomic-claude/atomic-cli-contrib/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/damusix/atomic-claude/atomic-cli-contrib"><img src="https://agentmods.dev/badge/skills/damusix/atomic-claude/atomic-cli-contrib.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Agent Snooping · line 66 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 69 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- high Agent Snooping · line 239 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- medium Rogue Agent · line 3 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Rogue Agent · line 146 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
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.00138 | $0.05047 |
| Opus 5.5 | $0.00055 | $0.02019 |
| Sonnet 5.5 | $0.00028 | $0.01009 |
| Haiku 4.5 | $0.00014 | $0.00505 |
Grade B, and why
atomic-cli-contrib scanned grade B 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 1mo 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
The `outputstyle.*` and `settingsjson.*` helpers expect `scopeRoot` to be the directory that *contains* `.claude/`. They internally resolve `<scopeRoot>/.claude/settings.json`. How it starts
The opening of the file, as written. The whole thing — 273 lines — stays where its author put it; the contents beside it link to each section on GitHub.
atomic-cli-contrib
Project-local skill for working on the atomic CLI in this repo. Captures conventions that emerged from the doctor, validate, and config work, plus the prompt-layer extraction. Read this before adding subcommands, flags, prompts, or new internal packages.
This skill is contributor-scope only. It lives under .claude/skills/ and is auto-loaded for sessions in this repo. It is not bundled (see atomic/internal/bundlemirror/mirror.go — only context/skills/atomic-*/ ships).
1. Interactive prompts go through internal/prompt/
- Single surface. Every interactive prompt — install flows, doctor
--fix, futureatomic config, anything new — callsinternal/prompt.Confirmorinternal/prompt.Select[T]. No directhuh.*calls outside the prompt package. Nobufio.Scannerprompters. - Why. One swap point when
huhchanges API. Consistent TTY detection. Consistent abort handling. - Sentinels. Callers branch on
errors.Is(err, prompt.ErrNonInteractive)(no TTY → skip path) anderrors.Is(err, prompt.ErrAborted)(Ctrl+C → distinct from "No"). Never collapse abort into decline. - Doctor adapter. The doctor's
Prompterinterface lives separately so the--fixloop can have its own decision shape (DecisionYes/DecisionNo/DecisionSkip/DecisionAbort). The adapter (doctor/stdin_prompter.go) translates frominternal/prompterrors. Mirror the adapter pattern if you build a new prompt-consuming subsystem.
2. Testable seams via function-field structs
-
Pattern. For any subsystem that calls external collaborators (filesystem, network, prompt, time), define a struct of function fields:
type MyStep struct { Classify func(scopeRoot, want string) (Result, error) Write func(scopeRoot, value string) error Confirm func(title, desc string, def bool) (bool, error) Logger io.Writer AssumeYes bool }Default factory wires production deps. Tests inject stubs.
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.
- 1mo ago First seen · 273 lines · 138 tokens per session scan B 52a1e13d452b
atomic-cli-contrib is a skill published in the GitHub repository damusix/atomic-claude (115 stars, last pushed 6d ago), licensed MIT. It adds 138 tokens to every session and 5,047 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
loongsuite-pilot-insight
A reporting workflow for turning LoongSuite Pilot and AI coding-agent logs into structured reports about events, teams, data quality, development efficiency, and AI use. It defines the meaning of the log fields and the measurements used in dashboards.
loongsuite-pilot-ops
Skill "loongsuite-pilot-ops" from alibaba/loongsuite-pilot, covering loongsuite-pilot-ops, quick start, todo: add quick start commands and usage.
sipcode-regress
Check the user's own local Claude Code and Codex logs for regressions after an update (prompt-cache misses, 5-minute cache TTL, uncached context, hourly cache rebuilds, Codex usage limit draining faster per token) and pin each one to the version that introduced it, using the Sipcode CLI. Use when the user asks whether…
sipcode-spend
Report how much the user spent on Codex (tokens and cost at API prices) today, this month, the projected month end, or over a period, from their local Codex logs, using the Sipcode CLI. Use when the user asks how much they spent on Codex, how many tokens Codex used today or this month, or what this month will cost.
sipcode-why
Explain why a Codex session used so many tokens (largest requests, files read more than once, context carried while idle) from the user's local Codex logs, using the Sipcode CLI. Use when the user asks why their last Codex session was so expensive, where the tokens went, or what made a session cost so much.
impact
A/B compare the user's actual token spend before and after they installed Sipcode's optimizers — on their own session data. The honesty-first savings verifier. Use when the user asks "is sipcode actually saving me tokens?", "show me the impact", "prove sipcode is working", or any variant of "is this thing worth…