stay-within-limits — Claude Code skill: limits and install
This skill keeps long-running or parallel agent work inside 5-hour and weekly limits. It pauses new work near the cap and checks the window before resuming.
npx skills add BuilderIO/skills --skill stay-within-limits -a claude-codeWhat stay-within-limits does
The skill defines a loop for long-running agent work: run a bounded wave, wait for it to finish, check current usage, then continue. A wave defaults to at most 3 parallel subagents. In-flight subagents are left running instead of being interrupted to save budget.
When either the 5-hour or weekly limit reaches 95%, the skill stops launching new work and schedules a resume. On wake, it checks the actual window again rather than trusting elapsed time. In Claude Code, the suggested check is npx -y ccusage@latest blocks --active --json; pausing also depends on an available wake/resume tool or another waiting mechanism. The 95% threshold is a reason to verify which window stopped the work and when the next check should run.
What it helps with
- track usage between waves of subagents
- stop new work when a limit reaches 95%
- resume tasks after the usage window clears
- inspect the active block with
ccusage - pass the remaining plan and stop conditions to a later session
Example prompts for the agent
- Check the 5-hour and weekly usage before starting the next wave of subagents.
- Run a wave of up to 3 parallel subagents, wait for completion, then check usage before continuing.
- If either window reaches 95%, pause new work and resume only after checking the active window again.
How to install stay-within-limits
1Skills CLI (Vercel)
npx skills add BuilderIO/skills --skill stay-within-limits -a claude-code2Manually: put the files in place
~/.claude/skills/stay-within-limits/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/stay-within-limits/
1Skills CLI (Vercel)
npx skills add BuilderIO/skills --skill stay-within-limits -a codex2Manually: put the files in place
.agents/skills/stay-within-limits/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add BuilderIO/skills --skill stay-within-limits -a cursor2Manually: put the files in place
.cursor/skills/stay-within-limits/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install BuilderIO/skills stay-within-limits2Manually: put the files in place
.github/skills/stay-within-limits/SKILL.md1Skills CLI (Vercel)
npx skills add BuilderIO/skills --skill stay-within-limits -a gemini-cli2Platform CLI
gemini skills install https://github.com/BuilderIO/skills --path skills/stay-within-limitsManually: put the files in place
.devin/skills/stay-within-limits/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add BuilderIO/skills --skill stay-within-limits -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about stay-within-limits
How do I install stay-within-limits in Claude Code?
Run npx skills add BuilderIO/skills --skill stay-within-limits -a claude-code, then run npx skills add BuilderIO/skills --skill stay-within-limits -a claude-code again. The skill file is at ~/.claude/skills/stay-within-limits/SKILL.md.
What does stay-within-limits do?
The skill checks 5-hour and weekly usage between work waves. At 95%, it stops new launches, schedules a resume, and checks the window again before continuing.
How does stay-within-limits check usage in Claude Code?
In Claude Code, it uses npx -y ccusage@latest blocks --active --json. The command provides the active block, current cost or percentage, and remaining time.
Source text
SKILL.md · MIT
--- name: stay-within-limits description: Use when long-running or parallel agent work must respect 5-hour and weekly usage limits by checking usage between waves, pausing near the cap, and resuming only when the window is clear. --- # Stay Within Limits Keep long-running agent work inside the current 5-hour and weekly usage windows. Check usage before launching substantial work and between waves of parallel subagents. If an active 5-hour or weekly limit is at or above 95%, pause new work until the window is clear enough to continue safely. ## Core Loop 1. Run a bounded wave of work. Default to at most 3 parallel subagents unless the user or host gives a different throttle. 2. Wait for the wave to finish. Do not interrupt in-flight subagents just to save budget; that usually loses work. 3. Check current 5-hour and weekly usage with the host's usage/budget tool. 4. If either window is at or above 95%, stop launching work and schedule a self-contained resume when the relevant window should clear. 5. On resume, re-check the real window or block before continuing. Do not trust elapsed wall-clock time alone. ## Usage Signals Prefer a first-party host usage tool when available. In Claude Code, use: ```sh npx -y ccusage@latest blocks --active --json ``` Use the JSON to identify the active block start, current cost or percentage, and time remaining. On wake, compare the active block start timestamp with the previous one; a new timestamp is stronger evidence than "enough time passed." If the tool reports cost instead of a direct percentage, convert through the current account limit when known. For Claude Max-style 5-hour blocks, some users prefer an earlier caution threshold around $500-550; treat that as a user-configured guardrail, not a universal rule. The default stop rule is still 95% of the active 5-hour or weekly limit. ## Pausing And Resuming When a wake/resume tool is available, schedule a wakeup for: ```txt min(3600, secondsUntilWindowClears) ``` If the runtime clamps wake delays to 60-3600 seconds, chain wakeups for longer waits. Each wakeup should re-check usage, reschedule if still over budget, and continue only when the window is safely below the threshold. Make wake prompts self-contained. Include: - The remaining plan. - The check-then-reschedule rule. - The 95% threshold and wave throttle. - The exact usage command or host usage tool to run. - The previous block/window identifier when available. - The next verification steps. - The next wave's handoff packets, including scope, verification commands, and stop conditions, if delegation will resume. ## Choosing The Wait Mechanism - Use a wake/resume tool when the agent needs instructions attached to the future resume. - Use a background sleep or watcher for fixed timers and things a process can observe directly. - Use cron or recurring schedules only for recurring fresh-session work. Avoid short-interval polling for things the host will notify you about, such as background task or subagent completion. For budget pauses, a prompt-cache miss after a long sleep is acceptable; preserving the limit matters more. ## Reporting If you pause, tell the user which window is over threshold, the observed usage, when you scheduled or expect the next check, and what work remains. Keep enough state in the wake prompt that the next turn can resume without relying on conversation momentum.
© BuilderIO · MIT · BuilderIO/skills