worklog
Skill2 starsChanged 10 days agoBSD-3-ClauseView on GitHub
Save and resume cross-session work state for long, cross-repo tasks, keyed by ticket id or topic, not by working directory. Use when the user says "worklog", "checkpoint", "save my progress", "where was I", "pick up where I left off", or when a session is ending mid-task and progress should survive. Backed by the worklog MCP (worklog_checkpoint/list/search/show/status) with the `worklog` CLI as fallback.
15 other projects use a version of this.
Adopted by
Most recently taken up by
- JibranMachiavelli/claude-worklogtheir own version, first seen Nov 8, 2026
- antass/antass-skillstheir own version, first seen Nov 1, 2026
- Vinay-R/vibe-engineering-templatetheir own version, first seen Nov 1, 2026
- Srltas/claude-skillstheir own version, first seen Oct 31, 2026
- rynbol/claude-skillstheir own version, first seen Oct 13, 2026
- BespokeWoodcraftStudio/claude-worklog-skilltheir own version, first seen Oct 11, 2026
Other versions15 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 15
- revfactory/skills★ 160same name
- dgilford/ai-science-toolkit★ 82same name
- tae0y/python-project-template★ 14same name
- antass/antass-skills★ 1same name
- BespokeWoodcraftStudio/claude-worklog-skill★ 1same name
- bpappin/skills★ 1same name
- f-ewald/claude-skills★ 1same name
- ingeun92/claude-code-configs★ 1same name
- renicsemenov/claude-code-skills★ 1same name
- Hyosun-byte/worklog★ 0same name
5 more not listed
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.
In this repository13 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- mods/CLAUDE.mdCLAUDE.md
- webkit/CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- askSkill
- golang-proSkill
- golang-styleSkill
- handoffSkill
- harvestSkill
- humanizerSkill
- loomSkill
- presentSkill
- upgrade-noteSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.
0
Common
Most of the 13 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Prefer the MCP tools (no shell prompt): worklog_checkpoint, worklog_list, worklog_search, worklog_show, worklog_status.
- Very specific: line 24
When checkpointing via MCP, always pass cwd (the user's current working directory) so the touched repo is recorded.
- Very specific: line 37
After loading, read the item's CONTEXT.md ("Where I am" + recent Log) and, if re-entering a specific repo, worklog_show with that repo to …
- Very specific: line 47
Write where for a reader with zero prior knowledge of the task.
- Very specific: line 52
Derive the key: Prefer a ticket id if one is in play (ABC-1234).
- Distinctive: line 59
Conclusions and findings: every conclusion reached, with the evidence and reasoning.
“Common” is measured: kept by at least 6 in 10 of the 13 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
worklog
Durable, searchable memory for work that spans sessions and repos. The user often starts in a tmp dir and works across several repos on one ticket, then stops and resumes days later. worklog keys that state on the task (a ticket id or topic slug) so it's findable again, unlike Claude Code's per-directory auto-memory, which orphans anything started in a tmp dir.
This is a different path from /handoff (which writes a one-off bridge doc
under ~/.handoff/). worklog is the durable, keyed, searchable store.
Tools
Prefer the MCP tools (no shell prompt): worklog_checkpoint, worklog_list,
worklog_search, worklog_show, worklog_status. The worklog CLI is the
fallback if the MCP server isn't connected (worklog checkpoint|list|search|show|status).
When checkpointing via MCP, always pass cwd (the user's current working
directory) so the touched repo is recorded; the MCP server runs from / and
can't detect it otherwise.
Modes
Read: resume (default)
- No argument →
worklog_listwithstatus: "active". Also run it withrepo: <current repo>if the user is inside a git repo, to surface items touched here. Present the list; let the user pick one. - A key or query → try
worklog_showwith the key first; if not found,worklog_searchthe term and show matches. - After loading, read the item's
CONTEXT.md("Where I am" + recent Log) and, if re-entering a specific repo,worklog_showwith thatrepoto pull its notes. Restore that context into the session before continuing.
Write: checkpoint
Triggered by "checkpoint", "save my progress", "worklog this", or when a session is wrapping up mid-task.
Core principle: the checkpoint is the ONLY context a fresh session gets.
Write where for a reader with zero prior knowledge of the task. A thin
checkpoint forces the next session to re-discover everything, wasting time and
risking different conclusions. Err on the side of too much detail, not too
little.
- Derive the key. Prefer a ticket id if one is in play (
ABC-1234); else a short stable topic slug. Confirm with the user if ambiguous. - Gather state. The
wherefield must include ALL of the following that apply:- Goal: what the task is trying to achieve and why
- Repos: full paths (host + local disk path), which code search tool covers each host, any repos not yet cloned that will be needed
- Conclusions and findings: every conclusion reached, with the evidence and reasoning. Not just "X is confirmed" but "X is confirmed because querying Y returned Z during incident window W"
- Working tool/query examples: exact tool names, parameters, query strings that produced results. A resuming session should be able to copy these verbatim, not re-derive them through trial and error
- Anti-patterns: things that were tried and failed, with WHY they failed. Prevents the next session from repeating dead ends
- Decisions made: what was decided and the reasoning. Include who decided and when if relevant
- Links: tickets, RFCs, Google Docs, PRs, tracker comment IDs, SLO IDs, dashboard URLs. Anything a resuming session would need to look up
- External content that can't be re-fetched easily: replacement text the session generated, draft wording, or important data received from a tool that requires auth/context to reproduce. Capture the substance inline rather than just referencing it
- Next steps: concrete, actionable, ordered by priority. Include prerequisites (e.g., "clone repo X before starting step 3")
- Call
worklog_checkpointwith:keywhere: the full state snapshot (replaces "Where I am")note: a log entry (what changed this session + remaining work list)cwd: the user's working directoryticket/topic: on first creationstatus: optional,active,pausedordonein the same write (omit it to keep the current status)
- Report the key and how to resume (
/worklog <key>).
Durable insights (preferences, decisions, reusable facts) still go to auto-memory; worklog holds resumable task state. "remember" stays mapped to auto-memory; worklog triggers only on the verbs above.
Manage
- Close out:
worklog_statuswithdonewhen the task ships, or passstatus: "done"on the closingworklog_checkpoint. - Pause:
worklog_statuswithpausedto keep it out of the active list.
Notes
- Whether the store (
~/code/worklog/) has a git remote depends on the machine's worklog config (remote.url). With one, every write pushes unlessremote.pushis false; without one, the store stays on that machine or in a folder synced outside git. Promise cross-machine sync only when a remote is set. - One task spanning N repos is one item with N per-repo notes, not N items.
- Ticket firewall: an item keys on the tracker its work actually lives in, and only that one. Never reference one tracker world's ticket from an item keyed in another; the worlds stay strictly separated. Which trackers are in play, and their key formats, come from the agent's own global config.
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.

