关于 stay-within-limits
stay-within-limits 是用于控制 Agent 长时间工作的技能,帮助任务保持在 5 小时和每周用量窗口内。它规定暂停阈值、并行工作节奏及安全恢复流程。
主要功能
- 01检查 5 小时与每周用量
- 02达到 95% 阈值时暂停
- 03限制并行工作波次
- 04恢复前重新检查用量
- 05提供完整的恢复指引
适用场景
- 01管理持续时间较长的 Agent 任务
- 02接近用量上限时暂停工作
- 03用量窗口清空后恢复工作
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ builderio/ skills --skill stay-within-limits安装后在 Claude Code 中输入/stay-within-limits确认已加载。
附带文件README.md
详细介绍
保持在限额内
让长时间运行的 Agent 工作保持在当前 5 小时和每周用量窗口内。 启动大量工作前以及并行子 Agent 的每一轮工作之间,都要检查用量。如果当前 5 小时或每周限额达到或超过 95%,请暂停新工作,直到窗口清空到足以安全继续。
核心循环
- 执行一轮有界工作。默认最多并行运行 3 个子 Agent,除非用户或宿主设置了不同的并发上限。
- 等待这一轮完成。不要仅仅为了节省预算而中断正在运行的子 Agent;那通常会导致工作白费。
- 使用宿主的用量/预算工具检查当前 5 小时和每周用量。
- 如果任一窗口达到或超过 95%,请停止启动新工作,并安排在相关窗口预计清空后继续一项独立完整的任务。
- 恢复时,继续前重新检查实际窗口或限额状态。不要仅凭经过的实际时间作判断。
用量信号
如有可用的第一方宿主用量工具,请优先使用。在 Claude Code 中,使用:
npx -y ccusage@latest blocks --active --json
使用 JSON 确定当前区块的开始时间、当前费用或百分比,以及剩余时间。唤醒时,将当前区块的开始时间戳与上一个进行比较;出现新时间戳比“已经过了足够长时间”更能说明问题。
如果工具报告的是费用而非直接百分比,请在已知当前账户限额时换算。对于 Claude Max 风格的 5 小时区块,有些用户倾向于在 $500-550 左右提前谨慎处理;这应视为用户配置的防护线,而非通用规则。默认停止规则仍是达到当前 5 小时或每周限额的 95%。
暂停与恢复
如果有唤醒/恢复工具,请安排在以下时间唤醒:
min(3600, secondsUntilWindowClears)
如果运行时将唤醒延迟限制在 60-3600 秒,请通过连续安排多次唤醒来覆盖更长的等待时间。每次唤醒都应重新检查用量;如果仍超出预算,则重新安排;只有当窗口安全低于阈值时才继续。
唤醒提示词应自成一体。请包含:
- 剩余计划。
- 先检查、再重新安排的规则。
- 95% 阈值和每轮并发上限。
- 要运行的确切用量命令或宿主用量工具。
- 可用时,记录上一个区块/窗口标识符。
- 接下来的验证步骤。
- 如需恢复委派工作,则包含下一轮的交接信息,包括范围、验证命令和停止条件。
选择等待机制
- 当 Agent 需要将指令附加到未来的恢复任务时,使用唤醒/恢复工具。
- 对于固定计时器以及进程可直接监测的事项,使用后台休眠或监视程序。
- 仅对需要启动新会话的定期工作使用 cron 或周期性计划。
避免对宿主会主动通知的事项进行短间隔轮询,例如后台任务或子 Agent 完成。预算暂停期间,长时间休眠后未命中提示词缓存可以接受;保护限额更重要。
汇报
如果暂停,请告知用户哪个窗口已超过阈值、观察到的用量、安排或预计的下次检查时间,以及剩余工作。唤醒提示词中应保留足够的状态信息,以便下一轮无需依赖对话上下文即可继续。