본문으로 건너뛰기
cccskills
무료GitHub에 공개

Usage-Aware Scheduler

Gate scheduled work on Claude usage limits — /mxm-tasks schedule, run-cycle, scheduled task fire time, background batch dispatch. Checks 5-hour and 7-day usage before firing and sleeps until reset when over threshold.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md7.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Usage-Aware Scheduler

Purpose

Wrap /mxm-tasks scheduled execution with Anthropic OAuth usage limit awareness. Before firing any scheduled task, check current 5-hour / 7-day / 7-day-Opus utilization. If any threshold is exceeded, sleep until resets_at rather than slamming into a quota error.

Maxim is the only multi-agent framework that prevents hitting Anthropic limits during overnight automation.

Critical for portfolio operators running 21+ projects: a single overnight RAG ingest cycle could otherwise burn through quota for an entire 5-hour window mid-batch.

When To Invoke

  • /mxm-tasks runs a scheduled batch
  • /mxm-tasks schedule X registers a new recurring task
  • Manual: user asks "are we close to limit?" → triggers a status check
  • Auto: every cycle of the scheduler loop

Configuration

config/scheduler-thresholds.json — pinned global thresholds. Defaults:

  • five_hour_pause_at: 80%
  • seven_day_pause_at: 85%
  • seven_day_opus_pause_at: 80%
  • min_sleep_seconds: 300 (never sleep <5 min)
  • api_failure_retry_seconds: 300

User can switch to a preset (pro, max_5x, max_20x) or tune individually.

Workflow (one cycle)

1. FETCH usage from https://api.anthropic.com/api/oauth/usage
   Headers:
     Authorization: Bearer <oauth-token>
     anthropic-beta: oauth-2025-04-20
     User-Agent: claude-code/2.0.32

2. EXTRACT:
   five_hour.utilization, five_hour.resets_at
   seven_day.utilization, seven_day.resets_at
   seven_day_opus.utilization

3. CHECK THRESHOLDS (from config/scheduler-thresholds.json):
   IF five_hour >= five_hour_pause_at:
     sleep_until = five_hour.resets_at
   IF seven_day >= seven_day_pause_at:
     sleep_until = seven_day.resets_at
   IF seven_day_opus >= seven_day_opus_pause_at:
     route Opus tasks to fallback_model_on_opus_pause (or defer)

4. IF any threshold exceeded:
   sleep_seconds = max(min_sleep_seconds, (sleep_until - now))
   LOG sleep event to .mxm-skills/scheduler-events.jsonl
   sleep
   GOTO 1

5. IF all clear:
   LOAD task queue from .claude-sessions-memory/scheduled-tasks.jsonl
   filter: done == false AND (schedule == null OR schedule <= now)
   IF no tasks due:
     sleep no_tasks_due_sleep_seconds
     GOTO 1

6. RUN next due task via:
   claude --print -p "<prompt>" \
     --output-format stream-json \
     --model <task.model OR default_task_model> \
     --timeout <task_timeout_seconds>

7. PERSIST result:
   on success: mark done:true, completed_at:<now>
   on failure: leave done:false (retry next cycle), increment failure_count
   LOG to .mxm-skills/scheduler-events.jsonl

8. GOTO 1

OAuth Token Sources

Per config/scheduler-thresholds.json → auth.token_source:

  • macOS: Keychain — service Claude Code-credentials, key claudeAiOauth.accessToken
  • Linux / CI: env var ANTHROPIC_OAUTH_TOKEN
  • Windows: env var ANTHROPIC_OAUTH_TOKEN (Credential Manager planned)
  • CLI override: --oauth-token <token>

On 401: refresh path or notify operator. Never proceed without valid token.

Task Queue Schema

.claude-sessions-memory/scheduled-tasks.jsonl (one JSON object per line):

{"id":"nightly-wiki-ingest","prompt":"/mxm-wiki ingest","schedule":null,"model":"claude-sonnet","done":false,"failure_count":0}
{"id":"weekly-wiki-lint","prompt":"/mxm-wiki lint","schedule":"2026-04-19T07:00:00Z","model":"claude-sonnet","done":false,"failure_count":0}
{"id":"daily-portfolio-sync","prompt":"Run sync_portfolio MCP tool and update .mxm-global/","schedule":"2026-04-17T05:27:00-05:00","model":"claude-haiku","done":false,"failure_count":0}

Fields:

  • id: unique identifier
  • prompt: instruction (slash command or natural language)
  • schedule: ISO datetime; null = run immediately when ready; future = wait
  • model: optional per-task model override
  • done: boolean — true = permanently skipped
  • failure_count: incremented on each failure
  • completed_at: ISO timestamp on success

Event Log Format

.mxm-skills/scheduler-events.jsonl (per cycle):

{"ts":"2026-04-16T07:00:00Z","event":"cycle_start"}
{"ts":"2026-04-16T07:00:01Z","event":"usage_check","five_hour":42,"seven_day":68,"seven_day_opus":55}
{"ts":"2026-04-16T07:00:01Z","event":"thresholds_clear"}
{"ts":"2026-04-16T07:00:01Z","event":"task_run","id":"nightly-wiki-ingest","model":"claude-sonnet"}
{"ts":"2026-04-16T07:02:34Z","event":"task_complete","id":"nightly-wiki-ingest","duration_s":153}
{"ts":"2026-04-16T07:02:35Z","event":"sleep","seconds":300,"reason":"no_tasks_due"}
{"ts":"2026-04-16T20:00:00Z","event":"usage_check","five_hour":85,"seven_day":72,"seven_day_opus":61}
{"ts":"2026-04-16T20:00:00Z","event":"threshold_exceeded","layer":"five_hour","value":85,"limit":80}
{"ts":"2026-04-16T20:00:00Z","event":"sleep","seconds":7200,"reason":"five_hour_threshold","until":"2026-04-16T22:00:00Z"}

Output Format

Usage-Aware Scheduler Cycle:
Cycle ID: [uuid]
Started: [ISO timestamp]

Usage Snapshot:
  5-hour:        [X]%   (threshold: 80%)
  7-day:         [Y]%   (threshold: 85%)
  7-day Opus:    [Z]%   (threshold: 80%)

Decision: PROCEED | PAUSE_5H | PAUSE_7D | PAUSE_OPUS

If PAUSE:
  Sleep until: [resets_at ISO]
  Sleep seconds: [N]
  Reason: [layer name]

If PROCEED:
  Tasks due: [N]
  Task run: [task.id] (model: [model], timeout: [N]s)
  Result: SUCCESS | FAILURE | TIMEOUT
  Duration: [N] seconds

Confidence: 🟢 HIGH (clean usage check) | 🟡 MEDIUM (API estimated, not reachable) | 🔴 LOW (API failure, defaulting to safe wait)

Why This Skill Exists

Per FINAL_RELEASE_CHANGES/claude_scheduler_instructions.md:

The 5-hour window is a rolling window starting from your first message, not a fixed clock reset — always use the API's resets_at value, never calculate from the hour. All Claude usage (claude.ai, Claude Code CLI, IDE extensions) draws from the same shared pool — the API reflects total consumption across all surfaces.

For someone running Maxim across 21 projects with overnight RAG ingestion + daily portfolio syncs + weekly wiki lints, hitting limits mid-batch corrupts state and wastes the next 5 hours. This scheduler treats limits as a first-class constraint.

Handoff

  • Scheduled task fires → execute via Claude Code CLI per workflow
  • Threshold exceeded → sleep then retry; notify operator if sleep > 4 hours
  • Repeated task failures (failure_count >= 3) → escalate to operator with diagnostics
  • Token expiry (401) → refuse to proceed; notify operator to re-auth

Maxim Behavioral Layer

  • Confidence tagging: 🟢 on clean usage check, 🟡 on cached/estimated, 🔴 on API failure with fallback
  • Anti-greed: never override thresholds programmatically; user must edit config
  • Audit trail: every cycle logged to scheduler-events.jsonl for post-hoc analysis

Source References

  • config/scheduler-thresholds.json — thresholds + auth + behavior config
  • FINAL_RELEASE_CHANGES/claude_scheduler_instructions.md — original spec
  • .claude/commands/mxm-tasks.md — entry point
  • .claude-sessions-memory/scheduled-tasks.jsonl — task queue
  • .mxm-skills/scheduler-events.jsonl — event log

Copyright (c) 2026 iSystematic Inc. Maxim product. BSL 1.1.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

AI video and image prompt engineering — video generation, image generation, product video, social media video, cinematic direction, animation, Seedance, Higgsfield, GPT-Image-2. Applies 15 Maxim-authored cinematic styles and the atomic prompt schema.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DrNabeelKhan/maxim22026년 10월 16일 업데이트

Apply a named behavioral science framework to any task — persuasion, nudge design, habit formation, conversion, influence, negotiation, cognitive bias, choice architecture, decision framing. The framework backbone every other Maxim skill loops into for psychological validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DrNabeelKhan/maxim22026년 10월 16일 업데이트

Founder and CEO automation — morning standup, overnight cycle, burn rate, runway, pipeline review, investor and fundraising prep, executive summary, daily digest. Operates on the .mxm-executive-summary context.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DrNabeelKhan/maxim22026년 10월 16일 업데이트

Tear down a company on request — "do a teardown of", "break down this company", "analyze this competitor's business". Fixed-template output: business model, how they make money, positioning, and where they are exposed.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DrNabeelKhan/maxim22026년 10월 16일 업데이트

Track what a competitor actually shipped — "watch this competitor", "track what they ship", "what changed at". Compares against the last snapshot and reports only real moves: launches, pricing changes, positioning shifts.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DrNabeelKhan/maxim22026년 10월 16일 업데이트

Regulatory review across 14 frameworks — compliance review, privacy impact assessment, regulatory gap analysis, data subject rights, consent mechanisms, audit trail, AI ethics review, data flow mapping. Covers GDPR, PIPEDA, HIPAA, PCI-DSS, SOC2, UAE-PDPL, EU AI Act and more.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DrNabeelKhan/maxim22026년 10월 16일 업데이트

DrNabeelKhan의 스킬 모두 보기

이 스킬의 문제 신고