name: report-limit description: 'Max plan hit the wall? π Report your 5h window data β we''re mapping the rate limit formula Anthropic won''t publish' when_to_use: Use when user hits a rate limit and wants to contribute data. Triggers on "report limit", "limit report", "rate limit report".
Report rate-limited 5-hour windows to GitHub Discussions. Pure rule-based β no LLM reasoning needed.
Help
ONLY show help if the user's argument literally contains the word "help" (e.g. /report-limit help). If no argument or any other argument is given, SKIP this section entirely and proceed to execution.
If the user provides "help" as argument, show usage summary and stop:
/report-limit β Report your rate limit data
Got rate limited? This skill automatically finds your blocked
5-hour windows from cached timeline data and opens a pre-filled
GitHub Discussion to ww-w-ai/claude-code-token-saver.
No manual input needed. Just run it and confirm in your browser.
Options:
(nothing) Auto-detect and report all rate-limited windows
<date> Report a specific date (e.g. /report-limit 2026-04-01)
help Show this help
Examples:
/report-limit Report all rate-limited windows
/report-limit 2026-04-01 Report all 5h windows on April 1st
Do not run any analysis. Just display the help text and stop.
Execution
Before running, ask the user's plan if not already known. The prompt message MUST be in the user's language (detect from conversation context). The table content (Plan names, prices) stays in English since they are proper nouns.
Select your current Claude plan. The report will be generated based on your plan type.
(Translate the above message naturally into the user's language. Example Korean translation β "νμ¬ Claude νλμ μ νν΄μ£ΌμΈμ. μ νν νλμ κΈ°λ°μΌλ‘ 리ν¬νΈλ₯Ό μμ±ν©λλ€.")
# Plan Price 1 Pro $20/mo 2 Max 5x $100/mo 3 Max 20x $200/mo 4 Team Standard $20/seat/mo 5 Team Premium $100/seat/mo 6 Enterprise custom 7 Amazon Bedrock usage-based 8 Microsoft Foundry usage-based 9 Google Vertex AI usage-based Enter number or name (e.g. "3" or "max200"):
Map user input to --plan values: 1=pro, 2=max100, 3=max200, 4=team, 5=team_premium, 6=enterprise, 7=bedrock, 8=foundry, 9=vertex
Run the standalone script with --plan and optionally --date:
node ${CLAUDE_PLUGIN_ROOT}/scripts/report-limit.js --plan <plan> [--date <YYYY-MM-DD>]
If the user provided a date argument (e.g. /report-limit 2026-04-01), pass it as --date 2026-04-01. This reports ALL 5h windows for that date, not just rate-limited ones.
If the user doesn't know or skips plan, run without --plan (reports as "unknown").
Unknown model handling (run inline, do NOT stop the skill)
μ€ν¬λ¦½νΈλ scripts/model-pricing.jsonμ λ±λ‘λμ§ μμ λͺ¨λΈμ λ§λλ©΄ exit code 2λ‘ μ€ν¨νλ©΄μ stderrμ ERROR:UNKNOWN_MODEL λΈλ‘μ μΆλ ₯ν©λλ€. μ΄ κ²½μ° μλ μ μ°¨λ₯Ό μΈλΌμΈμΌλ‘ μ²λ¦¬ν λ€ μ΄μ΄μ μ§ννμΈμ:
- stderrμ
models:μ€μ νμ±ν΄ λ―Έλ±λ‘ λͺ¨λΈ μ΄λ¦ λͺ©λ‘μ μΆμΆν©λλ€. - WebFetchλ‘
https://platform.claude.com/docs/en/about-claude/pricing#model-pricingμ κ°μ Έμ κ° λͺ¨λΈμinput/output/cacheCreate5m/cacheCreate1h/cacheRead/contextWindowλ₯Ό νμΈν©λλ€. - 6κ° νλκ° λͺ¨λ νμΈλλ©΄:
scripts/model-pricing.jsonμ Readν λ€, κΈ°μ‘΄ μνΈλ¦¬μ λμΌν νμ{ "input": N, "cacheCreate5m": N, "cacheCreate1h": N, "cacheRead": N, "output": N, "contextWindow": N }μΌλ‘ λͺ¨λΈλ§λ€ ν μ€μ© EditμΌλ‘ μΆκ°ν©λλ€. μΆμΈ‘/μ λκ°μ μ°μ§ λ§μΈμ. - μ΄λ νλλΌλ νμ΄μ§μμ νμΈλμ§ μμΌλ©΄: JSONμ μμλ‘ μ±μ°μ§ λ§κ³ μ€ν¬μ μ€λ¨ν λ€ μ¬μ©μμκ² μλ λ©μμ§λ₯Ό μΆλ ₯νμΈμ.
β οΈ λ―Έλ±λ‘ λͺ¨λΈ {λͺ¨λΈλͺ }μ μ 체 κ°κ²© μ 보(νΉν 5m/1h μΊμ ν°μ΄)λ₯Ό 곡μ νμ΄μ§μμ νμΈν μ μμ΅λλ€. νλ¬κ·ΈμΈμ μ΅μ λ²μ μΌλ‘ μ λ°μ΄νΈν΄ μ£ΌμΈμ: /plugin update claude-code-token-saver μ λ°μ΄νΈ νμλ λ¬Έμ κ° μ§μλλ©΄ https://github.com/ww-w-ai/claude-code-token-saver/issues μ μ 보 λΆνλ립λλ€. - (3λ² μ±κ³΅ μ) λμΌν Bash λͺ
λ Ήμ κ·Έλλ‘ μ¬μ€νν©λλ€. fail-fast λλΆμ stale cacheκ° μμΌλ―λ‘
--forceλ λΆνμν©λλ€. - μ¬μ€νμ΄ μ±κ³΅νλ©΄ κ·Έλλ‘ μλ μμ½ μΆλ ₯ λ¨κ³λ‘ μ§νν©λλ€.
The script outputs JSON to stdout. Parse the result and show the user a brief summary:
π Found {N} rate-limited window(s).
| Window | Cost | Requests |
|--------|------|----------|
| {date} {start}-{end} | ${cost} | {n} |
{If gistUrl: "π Data uploaded: {gistUrl}"}
{If no gistUrl: "β οΈ GitHub CLI not authenticated. Run `gh auth login` first, or manually attach the zip file."}
{If zipFile: "π Zip ready: {zipFile}"}
Discussion opened in browser. Review and submit.
Error Handling
- If the script exits with code 1: "No cached data found. Run
/usage-viewfirst." - If the script exits with code 2: stderr contains
ERROR:UNKNOWN_MODEL. Handle it inline via the "Unknown model handling" procedure above β do NOT treat as a fatal failure. - If the script exits with code 0 but
windowsis empty: "No rate-limited windows found."
Prerequisites
- GitHub Discussion category "Rate Limits" must exist on ww-w-ai/claude-code-token-saver
ghCLI authenticated for gist upload (optional β falls back to local files)