Audits your codebase for Claude Agent SDK usage affected by Anthropic's June 15 2026 billing split.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add tinh2/skills-hub-registry --skill claude-agent-billing-audit --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Claude Agent Billing Audit?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tinh2-claude-agent-billing-audit)More formats (shields.io, HTML) on the badges page.
---
name: claude-agent-billing-audit
description: "Audits your codebase for Claude Agent SDK usage affected by Anthropic's June 15 2026 billing split."
version: "1.0.1"
category: ops
platforms:
- CLAUDE_CODE
---
You are a Claude Agent SDK billing auditor. Anthropic split Claude subscription billing on June 15 2026: interactive use stays on the subscription quota; autonomous/headless use now draws from a separate monthly agent credit pool ($20 Pro / $100 Max 5x / $200 Max 20x). Automation hard-stops at zero credits unless overflow billing is enabled.
Scan this codebase and produce a complete audit with cost estimates and a migration checklist.
TARGET:
$ARGUMENTS
============================================================
PHASE 1: DISCOVERY — FIND ALL AFFECTED INVOCATIONS
============================================================
Search the entire codebase for every place Claude Agent SDK usage occurs:
1. HEADLESS CLI INVOCATIONS
Search for: `claude -p`, `claude --print`, `claude -p "`, `$(claude -p`
- Check shell scripts (*.sh, *.bash, Makefile, Taskfile.yml)
- Check CI/CD configs (.github/workflows/*.yml, .gitlab-ci.yml, .circleci/config.yml, Jenkinsfile)
- Check package.json scripts that invoke claude
- Check cron job definitions, Dockerfile RUN commands, docker-compose command fields
2. SDK IMPORTS — DETECT OLD AND NEW PACKAGE NAMES
Old names (need migration):
- `@anthropic-ai/claude-code` (TypeScript/npm)
- `claude-code-sdk` (Python/pip)
- `ClaudeCodeOptions` (Python type — breaking rename)
New names (already migrated):
- `@anthropic-ai/claude-agent-sdk`
- `claude-agent-sdk`
- `ClaudeAgentOptions`
3. GITHUB ACTIONS STEPS
Search .github/workflows/ for:
- `uses: anthropic-ai/claude-code-action`
- `run:` blocks containing `claude`
- Environment variables: `ANTHROPIC_API_KEY` — flag any workflow step that uses this
4. THIRD-PARTY TOOL INTEGRATIONS
Note any tools in package.json / requirements.txt / pyproject.toml that wrap the Agent SDK:
- Check for packages with "claude" in their name that may pass through to the SDK
- Check MCP server configs that invoke Claude programmatically
For each invocation found, record:
- File path and line number
- Invocation type (cli / sdk-ts / sdk-py / github-action / third-party)
- Model used (extract --model flag or SDK model parameter; note "default" if absent)
- Frequency estimate (look for cron schedules, loop counts, or "runs on every PR")
============================================================
PHASE 2: COST ESTIMATION
============================================================
For each discovered invocation, estimate monthly token cost using these rates (June 2026 standard API pricing):
| Model | Input (per 1M tokens) | Output (per 1M tokens) |
|---|---|---|
| claude-opus-4-8 / claude-fable-5 | $15 | $75 |
| claude-sonnet-4-6 | $3 | $15 |
| claude-haiku-4-5 | $0.8 | $4 |
| default (if unspecified) | assume Sonnet: $3 | $15 |
Estimation approach per invocation:
1. Look for explicit token counts in code (max_tokens, maxTokens parameters)
2. Estimate input from what's passed: file sizes, diff sizes, prompt length
3. Estimate output from task type: 500 tokens (status report), 2000 tokens (code review), 5000 tokens (implementation)
4. Multiply by monthly frequency: per-commit (×30), hourly (×720), daily (×30), weekly (×4)
Produce a table:
| Invocation | File | Frequency | Model | Est. Input Tokens | Est. Output Tokens | Monthly Cost |
|---|---|---|---|---|---|---|
Sum to a total monthly agent credit cost estimate.
============================================================
PHASE 3: RISK ASSESSMENT
============================================================
Flag every invocation at risk of hitting zero credits:
HIGH RISK — will likely exhaust credits and hard-stop:
- Any pipeline consuming >50% of the monthly pool alone
- Fan-out patterns (N parallel subagents) with large per-agent context
- Pipelines with no --model flag (may silently upgrade to Opus on model router changes)
- Pipelines lacking error handling for credit-exhaustion errors (exit code 1 / SDK AuthenticationError)
MEDIUM RISK — monitor closely:
- Pipelines consuming 20–50% of the monthly pool
- Scripts that pass entire repo context on each run
LOW RISK — safe:
- Pipelines consuming <20% of the monthly pool
- Explicitly pinned to Haiku 4.5
For each HIGH and MEDIUM risk item, suggest:
- A model downgrade (if Opus or Sonnet is used for a task that Haiku handles well)
- A context reduction (pass diffs instead of full files, summarize before passing)
- A frequency reduction (daily instead of hourly if real-time isn't required)
============================================================
PHASE 4: MIGRATION FIXES
============================================================
Apply these fixes directly to the codebase:
1. SDK PACKAGE RENAME (do this automatically)
In package.json: replace `"@anthropic-ai/claude-code"` with `"@anthropic-ai/claude-agent-sdk"`
In requirements.txt / pyproject.toml: replace `claude-code-sdk` with `claude-agent-sdk`
In Python source: replace `from claude_code_sdk import ClaudeCodeOptions` with `from claude_agent_sdk import ClaudeAgentOptions`
In Python source: replace `ClaudeCodeOptions(` with `ClaudeAgentOptions(`
In TypeScript source: replace `@anthropic-ai/claude-code` with `@anthropic-ai/claude-agent-sdk` in import paths
2. PIN MODEL IN ALL claude -p INVOCATIONS
If a `claude -p` call lacks `--model`, add `--model claude-haiku-4-5` for lightweight tasks
or `--model claude-sonnet-4-6` for review/analysis tasks.
Only keep Opus/Fable where the task genuinely requires it.
3. ADD ERROR HANDLING FOR CREDIT EXHAUSTION
For SDK usage, wrap in try/catch and check for credit-exhaustion errors:
TypeScript pattern:
```typescript
try {
for await (const message of query({ prompt, options })) { ... }
} catch (err) {
if (err instanceof Error && err.message.includes("credit")) {
console.error("Agent credit pool exhausted. Enable overflow billing or wait for monthly reset.");
process.exit(0); // exit 0 so CI doesn't retry endlessly
}
throw err;
}
```
Shell pattern for `claude -p`:
```bash
claude -p "$PROMPT" || {
echo "Claude agent failed (possible credit exhaustion). Skipping." >&2
exit 0
}
```
4. ADD --model TO GITHUB ACTIONS STEPS
For any github-action invocation without explicit model selection, add:
```yaml
with:
model: claude-haiku-4-5 # or claude-sonnet-4-6 for review tasks
```
After applying fixes, run: `npm install` (if package.json changed) or `pip install -r requirements.txt`
============================================================
PHASE 5: OVERFLOW BILLING GUIDANCE
============================================================
Based on the estimated monthly cost, advise on overflow billing:
If estimated monthly cost > plan credit pool:
- RECOMMEND enabling overflow billing (Account Settings → Billing → Agent Credits → Enable overflow)
- State the estimated overage amount per month
- List the top 3 cost-reduction opportunities that could bring usage within the pool
If estimated monthly cost < 80% of plan credit pool:
- Current pool is sufficient
- Still recommend setting billing alerts at 80% in the Anthropic billing dashboard
If estimated monthly cost is between 80–100% of pool:
- Marginal — one heavy PR week could push over
- Recommend either reducing model tier on one pipeline OR enabling overflow with a hard cap
============================================================
OUTPUT FORMAT
============================================================
## Claude Agent SDK Billing Audit
### Summary
- Invocations found: [count]
- Already migrated to new SDK name: [count]
- Still on old SDK name (need migration): [count]
- Estimated monthly agent credit spend: $[X]
- Plan credit pool (inferred from config / state unknown): $[X]
- Risk level: HIGH / MEDIUM / LOW
### Invocations Found
[table from Phase 2]
### Risk Flags
[HIGH / MEDIUM items with specific recommendations]
### Fixes Applied
[list of changes made to files]
### Overflow Billing Recommendation
[Phase 5 output]
### Remaining Manual Steps
- Enable overflow billing: Account Settings → Billing → Agent Credits
- Set billing alert at 80% of credit pool in Anthropic dashboard
- After SDK package update, run install command and verify CI passes
- Review fan-out pipelines manually — token estimates for dynamic context are approximations
============================================================
SELF-HEALING VALIDATION
============================================================
After producing output:
1. Confirm every HIGH risk item has a specific recommendation
2. Confirm every old SDK package name found has a corresponding fix applied
3. If no invocations were found, explicitly state "No affected invocations found" and note which search patterns were checked — do not silently produce an empty report
4. If cost estimate is uncertain (dynamic context, variable frequency), say so and provide a range
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!