work-log
Skill0 starsChanged 29 days agoMITView on GitHub
Use when the user wants one task in their ⚡ Work Notion database changed on their say-so — its status moved (Doing, Waiting on someone, Done), a note or next step written in their words, or what they did on it logged — usually at the end of a session on that task. Triggers include "/work-log", "update my work db", "mark this as doing / waiting / done in notion", "log what I did on this", "add a note to this task", "track this in my work db". The automated Jira and GitHub sync, briefing and standup are work-sync, not this.
7 other projects use a version of this.
Adopted by
Most recently taken up by
- palmeheskd/claude-skillstheir own version, first seen Oct 25, 2026
- tyabu12/claude-kittheir own version, first seen Oct 20, 2026
- wiseiodev/skillstheir own version, first seen Oct 20, 2026
- h-wata/claude-skillstheir own version, first seen Oct 13, 2026
- thapar25/claude-skillstheir own version, first seen Aug 12, 2026
- karan-ghadi/claude-skillstheir own version, first seen Jun 25, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- huojian-jan/notion-worklog-skills★ 1same name
- karan-ghadi/claude-skills★ 1same name
- wiseiodev/skills★ 1same name
- h-wata/claude-skills★ 0same name
- palmeheskd/claude-skills★ 0same name
- thapar25/claude-skills★ 0same name
- tyabu12/claude-kit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Files
Work Log
Write one task into the ⚡ Work database the way the user says it is: the Status they name, Notes and Next step in their words, and an Actions entry for what the session did. The user's word is the evidence here; nothing is checked against Jira or GitHub. Tomorrow's work-sync standup builds "Yesterday" from these Actions entries, so a good entry today is a good standup tomorrow.
Read first: the Work database, Actions database and Notion mechanics sections of ~/.claude/skills/work-sync/references/notion.md — the data source IDs, every property, date formats and the create/update tools. This skill adds only the rules below.
Hard rules
- Notion only, and only the Work and Actions databases. Jira and GitHub stay untouched; a transition the user still has to make goes in
Next stepasYou: move KEY to Testing. - Never write
Last synced. work-sync treats a row whoseLast Editedis newer thanLast syncedas the user's edit and keeps it; this skill's writes must read that way, or the next sync flips the status back. Code state,PR LinkandDueare the sync's fact fields. Leave them alone unless the user names a value.- Show the writes before making them. The user is present; one confirmation block, then write.
1. Find the row
Find the key per references/ticket.md: the argument, else the current git branch, else the ticket this conversation has been working on, else ask.
Query open rows by Jira Code = key, else Link or PR Link = the PR URL, else Title LIKE '%<words>%'. Rows can share a key (build and testing slices), so match by key and title.
- One match → continue.
- Several → ask, listing title and Status of each.
- None → offer to create the row (section 4), or match by title only when the user confirms it.
Done when: one row URL is in hand, or the user has agreed to a new row.
2. Decide the writes
Map the user's words onto the row. Only fields they spoke to, or that follow from them, change.
| The user says | Write |
| "working on it", "started", "picking this up" | Status Doing |
| "sent for review", "with QA", "waiting on Sam" | Status Waiting, Waiting on = the person, Next step = Person: action |
| "finished", "done", "shipped" | Status Done |
| "do it today", "park it", "back to inbox" | Status Today / Inbox |
| "it's critical / low priority now" | Priority |
| anything about where it stands | Notes: one line, their words. Overwrite; history lives in Actions |
| what happens next | Next step as Person: action; leaving Waiting clears Waiting on |
Since = today only when Status or the person in Next step changed. A Notes-only edit leaves it.
Actions entry whenever the session did work or handed something off (a bare Inbox ↔ Today or Priority change gets none):
Action: one plain line, under 20 words, what got done and where it stands —Fixed the open-tracking double count; PR up for Sam— in the user's voice, no sync phrasing.Typefrom the user's set: Coded, Reviewed, Investigated, Meeting, Blocked, Other.Source= You.Work= the row's URL.Date: leave empty on creation; the Notion automation stamps now for rows whose Source is not Sync. The user says it was earlier ("this was yesterday") → create first, then setDatewithupdate_properties, because the automation overwrites a date given at creation.
Done when: every changed field has an old → new value and the Action line is drafted.
3. Confirm and write
Print one block: the row title and URL, each field as Status: Inbox → Doing, the Action line with its Type. The user says yes or edits it. Then notion-update-page (command: update_properties) on the row and notion-create-pages on the Actions data source; 429 → wait retry_after, retry.
Report one line per write and end with the row URL. Several tasks in one request → one block covering all, then all the writes.
4. New row
Only when no row matches and the user confirms. Title in their words or the Jira summary without tags ([CRITICAL]); Jira Code, or Link for a PR with no ticket; Status per section 2 (Inbox when they gave none); Priority when they named one, else Medium; Notes; Next step; Since = when the state began, today if unknown. The sync fills Code state and PR Link next morning. Log the session's Actions entry as in section 2.
Common mistakes
- Setting
Sincebecause Notes changed. - Polishing the user's sentence into sync wording, or adding state they did not give.
- Setting
Code statefrom what the session saw ("PR opened" → PR awaiting review). The sync verifies it against GitHub. - Logging with
Source= Sync, or logging a Sync-style event (You moved … → Testing) instead of what the user did. - Treating a key match as the row when a sibling shares the key.
- Skipping the Actions entry at the end of a session with real work in it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

