project-time-tracker

Aggregate Claude Code session times into Obsidian-friendly daily, weekly, and monthly tables.

Updated Feb 9, 2026
One-click install
npx skills add https://github.com/KIM-KYOUNG-OH/dotfiles --skill project-time-tracker
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-time-tracker
Source: https://github.com/KIM-KYOUNG-OH/dotfiles/tree/main/.claude/skills/project-time-tracker
Command: npx skills add https://github.com/KIM-KYOUNG-OH/dotfiles --skill project-time-tracker

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Claude Code session times are scattered across projects, making it hard to understand where time goes. This skill aggregates per-project durations to produce clear, actionable reports.

Core Features & Use Cases

  • Per-project time aggregation: calculate total time spent on each project from session logs.
  • Flexible reporting: generate daily, weekly, monthly, and custom-date reports suitable for Obsidian tables.
  • Quick insights: quickly identify time sinks and optimize workflows.

Quick Start

Run the /project-time-tracker command to generate a time report for the current period.

Frequently Asked Questions about project-time-tracker

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I aggregate Claude Code session times by project from JSONL logs?

You can aggregate Claude Code session times by parsing local JSONL session logs stored under ~/.claude/projects. This skill computes duration from the first to last timestamp in each log to produce per-project time reports.

Can I generate daily, weekly, and monthly time tracking reports for Obsidian?

Yes, you can generate daily, weekly, monthly, and custom-date time tracking reports formatted as Obsidian-friendly tables. This allows you to visualize project-based time allocation directly within your notes.

How does time tracking handle missing data in Claude Code session logs?

Time tracking handles missing data gracefully by applying fallback logic during JSONL log parsing. It calculates session duration from the first to last available timestamp, ensuring reports remain accurate despite incomplete entries.

Do I need any external dependencies to parse JSONL logs for project time reports?

No external dependencies are required to parse JSONL logs for project time reports. The skill operates independently to read local Claude Code session logs and format them into readable tables.

What is the best way to identify time sinks across multiple Claude Code projects?

The best way to identify time sinks is by aggregating per-project durations from session logs into actionable reports. This skill formats the computed times into tables, helping you quickly spot which projects consume the most effort.