Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Tracks quotas, monitors thresholds, and degrades gracefully for rate-limited APIs. Use when integrating external services that impose rate or cost limits.
.claude/skills/athola-quota-management/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -51% | 0% |
Tracks cumulative token budgets and enforces limits. For per-call logging, use usage-logging.
Patterns for tracking and enforcing resource quotas across rate-limited services. This skill provides the infrastructure that other plugins use for consistent quota handling.
Three-tier threshold system for proactive management:
| Level | Usage | Action | |-------|-------|--------| | Healthy | <80% | Proceed normally | | Warning | 80-95% | Alert, consider batching | | Critical | >95% | Defer non-urgent, use secondary services |
python@dataclass class QuotaConfig: requests_per_minute: int = 60 requests_per_day: int = 1000 tokens_per_minute: int = 100000 tokens_per_day: int = 1000000
pythonfrom leyline.quota_tracker import QuotaTracker tracker = QuotaTracker(service="my-service") status, warnings = tracker.get_quota_status() if status == "CRITICAL": # Defer or use secondary service pass
pythontracker.record_request(tokens=estimated_tokens, success=True, duration=elapsed_seconds)
pythoncan_proceed, issues = tracker.can_handle_task(estimated_tokens) if not can_proceed: print(f"Quota issues: {issues}")
Other plugins reference this skill:
yaml# In your skill's frontmatter dependencies: [leyline:quota-management]
Then use the shared patterns:
modules/threshold-strategies.md for degradation patternsmodules/estimation-patterns.md for token/cost estimation| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 17,730 | 10,869 | -39% | 1 | 1 | 0% | 3,313 | 2,909 | -12% | 0 | 0 | — |
case-02 | fail→pass | 14,028 | 5,406 | -61% | 1 | 1 | 0% | 2,674 | 1,766 | -34% | 0 | 0 | — |
case-03 | fail→pass | 13,448 | 7,808 | -42% | 1 | 1 | 0% | 2,431 | 2,289 | -6% | 0 | 0 | — |
case-04 | pass→pass | 8,661 | 1,940 | -78% | 1 | 1 | 0% | 1,380 | 1,103 | -20% | 0 | 0 | — |
case-05 | pass→pass | 10,503 | 3,008 | -71% | 1 | 1 | 0% | 1,583 | 1,262 | -20% | 0 | 0 | — |
case-06 | fail→pass | 8,671 | 2,206 | -75% | 1 | 1 | 0% | 1,378 | 1,054 | -24% | 0 | 0 | — |
case-07 | pass→pass | 7,811 | 1,214 | -84% | 1 | 1 | 0% | 1,289 | 916 | -29% | 0 | 0 | — |
case-08 | fail→pass | 13,537 | 2,329 | -83% | 1 | 1 | 0% | 2,277 | 1,108 | -51% | 0 | 0 | — |
case-09 | fail→pass | 12,040 | 2,633 | -78% | 1 | 1 | 0% | 2,256 | 1,121 | -50% | 0 | 0 | — |
case-10 | pass→pass | 9,072 | 2,264 | -75% | 1 | 1 | 0% | 1,633 | 1,137 | -30% | 0 | 0 | — |
case-11 | fail→pass | 11,541 | 2,598 | -77% | 1 | 1 | 0% | 2,011 | 1,168 | -42% | 0 | 0 | — |
case-12 | fail→pass | 8,997 | 3,104 | -65% | 1 | 1 | 0% | 1,483 | 1,228 | -17% | 0 | 0 | — |
case-13 | fail→pass | 11,282 | 1,587 | -86% | 1 | 1 | 0% | 1,748 | 972 | -44% | 0 | 0 | — |
case-14 | fail→pass | 9,930 | 1,696 | -83% | 1 | 1 | 0% | 1,497 | 962 | -36% | 0 | 0 | — |
case-15 | fail→pass | 14,669 | 2,363 | -84% | 1 | 1 | 0% | 2,374 | 1,059 | -55% | 0 | 0 | — |
case-16 | pass→pass | 9,026 | 4,057 | -55% | 1 | 1 | 0% | 1,458 | 1,500 | +3% | 0 | 0 | — |
case-17 | fail→pass | 6,619 | 3,011 | -55% | 1 | 1 | 0% | 982 | 1,199 | +22% | 0 | 0 | — |
case-18 | fail→pass | 12,578 | 1,643 | -87% | 1 | 1 | 0% | 1,115 | 967 | -13% | 0 | 0 | — |
case-19 | fail→pass | 8,215 | 2,045 | -75% | 1 | 1 | 0% | 1,428 | 1,024 | -28% | 0 | 0 | — |
case-20 | fail→pass | 17,569 | 7,586 | -57% | 1 | 1 | 0% | 3,262 | 2,260 | -31% | 0 | 0 | — |
case-21 | pass→pass | 13,910 | 8,095 | -42% | 1 | 1 | 0% | 2,067 | 2,120 | +3% | 0 | 0 | — |
case-22 | pass→pass | 7,706 | 4,613 | -40% | 1 | 1 | 0% | 1,400 | 1,535 | +10% | 0 | 0 | — |
case-23 | pass→pass | 13,124 | 5,644 | -57% | 1 | 1 | 0% | 2,144 | 1,607 | -25% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +65 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.