time-tracking-5-rescuetime-focustime-triggers
Sub-skill of time-tracking: 5. RescueTime - FocusTime Triggers (+1).
Best use case
time-tracking-5-rescuetime-focustime-triggers is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of time-tracking: 5. RescueTime - FocusTime Triggers (+1).
Teams using time-tracking-5-rescuetime-focustime-triggers 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/5-rescuetime-focustime-triggers/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How time-tracking-5-rescuetime-focustime-triggers Compares
| Feature / Agent | time-tracking-5-rescuetime-focustime-triggers | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of time-tracking: 5. RescueTime - FocusTime Triggers (+1).
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
# 5. RescueTime - FocusTime Triggers (+1)
## 5. RescueTime - FocusTime Triggers
**FocusTime API:**
```bash
# Start FocusTime session (requires Premium)
curl -s -X POST "https://www.rescuetime.com/anapi/focustime/start" \
-d "key=$RESCUETIME_API_KEY" \
-d "duration=60" | jq # 60 minutes
# End FocusTime session
curl -s -X POST "https://www.rescuetime.com/anapi/focustime/end" \
-d "key=$RESCUETIME_API_KEY" | jq
# Get current FocusTime status
curl -s "https://www.rescuetime.com/anapi/focustime/status" \
-d "key=$RESCUETIME_API_KEY" | jq
```
**Python - FocusTime:**
```python
class RescueTimeFocusTime:
"""RescueTime FocusTime API client (Premium required)."""
BASE_URL = "https://www.rescuetime.com/anapi/focustime"
def __init__(self, api_key=None):
self.api_key = api_key or os.environ.get("RESCUETIME_API_KEY")
def start_focus(self, duration_minutes=60):
"""Start a FocusTime session."""
response = requests.post(
f"{self.BASE_URL}/start",
data={
"key": self.api_key,
"duration": duration_minutes
}
)
return response.json()
def end_focus(self):
"""End current FocusTime session."""
response = requests.post(
f"{self.BASE_URL}/end",
data={"key": self.api_key}
)
return response.json()
def get_status(self):
"""Get current FocusTime status."""
response = requests.get(
f"{self.BASE_URL}/status",
params={"key": self.api_key}
)
return response.json()
```
## 6. Automated Time Logging
**Log Time from Scripts:**
```python
#!/usr/bin/env python3
"""auto_time_logger.py - Automated time logging"""
import os
import subprocess
from datetime import datetime, timedelta
from toggl_client import TogglClient # From earlier example
def log_git_commit_time(repo_path, workspace_id, project_id=None):
"""
Log time entries based on git commits.
Estimates time between commits.
"""
client = TogglClient()
# Get recent commits
result = subprocess.run(
["git", "-C", repo_path, "log", "--format=%H|%s|%ai", "-n", "20"],
capture_output=True,
text=True
)
commits = []
for line in result.stdout.strip().split("\n"):
if "|" in line:
hash_val, message, date_str = line.split("|", 2)
commit_date = datetime.strptime(
date_str.strip()[:19],
"%Y-%m-%d %H:%M:%S"
)
commits.append({
"hash": hash_val,
"message": message,
"date": commit_date
})
# Create time entries between commits
for i in range(len(commits) - 1):
current = commits[i]
previous = commits[i + 1]
duration = (current["date"] - previous["date"]).total_seconds()
# Cap at 4 hours max
duration = min(duration, 4 * 3600)
# Skip very short intervals
if duration < 300: # Less than 5 minutes
continue
entry = client.create_time_entry(
workspace_id=workspace_id,
description=f"Git: {current['message'][:100]}",
start_time=previous["date"],
duration_seconds=int(duration),
project_id=project_id,
tags=["git", "auto-logged"]
)
print(f"Logged: {current['message'][:50]}... ({duration/3600:.1f}h)")
def log_pomodoro_session(
workspace_id,
description,
project_id=None,
duration_minutes=25
):
"""Log a completed Pomodoro session."""
client = TogglClient()
end_time = datetime.utcnow()
start_time = end_time - timedelta(minutes=duration_minutes)
entry = client.create_time_entry(
workspace_id=workspace_id,
description=description,
start_time=start_time,
duration_seconds=duration_minutes * 60,
project_id=project_id,
tags=["pomodoro"]
)
print(f"Logged Pomodoro: {description} ({duration_minutes} min)")
return entry
def log_meeting(
workspace_id,
title,
start_time,
end_time,
project_id=None
):
"""Log a meeting time entry."""
client = TogglClient()
duration = (end_time - start_time).total_seconds()
entry = client.create_time_entry(
workspace_id=workspace_id,
description=f"Meeting: {title}",
start_time=start_time,
duration_seconds=int(duration),
project_id=project_id,
tags=["meeting"]
)
print(f"Logged meeting: {title} ({duration/3600:.1f}h)")
return entry
```Related Skills
tax-filing-session-setup-with-github-tracking
Structured workflow for preparing and tracking a tax filing session using prepared documents, task checklist, and GitHub issue cross-referencing
handle-freetaxusa-session-timeouts
Recover from FreeTaxUSA session timeout dialogs blocking form submission and navigation
github-issue-structure-for-personal-finance-tracking
Pattern for organizing financial analysis work across multiple repos (data/config vs. logic separation)
booking-timeline
Use when constructing the Booking & reservation timeline section of a trip plan. Encodes the 4-month / 2-month / 6-week / 1-week reservation cascade and refund-window rules. Invoked by trip-planner.
maritime-legal
AI-assisted maritime legal and casualty consulting — engineering-technical interface with admiralty proceedings
metrics-tracking
Define, track, and analyze product metrics with frameworks for goal setting and dashboard design
expense-tracking
Track, categorize, and analyze business expenses including credit card statement import and monthly expense reports.
repo-cleanup-progress-tracking-commands
Sub-skill of repo-cleanup: Progress Tracking Commands (+1).
parallel-batch-executor-4-progress-tracking
Sub-skill of parallel-batch-executor: 4. Progress Tracking (+2).
activepieces-2-webhook-triggers
Sub-skill of activepieces: 2. Webhook Triggers.
wave-theory-4-time-series-generation
Sub-skill of wave-theory: 4. Time Series Generation (+1).
ship-dynamics-6dof-5-time-domain-simulation
Sub-skill of ship-dynamics-6dof: 5. Time-Domain Simulation.