Install any skill in seconds. Free to start, no credit card required.
Get Started Free →sickn33/time-ledger
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.
Passed 11 of 18 test cases with the skill, and 7 of 18 without it.
and 4 more in the full report
6 fixed7 passed either way8 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
Log 3 hours watching mindless brainrot videos on social media.
| Checked | Without skill | With skill |
|---|---|---|
| Categorizes the compounding property as Consuming | Missed | Passed |
The instructions your model reads when the skill loads.
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.
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 bare Date value fails with HTTP 400Status (select): To-sort / To-confirm / DoneCompounding (select): Compounding / Consuming / NeutralNotes (text) — clue from the user's words / your questionParse 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:
test cases passed, vs 7 / 18 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.