Borrowing it
Nothing to install: this file belongs to mrieck/garrys-count. 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/mrieck/garrys-count/main/CLAUDE.mdgit clone --depth 1 https://github.com/mrieck/garrys-countWrote 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/instructions/mrieck/garrys-count/claude-md)<a href="https://agentmods.dev/instructions/mrieck/garrys-count/claude-md"><img src="https://agentmods.dev/badge/instructions/mrieck/garrys-count/claude-md/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/instructions/mrieck/garrys-count/claude-md"><img src="https://agentmods.dev/badge/instructions/mrieck/garrys-count/claude-md.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.00458 | $0.00458 |
| Opus 5.5 | $0.00183 | $0.00183 |
| Sonnet 5.5 | $0.00092 | $0.00092 |
| Haiku 4.5 | $0.00046 | $0.00046 |
Grade B, and why
garrys-count CLAUDE.md 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 2mo 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.
- `install.sh` copies scripts to `~/.claude/garryscount/`, adds hooks and statusLine to `~/.claude/settings.json`, installs `/garryscount` skill to `~/.claude/skills/garryscount/` What it actually says
Garry's Count
A parody project that tracks how many lines of code Claude Code writes per day, displayed in the Claude Code status bar.
How it works
- PostToolUse hook (
scripts/count-hook.sh) fires after every Write/Edit/MultiEdit tool call, counts lines in the new content, and appends to a daily tally file at~/.claude/garryscount/YYYY-MM-DD.json - Status line (
scripts/statusline.sh) reads the tally file and displaysGarry's Count: X locin the status bar - Report skill (
skills/garryscount/SKILL.md) — type/garryscountto get a breakdown report by file type with 7-day history
Architecture
- Hook receives JSON on stdin with
tool_nameandtool_input(file_path, content/new_string/old_string) - Daily tally files stored as JSON:
{"date":"...","total_lines":N,"count_mode":"...","last_updated":"...","by_extension":{".py":N,...}} - Report script (
scripts/report.sh) aggregates daily tally files into a JSON report for the skill - Config at
~/.claude/garryscount/config.jsonwithreset_hour(default 5),count_mode("default" or "yc-mode"), andshow_directory(true/false, default false — shows current directory in orange on the status line) - Day boundary is at
reset_hour(5am default), not midnight - Atomic file writes via temp + mv for concurrent session safety
Two counting modes
"default": net new lines only. For Edit, countsnew_stringlines minusold_stringlines."yc-mode": every line Claude writes counts, even rewrites. Inflated numbers are the point.
Installation
install.shcopies scripts to~/.claude/garryscount/, adds hooks and statusLine to~/.claude/settings.json, installs/garryscountskill to~/.claude/skills/garryscount/
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.
- 2mo ago First seen · 28 lines · 458 tokens per session scan B 6809a168c896
garrys-count CLAUDE.md is an instructions file published in the GitHub repository mrieck/garrys-count (4 stars, last pushed 7mo ago), licensed MIT. It adds 458 tokens to every session, about $0.0018 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-31.
garrys-count CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| garrys-count CLAUDE.mdmrieck/garrys-count | Instructions file | 4 | 7mo ago | MIT | B | 458 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |