timing-analysis
Analyze time tracking data from Timing App. Use when the user asks about how they spent their time, wants a time report, or mentions Timing app data for periods like "today", "yesterday", "this week", "last week", "this month", or custom date ranges.
What this skill does
# Timing App Time Analysis
Analyze how you spent your time using data from the Timing App.
## Trigger Phrases
- "How did I spend my time today/yesterday/this week?"
- "Show me my Timing report for [period]"
- "What projects did I work on [period]?"
- "Time analysis for [date range]"
- "How much time did I spend on [project]?"
## Prerequisites
1. **Timing App Account**: Active Timing App subscription with web access
2. **API Token**: Generate at https://web.timingapp.com/integrations under "API & Integrations"
3. **1Password Storage**: Store the API token in 1Password:
- Item name: `Timingapp`
- Field: `API Key`
## Workflow
### 1. Retrieve API Token
```bash
# Get API token from 1Password
op item get "Timingapp" --fields "API Key" --reveal
```
### 2. Calculate Date Range
Convert natural language periods to ISO 8601 dates:
| Period | start_date_min | start_date_max |
|--------|----------------|----------------|
| today | Current date | Current date |
| yesterday | Current date - 1 day | Current date - 1 day |
| this week | Monday of current week | Current date |
| last week | Monday of previous week | Sunday of previous week |
| this month | 1st of current month | Current date |
| last month | 1st of previous month | Last day of previous month |
| past 7 days | Current date - 6 days | Current date |
| past 30 days | Current date - 29 days | Current date |
Use `date` command for calculations:
```bash
# Today
date +%Y-%m-%d
# Yesterday
date -v-1d +%Y-%m-%d
# Monday of this week (macOS)
date -v-monday +%Y-%m-%d
# First of this month
date +%Y-%m-01
```
### 3. Fetch Time Report (Aggregated by Project)
```bash
API_TOKEN="<token>"
START_DATE="2024-01-01"
END_DATE="2024-01-07"
curl -s "https://web.timingapp.com/api/v1/report?start_date_min=${START_DATE}&start_date_max=${END_DATE}&columns[]=project&project_grouping_level=1" \
-H "Authorization: Bearer ${API_TOKEN}" \
-H "Accept: application/json"
```
**Key Parameters:**
- `project_grouping_level=1`: Group by top-level projects
- `project_grouping_level=2`: Include one level of sub-projects
- `columns[]=project`: Include project information
- `columns[]=title`: Include entry titles (for detailed breakdown)
- `timespan_grouping_mode=day`: Group by day (options: exact, day, week, month, year)
### 4. Fetch Detailed Time Entries (Optional)
For more detail on specific entries:
```bash
curl -s "https://web.timingapp.com/api/v1/time-entries?start_date_min=${START_DATE}&start_date_max=${END_DATE}" \
-H "Authorization: Bearer ${API_TOKEN}" \
-H "Accept: application/json"
```
### 5. Fetch Project Hierarchy (Optional)
To understand project structure:
```bash
curl -s "https://web.timingapp.com/api/v1/projects/hierarchy" \
-H "Authorization: Bearer ${API_TOKEN}" \
-H "Accept: application/json"
```
### 6. Format and Present Results
Present the analysis with:
1. **Summary Statistics**
- Total time tracked
- Number of distinct projects
- Average daily hours (if multi-day period)
2. **Time by Project** (sorted by duration)
- Project name
- Duration (hours:minutes)
- Percentage of total
3. **Daily Breakdown** (if multi-day period)
- Date
- Total hours
- Top project(s)
4. **Insights**
- Busiest day
- Most-worked project
- Comparison to typical workday (8 hours)
### Example Output Format
```
## Time Analysis: January 1-7, 2024
### Summary
- **Total Time Tracked**: 42h 15m
- **Daily Average**: 6h 2m
- **Projects Worked**: 5
### Time by Project
| Project | Duration | % of Total |
|---------|----------|------------|
| Client Work | 18h 30m | 43.8% |
| Internal | 12h 45m | 30.2% |
| Learning | 6h 00m | 14.2% |
| Admin | 3h 30m | 8.3% |
| Other | 1h 30m | 3.5% |
### Daily Breakdown
| Day | Hours | Top Project |
|-----|-------|-------------|
| Mon | 8h 15m | Client Work |
| Tue | 7h 30m | Internal |
| Wed | 6h 45m | Client Work |
| Thu | 8h 00m | Client Work |
| Fri | 5h 45m | Learning |
| Sat | 3h 00m | Learning |
| Sun | 3h 00m | Internal |
### Insights
- Busiest day: Monday (8h 15m)
- Most time on: Client Work (43.8%)
- 3 days exceeded 8-hour workday
```
## Duration Formatting
The API returns duration in seconds. Convert to human-readable format:
```bash
# Convert seconds to hours:minutes
seconds=15300
hours=$((seconds / 3600))
minutes=$(((seconds % 3600) / 60))
echo "${hours}h ${minutes}m" # Output: 4h 15m
```
## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| 401 Unauthorized | Invalid/expired token | Regenerate API token at web.timingapp.com/integrations |
| 404 Not Found | Invalid endpoint | Check API endpoint URL |
| Empty results | No data for period | Verify date range has tracked time |
| 1Password error | Item not found | Ensure "Timingapp" item exists in 1Password |
## API Reference
- **Base URL**: `https://web.timingapp.com/api/v1`
- **Authentication**: Bearer token in Authorization header
- **Documentation**: https://web.timingapp.com/docs/
- **Rate Limits**: Standard API rate limits apply
## Notes
- All times are in the user's configured timezone
- The API returns a maximum of 30 days if no date range is specified
- For team accounts, add `include_team_members=true` to see all team data
- Productivity scores range from -2 (very unproductive) to 2 (very productive)
Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.