time-ledger
Makes your agent track your time intelligently. It understands what you say you did and organizes it in a database. Helps keep precise track of your time effortlessly.
What it does
It records how much time you spent on different activities, saving it all to your Notion. If it's unsure about a detail, it asks instead of guessing.
When to use it
- ✓When you want to note how much time you spent on something (e.g., 'read for 2 hours').
- ✓When you say 'log my time' or 'tidy up my time ledger'.
- ✓When you ask where your time went.
Example of what to ask your AI
“Log it: read papers 2h, gym 1h, did a leetcode.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It looks for a database named 'time-ledger' in your Notion. Then, it turns what you say into activities, minutes, and dates, and adds them to the database. If something is unclear, it marks it for later confirmation.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill time-ledgerOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/time-ledger/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Time Ledger
Overview
Conversational time tracking. The user reports time in plain language — "read papers 2h, gym 1h, did a leetcode" — and the agent parses it into structured rows (activity, minutes, date, an optional compounding tag) and writes them to the user's own Notion database through the official Notion connector. The core design is an honesty contract: anything uncertain becomes a To-confirm row and gets batch-asked — never fabricated. A log that quietly invents durations is worse than no log.
When to Use This Skill
- Use when the user reports time spent ("read papers for two hours", "hit the gym for an hour", "coded all morning")
- Use when the user says "log it", "log my time", "time ledger", or "tidy up my time ledger"
- Use when the user asks where their time went or for a time review
How It Works
Step 1: Find the database (zero-config)
On the first write of a session, use Notion search to find the database (type database, not a page) whose title contains "time-ledger". Read its data_source_id (the collection://... UUID) and use it as the parent for create-pages / query for the rest of the session. If more than one matches, ask the user which to use. Nothing is pasted or configured.
The companion Notion template (free, linked in the source repo) ships this field schema — select values are a controlled enum, copy them exactly:
Entry(title) — the user's words or a clear titleActivity(select): Reading / Coding / Practice / Fitness / Investing / Meeting / Writing / Life / OtherMinutes(number)Date(date) — expand to"date:Date:start": "YYYY-MM-DD"; a bareDatevalue fails with HTTP 400Status(select): To-sort / To-confirm / DoneCompounding(select): Compounding / Consuming / NeutralNotes(text) — clue from the user's words / your question
Step 2: Direct report mode
Parse the report → create-pages (parent = the data source id above). Set Status=Done for what is certain; for anything uncertain set Status=To-confirm, write the specific question in Notes, and ask it once in your reply.
Parsing rules:
- Activity: books/technical material → Reading; coding/building → Coding; leetcode → Practice; gym/running → Fitness; markets/research → Investing; meetings → Meeting; docs → Writing; meals/commute/chores → Life; otherwise → Other. Unsure → To-confirm.
- Duration cues: "two hours"=120, "an hour"=60, "half an hour"=30, "a while"≈30 (mark To-confirm, note it is an estimate), "all morning"≈180. Use exact numbers when given.
- Date: "today" = the user's local date; "yesterday" = prior day; unspecified = today. Unsure which day → ask.
- One report, multiple blocks: "two hours on X, one hour on Y" → split into rows, but confirm whether the totals are additive (a frequent ambiguity) — default additive + one To-confirm row.
- Compounding tag: only tag the obvious — Compounding = leaves a reusable asset (learning, building, writing); Consuming = forget-on-sight entertainment (only if the user volunteers it); leave ambiguous blank.
Step 3: Batch reconcile mode
When the user says "tidy up my time ledger": query rows where Status ∈ {To-sort, To-confirm} or empty → parse each → update-page the certain ones to Done; batch all remaining questions into one message; fill answers in when the user replies.
Examples
Example 1: Direct report
User: log it: read ML system design 2h, gym 1h, did a leetcode
Agent: Logged 3 entries ✅
· Reading · ML system design · 120min · Compounding
· Fitness · gym · 60min
· Practice · LeetCode · ~20min ❓ To-confirm: you didn't say how long — I guessed 20min, right?
Example 2: Batch reconcile
User: tidy up my time ledger
Agent: 3 rows need confirmation — answering in one go works:
1. Tue "LeetCode" — how many minutes?
2. Wed "reading" — book or papers (Reading), or course exercises (Practice)?
3. "all afternoon on the deck" — Wed or Thu?
Best Practices
- ✅ Batch all questions into one message; never interrogate item by item
- ✅ Give a short receipt after logging (rows written, which are To-confirm, what the questions are)
- ✅ Copy select values from the enum exactly
- ❌ Don't fabricate a duration, category, or date when unsure — To-confirm + ask
- ❌ Don't write a bare
Dateproperty; use thedate:Date:startexpansion
…
FAQ
Do I need to set up anything in Notion?
Yes, you need to have a Notion database titled 'time-ledger' and use the official Notion connector.
What happens if I don't say how long something took?
The agent will mark that activity as 'To-confirm' and ask you later, instead of inventing a duration.
Can it automatically track my time?
No, it only works based on what you tell it you did. It does not automatically track apps or screens.
Details
Original description by the author
Natural-language time tracking: parse what the user says they did into Activity/Minutes/Date rows in their own Notion database — asking instead of guessing when unsure.
Popularity
- GitHub stars
- 48k
- Ranking position
- #4382
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
benchmark
Helps your agent measure code speed and performance. It's useful for ensuring things are fast and finding slowness issues.
affaan-m/ECC
content-hash-cache-pattern
Lets your agent use content hashes to cache file processing results. This avoids repeated processing and auto-invalidates the cache when content changes. Useful for speeding up slow tasks.
affaan-m/ECC
parallel-execution-optimizer
Makes your agent speed up complex tasks by breaking them into smaller parts and running them in parallel. It ensures everything is verified at the end.
affaan-m/ECC