Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add BuilderIO/skills --skill stay-within-limits -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/stay-within-limits/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/stay-within-limits/

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

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set6

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor