Activitywatch Analysis Skill banner
BayramAnnakov BayramAnnakov

Activitywatch Analysis Skill

Data community

Description

Claude Code skill for weekly productivity analysis using ActivityWatch data. Calculates focus scores, detects death loops, generates actionable insights.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

ActivityWatch Analysis Skill

A Claude Code skill for productivity analysis using [ActivityWatch](https://activitywatch.net/) data. Calculates focus scores, detects "death loops" (repetitive app switching), and generates actionable insights.

Features

  • Calibration Mode: First-run setup that shows uncategorized apps, detects missing watchers, and guides personalization
  • 80+ App Defaults: JetBrains IDEs, terminals, browsers, design tools, CRMs — works out of the box for most developers
  • AI Agent Detection: Recognizes Claude Code, Codex, Aider, GitHub Copilot as productive workflows
  • Dual Scoring: Productivity score (what you worked on) + Focus score (attention quality)
  • Deep Browser Analysis: Site-level breakdown with productivity ratios (requires aw-watcher-web)
  • Death Loop Detection: Identifies repetitive app switching patterns with fix suggestions
  • Telegram Chat Categorization: Separate work chats from personal messaging
  • Customizable Categories: JSON config to tune for your workflow

Requirements

  • Python 3.8+
  • ActivityWatch installed and running
  • Recommended: pip install aw-client for direct API access
  • Recommended: aw-watcher-web Chrome extension for site-level browser tracking

Install as Claude Code Skill

cp -r activitywatch-analysis-skill ~/.claude/skills/activitywatch-analysis

Quick Start

Step 1: Calibrate (first run)

# Show what needs configuring
python scripts/analyze_aw.py --fetch --from week --calibrate --config scripts/category_config.json

This shows:

  • Uncategorized apps with significant usage time
  • Whether aw-watcher-web is installed (critical for browser analysis)
  • Telegram usage that may need chat-level categorization

Then edit `scripts/category_config.json` to classify your uncategorized apps.

Step 2: Analyze

# Today
python scripts/analyze_aw.py --fetch --from