time-tracking-1-handle-rate-limits

Sub-skill of time-tracking: 1. Handle Rate Limits (+2).

5 stars

Best use case

time-tracking-1-handle-rate-limits is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Sub-skill of time-tracking: 1. Handle Rate Limits (+2).

Teams using time-tracking-1-handle-rate-limits should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/1-handle-rate-limits/SKILL.md --create-dirs "https://raw.githubusercontent.com/vamseeachanta/workspace-hub/main/.agents/skills/_archive/business/productivity/time-tracking/1-handle-rate-limits/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/1-handle-rate-limits/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How time-tracking-1-handle-rate-limits Compares

Feature / Agenttime-tracking-1-handle-rate-limitsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Sub-skill of time-tracking: 1. Handle Rate Limits (+2).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 1. Handle Rate Limits (+2)

## 1. Handle Rate Limits


```python
import time
from functools import wraps

def rate_limited(max_per_second=1):
    """Rate limiting decorator."""
    min_interval = 1.0 / max_per_second
    last_call = [0.0]

    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            elapsed = time.time() - last_call[0]
            if elapsed < min_interval:
                time.sleep(min_interval - elapsed)
            result = func(*args, **kwargs)
            last_call[0] = time.time()
            return result
        return wrapper
    return decorator
```


## 2. Cache API Responses


```python
from functools import lru_cache
from datetime import datetime

@lru_cache(maxsize=100)
def get_projects_cached(workspace_id, cache_key=None):
    """Get projects with caching."""
    return toggl.get_projects(workspace_id)

# Invalidate cache daily
cache_key = datetime.now().strftime("%Y-%m-%d")
projects = get_projects_cached(workspace_id, cache_key)
```


## 3. Validate Time Entries


```python
def validate_time_entry(entry):
    """Validate time entry before creating."""
    if not entry.get("description"):
        raise ValueError("Description is required")

    duration = entry.get("duration", 0)
    if duration > 12 * 3600:  # More than 12 hours
        raise ValueError("Duration exceeds 12 hours")

    if duration < 60:  # Less than 1 minute
        raise ValueError("Duration too short")

    return True
```

Related Skills

tax-filing-session-setup-with-github-tracking

5
from vamseeachanta/workspace-hub

Structured workflow for preparing and tracking a tax filing session using prepared documents, task checklist, and GitHub issue cross-referencing

handle-session-overlay-blocking

5
from vamseeachanta/workspace-hub

Technique for dismissing overlay dialogs that freeze rendering and block form interaction in web automation

handle-popup-blocked-pdf-downloads

5
from vamseeachanta/workspace-hub

Recover from automation-blocking PDF popups by capturing page data and escalating to manual download

handle-pdf-download-popups-in-automation

5
from vamseeachanta/workspace-hub

Recover when PDF download buttons open inaccessible popups; fall back to capturing structured data instead

handle-freetaxusa-session-timeouts

5
from vamseeachanta/workspace-hub

Recover from FreeTaxUSA session timeout dialogs blocking form submission and navigation

handle-browser-automation-financial-site-blocks

5
from vamseeachanta/workspace-hub

Workflow for working around Chrome extension blocks on financial sites during data collection tasks

handle-blocked-financial-sites-workaround

5
from vamseeachanta/workspace-hub

Workflow for accessing financial account data when browser automation is blocked on brokerage sites

handle-blocked-financial-sites-data-export

5
from vamseeachanta/workspace-hub

Workflow for extracting data from blocked financial sites when browser automation is restricted

github-issue-structure-for-personal-finance-tracking

5
from vamseeachanta/workspace-hub

Pattern for organizing financial analysis work across multiple repos (data/config vs. logic separation)

corporate-tax-filing-reconciliation

5
from vamseeachanta/workspace-hub

Reconcile multi-document tax packets and build line-by-line IRS filing guides for first-year C-Corps with real-estate holdings

corporate-tax-filing-reconciliation-and-decision

5
from vamseeachanta/workspace-hub

Reconcile multi-document corporate tax packets, verify line-item accuracy against source data, and structure decision trees for filing timing and extension strategies.

cash-basis-corporate-tax-reconciliation

5
from vamseeachanta/workspace-hub

Reconcile conflicting revenue sources and prepare Form 1120 for cash-method C-Corps using bank deposits as authoritative source