Agent Cost Report
Agent Cost Report is a skill in thedotmack/claude-mem, last changed 5 Oct 2026. It can touch credentials, run shell commands, reach the network, name web addresses, bundle scripts and pre-approve tools — read the findings before installing. Our pattern check found 2 items to review at commit 35f2ec0 on 26 Oct 2026.
Pattern check: 2 items to review · commit 35f2ec0 · 26 Oct 2026
InstallBelievable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude Code transcripts priced at OpenRouter list prices (ESTIMATED), measured provider spend when a sanctioned source exists, note-taker cost separate, Timing-style HTML/PDF plus report.json, line-items.csv, evidence.json.
- Licence
- Apache 2.0
- Repo stars
- 103.5k
- Folder last changed
- 5 Oct 2026 (opens in a new tab)
- Publisher
- thedotmack
- Files
- 52 files
- Checked
- 35f2ec0 (opens in a new tab) · 26 Oct 2026
Install
Each tab says whether it installs commit 35f2ec0, the one we checked, or the latest version.
No tab for your agent? Use Any agent for OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity, and Claude Code for Cline. Kiro needs the folder copied by hand.
Pinned to commit 35f2ec0, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/thedotmack/claude-mem.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
git -C "$tmp" sparse-checkout set -- claude-mem-cursor/skills/agent-cost-report &&
git -C "$tmp" checkout -q 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
mkdir -p .claude/skills &&
mkdir .claude/skills/agent-cost-report &&
cp -R "$tmp"/claude-mem-cursor/skills/agent-cost-report/. .claude/skills/agent-cost-report/ &&
rm -rf "$tmp"If Claude Code was already running and this created the skills folder, run /reload-skills.
Pinned to commit 35f2ec0, the one we checked.
Skills in the Claude apps belong to your account rather than to a project.
Make agent-cost-report.zip, with the skill folder at the top level:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/thedotmack/claude-mem.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
git -C "$tmp" sparse-checkout set -- claude-mem-cursor/skills/agent-cost-report &&
git -C "$tmp" checkout -q 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
out="$(mktemp -d)" &&
cp -R "$tmp"/claude-mem-cursor/skills/agent-cost-report "$out"/agent-cost-report &&
(cd "$out" && zip -qr - agent-cost-report) > agent-cost-report.zip &&
rm -rf "$tmp" "$out"In Claude, open Customize > Skills, select +, then + Create skill > Upload a skill, and choose agent-cost-report.zip.
On Free, Pro and Max plans, turn on Code execution and file creation (Create and edit files in newer settings) under Settings > Capabilities.
Pinned to commit 35f2ec0, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/thedotmack/claude-mem.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
git -C "$tmp" sparse-checkout set -- claude-mem-cursor/skills/agent-cost-report &&
git -C "$tmp" checkout -q 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
mkdir -p .agents/skills &&
mkdir .agents/skills/agent-cost-report &&
cp -R "$tmp"/claude-mem-cursor/skills/agent-cost-report/. .agents/skills/agent-cost-report/ &&
rm -rf "$tmp"Codex picks up new skills on its own; restart it if this one does not appear.
Pinned to commit 35f2ec0, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/thedotmack/claude-mem.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
git -C "$tmp" sparse-checkout set -- claude-mem-cursor/skills/agent-cost-report &&
git -C "$tmp" checkout -q 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
mkdir -p .cursor/skills &&
mkdir .cursor/skills/agent-cost-report &&
cp -R "$tmp"/claude-mem-cursor/skills/agent-cost-report/. .cursor/skills/agent-cost-report/ &&
rm -rf "$tmp"Pinned to commit 35f2ec0, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/thedotmack/claude-mem.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
git -C "$tmp" sparse-checkout set -- claude-mem-cursor/skills/agent-cost-report &&
git -C "$tmp" checkout -q 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
mkdir -p .github/skills &&
mkdir .github/skills/agent-cost-report &&
cp -R "$tmp"/claude-mem-cursor/skills/agent-cost-report/. .github/skills/agent-cost-report/ &&
rm -rf "$tmp"In a running Copilot CLI session, run /skills reload.
Or install it with gh skill, which also installs the commit we checked. Needs GitHub CLI 2.90 or later.
gh skill install thedotmack/claude-mem claude-mem-cursor/skills/agent-cost-report/SKILL.md@35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 --agent github-copilot --scope projectPinned to commit 35f2ec0, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/thedotmack/claude-mem.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
git -C "$tmp" sparse-checkout set -- claude-mem-cursor/skills/agent-cost-report &&
git -C "$tmp" checkout -q 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
mkdir -p .gemini/skills &&
mkdir .gemini/skills/agent-cost-report &&
cp -R "$tmp"/claude-mem-cursor/skills/agent-cost-report/. .gemini/skills/agent-cost-report/ &&
rm -rf "$tmp"In a running session, run /skills reload.
Or use Gemini CLI’s own installer. Installs the latest version, not the one we checked.
gemini skills install https://github.com/thedotmack/claude-mem.git --path claude-mem-cursor/skills/agent-cost-report --scope workspacePinned to commit 35f2ec0, the one we checked.
Codex, Cursor, Copilot, VS Code, Gemini CLI, OpenCode, Goose, Amp and Zed all read .agents/skills; Claude Code and Kiro list only their own folders.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/thedotmack/claude-mem.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
git -C "$tmp" sparse-checkout set -- claude-mem-cursor/skills/agent-cost-report &&
git -C "$tmp" checkout -q 35f2ec0eb5b2b1e745564db4ce1ecec58eb331e7 &&
mkdir -p .agents/skills &&
mkdir .agents/skills/agent-cost-report &&
cp -R "$tmp"/claude-mem-cursor/skills/agent-cost-report/. .agents/skills/agent-cost-report/ &&
rm -rf "$tmp"What it can touch
From the files and frontmatter at commit 35f2ec0. This is how much a skill can do, not whether it is risky.
What it can touch: Shell, network or credentials
Runs shell commands
Its instructions or files give the agent commands to run on your computer.
Reaches the network
It sends or fetches data over the internet, for example with curl, an HTTP library or a package install.
Names web addresses
It mentions outside web addresses the agent may visit. We list them but don't follow them.
Bundles scripts
The folder holds code files the agent may run.
scripts/tests/_db.py · scripts/tests/_paths.py · scripts/tests/fixtures/make_report_fixtures.py and 15 more
Pre-approves tools
Its allowed-tools field lists tools the agent may use without asking you first, in agents that honour it.
SKILL.md:9
Touches credentials
It reads, asks for or contains keys, tokens, passwords or similar secrets.
scripts/tests/test_measure.py:60
Pattern check
Pattern check: 2 items to review · commit 35f2ec0 · 26 Oct 2026
R38 · HighName copied from another skill
SKILL.md:2 (opens in a new tab)name: Agent Cost Report
R34 · HighBroad tools pre-approved in allowed-tools
SKILL.md:9 (opens in a new tab)- Bash
We checked every text file in this skill, at commit 35f2ec0 on 26 Oct 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.
How the check worksReport an incorrect finding
Outside links we did not follow
- https://openrouter.ai/docs/api-reference/chat-completion
- https://openrouter.ai/api/v1/chat/completions
- https://openrouter.ai/api/v1/key
- https://openrouter.ai/api/v1/models
- https://cursor.com/docs/grok-bot
- https://cursor.com/pricing
- https://docs.x.ai/developers/rest-api-reference/management/billing
- https://github.com/o/r/pull/7
- https://x/0e3f6cc9
- https://registry.npmjs.org/
Show 2 more
- https://github.com/o/r/pull/4125
- https://github.com/o/r/pull/4200
Format check
Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.
Agent Skills specFails
The open format from agentskills.io, held to what the strictest agents enforce, so one folder loads everywhere.
- Error
The name "Agent Cost Report" has uppercase letters and spaces. Names may use only a–z, 0–9 and single hyphens. N3
Fix: Use name: agent-cost-report.
- Error
The name "Agent Cost Report" doesn't match its folder "agent-cost-report". The spec requires them to match. N4
Fix: Set name: agent-cost-report, or rename the folder to agent-cost-report.
- Warning
allowed-tools is a list; the spec defines a space-separated string. gh skill publish rejects a list, though Claude Code accepts one. O5
Fix: Write it on one line: allowed-tools: Bash Read Write AskUserQuestion mcp__plugin_claude-mem_mcp-search__search mcp__plugin_claude-mem_mcp-search__timeline mcp__plugin_claude-mem_mcp-search__get_observations
- Warning
The body is about 5,044 tokens (approx.); the spec suggests under 5,000. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Note
There is no license field, so readers can't tell whether they may reuse the skill. O2
Fix: Add license: with an SPDX name such as MIT or Apache-2.0, or the name of a bundled licence file.
- Error
Claude CodePasses
Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.
- Note
The name "Agent Cost Report" doesn't match its folder "agent-cost-report". Claude Code shows the skill as /Agent Cost Report, and the folder name also invokes it. N4
Fix: Set name: agent-cost-report, or rename the folder to agent-cost-report.
- Note
The body is about 5,044 tokens (approx.); the spec suggests under 5,000. After compaction Claude Code keeps only the first 5,000 tokens of a skill. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Note
Claude apps & API uploadFails
Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.
- Error
The name "Agent Cost Report" has uppercase letters and spaces. Anthropic's validator allows only lowercase letters, digits and hyphens. N3
Fix: Use name: agent-cost-report.
- Error
The name "Agent Cost Report" doesn't match its folder "agent-cost-report". claude.ai refuses an upload whose folder name doesn't match the skill name. N4
Fix: Set name: agent-cost-report, or rename the folder to agent-cost-report.
- Note
The description is 342 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4
Fix: If the claude.ai upload refuses it, trim the description to 200 characters.
- Note
allowed-tools is a list; the spec defines a space-separated string. O5
Fix: Write it on one line: allowed-tools: Bash Read Write AskUserQuestion mcp__plugin_claude-mem_mcp-search__search mcp__plugin_claude-mem_mcp-search__timeline mcp__plugin_claude-mem_mcp-search__get_observations
- Note
The body is about 5,044 tokens (approx.); the spec suggests under 5,000. Anthropic's guidance says the same. B2
Fix: Move detail into reference files that the agent reads only when needed.
- Error
OpenAI (Codex & API)Fails
Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.
- Error
The name "Agent Cost Report" has uppercase letters and spaces. OpenAI's upload follows the spec, which allows only a–z, 0–9 and hyphens. N3
Fix: Use name: agent-cost-report.
- Warning
The name "Agent Cost Report" doesn't match its folder "agent-cost-report". OpenAI's own upload example uses a differently named folder, but the spec it follows says they must match. N4
Fix: Set name: agent-cost-report, or rename the folder to agent-cost-report.
- Note
allowed-tools is a list; the spec defines a space-separated string. O5
Fix: Write it on one line: allowed-tools: Bash Read Write AskUserQuestion mcp__plugin_claude-mem_mcp-search__search mcp__plugin_claude-mem_mcp-search__timeline mcp__plugin_claude-mem_mcp-search__get_observations
- Error
VS Code & CopilotPasses with warnings
VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.
- Warning
The name "Agent Cost Report" has uppercase letters and spaces. VS Code uses the folder name whenever the name differs from it. N3
Fix: Use name: agent-cost-report.
- Warning
The name "Agent Cost Report" doesn't match its folder "agent-cost-report". VS Code uses the folder name, agent-cost-report, instead. N4
Fix: Set name: agent-cost-report, or rename the folder to agent-cost-report.
- Note
allowed-tools is a list; the spec defines a space-separated string. O5
Fix: Write it on one line: allowed-tools: Bash Read Write AskUserQuestion mcp__plugin_claude-mem_mcp-search__search mcp__plugin_claude-mem_mcp-search__timeline mcp__plugin_claude-mem_mcp-search__get_observations
- Warning
SKILL.md
Files
52 files
Show 32 more
Copies
These share its SKILL.md or its name and description but not all its files, so we list them separately.
More from thedotmack/claude-mem
Agent Cost Report
thedotmack/claude-mem
Believable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude Code transcripts priced at OpenRouter list prices (ESTIMATED), measured provider spend when a sanctioned source exists, note-taker cost separate, Timing-style HTML/PDF plus report.json, line-items.csv, evidence.json.
Pattern check: Items to reviewWhat it can touch: Touches credentials · Runs shell commands +4Apache 2.0 · 103.5k repo stars · Updated 5 Oct 2026
babysit
thedotmack/claude-mem
Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.
Pattern check: Nothing flaggedWhat it can touch: Runs shell commands · Reaches the networkApache 2.0 · 103.5k repo stars · Updated 6 May 2026
backup-setup
thedotmack/claude-mem
Set up, check, or restore local claude-mem database snapshots. Use when the user says "set up backups", "back up my memories", "backup status", or "restore my database".
Pattern check: Items to reviewWhat it can touch: Runs shell commands · Pre-approves toolsApache 2.0 · 103.5k repo stars · Updated 26 Oct 2026
build
thedotmack/claude-mem
Fully automate a coding task with make-plan, do, and babysit.
Pattern check: Nothing flaggedWhat it can touch: Instructions onlyApache 2.0 · 103.5k repo stars · Updated 16 Oct 2026
build-and-release
thedotmack/claude-mem
Fully automate building and releasing a coding task.
Pattern check: Nothing flaggedWhat it can touch: Instructions onlyApache 2.0 · 103.5k repo stars · Updated 16 Oct 2026
ccs-align
thedotmack/claude-mem
Run the CCS Align seat's hourly breathing cycle — prove the local claude-mem worker is healthy, pull needle observations through search → timeline → get_observations, land them in a seat-owned middle cache via atomic grab → append → filter exclude-marks → replace, manage exclude marks, and walk house → project → seat rules to detect conflicts (SHADOW_HOUSE, DENY_ALLOW, DRIFT, CLOCK_HEADER) with an append-only rules-report.md. Use when asked to run CCS Align, breathe the alignment seat, refresh the middle cache, exclude or restore an observation, walk rules, check rules conflicts, or check the Worker Watch board.
Pattern check: Nothing flaggedWhat it can touch: Runs shell commands · Reaches the network +1Apache 2.0 · 103.5k repo stars · Updated 30 Sept 2026