Back to Skills
    🦞

    rescuetime

    Fetch productivity data from RescueTime.

    By @rusynandriy
    View on GitHub
    SKILL.md
    ---
    name: rescuetime
    description: Fetch productivity data from RescueTime. Use when the user asks about their screen time, productivity score, app usage, time tracking, how they spent their day/week, or wants reports on their computer activity. Requires API key in TOOLS.md or passed directly.
    ---
    
    # RescueTime
    
    Fetch productivity analytics from the RescueTime API.
    
    ## Setup
    
    Store API key in TOOLS.md:
    
    ```markdown
    ### RescueTime
    - API Key: YOUR_KEY_HERE
    ```
    
    Get a key at: https://www.rescuetime.com/anapi/manage
    
    ## API Endpoints
    
    ### Analytic Data (main endpoint)
    
    ```bash
    curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=activity"
    ```
    
    Parameters:
    - `perspective`: rank, interval, member
    - `restrict_kind`: category, activity, productivity, efficiency, document
    - `interval`: month, week, day, hour (only for interval perspective)
    - `restrict_begin` / `restrict_end`: YYYY-MM-DD
    - `restrict_thing`: filter to specific app/site/category
    
    ### Daily Summary Feed
    
    ```bash
    curl "https://www.rescuetime.com/anapi/daily_summary_feed?key=API_KEY"
    ```
    
    Returns last 14 days with productivity_pulse (0-100), total_hours, categories.
    
    ## Productivity Levels
    
    - 2: Very Productive (coding, writing, Terminal, IDEs)
    - 1: Productive (communication, reference, learning)
    - 0: Neutral (uncategorized)
    - -1: Distracting (news, shopping)
    - -2: Very Distracting (social media, games)
    
    ## Common Queries
    
    **Today's activity by app:**
    ```bash
    curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=activity&restrict_begin=$(date +%Y-%m-%d)&restrict_end=$(date +%Y-%m-%d)"
    ```
    
    **Productivity breakdown:**
    ```bash
    curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=productivity"
    ```
    
    **By category:**
    ```bash
    curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=rank&restrict_kind=category"
    ```
    
    **Hourly breakdown today:**
    ```bash
    curl "https://www.rescuetime.com/anapi/data?key=API_KEY&format=json&perspective=interval&restrict_kind=productivity&interval=hour&restrict_begin=$(date +%Y-%m-%d)&restrict_end=$(date +%Y-%m-%d)"
    ```
    
    ## Response Format
    
    ```json
    {
      "row_headers": ["Rank", "Time Spent (seconds)", "Number of People", "Activity", "Category", "Productivity"],
      "rows": [[1, 3600, 1, "VS Code", "Editing & IDEs", 2], ...]
    }
    ```
    
    Convert seconds to hours: `seconds / 3600`
    
    ## Tips
    
    - Productivity pulse 75+ is good, 85+ is excellent
    - Category view helps see broad patterns
    - Use interval perspective with hour for time-of-day analysis
    - Data syncs every 3 min (premium) or 30 min (free)