From claude-worktrace
Logs accomplishments from Claude Code sessions to dated markdown files at session end, context checkpoints, self-improve triggers, or user request.
npx claudepluginhub thumperl/claude-worktrace --plugin claude-worktraceThis skill uses the workspace's default tool permissions.
Capture what was accomplished in this session. This skill is intentionally lightweight — it logs and gets out of the way.
Analyzes worklog files to generate daily standups, weekly summaries, monthly reviews, performance reviews, and resume-ready bullets using Python script.
Generates markdown diary entries for coding sessions, capturing accomplishments, files changed, git commits, decisions, next steps, and handoffs. Triggers on 'save diary', 'log session', or 'wrapping up'.
Generates markdown developer journals from Claude Code activity data over specified time periods like today or last week. Focuses on accomplishments, decisions, and project progress with day-by-day breakdowns.
Share bugs, ideas, or general feedback.
Capture what was accomplished in this session. This skill is intentionally lightweight — it logs and gets out of the way.
Files go to ~/Documents/AI/worklog/ for cross-device sync:
~/Documents/AI/worklog/
├── 2026-03-08-macbook-pro.md
├── 2026-03-08-mac-mini.md
├── 2026-03-07-macbook-pro.md
└── ...
Naming: YYYY-MM-DD-{hostname}.md — date-first for chronological sorting.
Fallback: ~/.claude/worklog/
### HH:MM — [Project/Context] `sess-XXXX`
**Summary:**
- [What problem was solved and WHY — enough detail for a resume or performance review]
- [What was researched, what was learned, what conclusions were reached]
- [Key decisions made and their reasoning]
**Decisions:** [Optional — architectural or design decisions]
**Artifacts:** [Optional — PRs, deployments, docs created]
**Open:** [Optional — what's still pending]
---
Session ID (sess-XXXX): Derived from Claude's session_id (first 4 chars of the UUID), ensuring consistency across all entries in a session — PreCompact and SessionEnd hooks produce matching IDs. This distinguishes parallel sessions on the same machine.
Write as if explaining to a colleague or updating a resume months from now.
GOOD bullets — tell the story:
BAD bullets — mechanical noise:
Focus on the WHAT and WHY, never the HOW (tools used, files touched, tech stack). Those details are in git history if anyone needs them.
Checkpoint triggers (~25/50/75% context):
All other triggers (session ending, explicit "log this", self-improve piggybacking) use the interactive flow below.
hostname -s for machine, date for time, infer project from cwd/git/conversationWorklog entry:
[the entry]
Save to worklog?
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/write_worklog.py" \
--date "2026-03-08" --time "14:30" --machine "macbook-pro" \
--session "sess-f3a1" --project "acme-api" \
--summary '["Fixed auth token refresh race condition — stale tokens survived logout", "Researched PKCE vs implicit flow, chose PKCE for public client security"]' \
--decisions "Chose PKCE over implicit flow" \
--artifacts "PR #142" --open "Update API docs"
Hooks in hooks/hooks.json fire on PreCompact, /clear, and SessionEnd. Each reads the transcript, uses claude -p --model sonnet to generate a narrative summary, and persists it via write_worklog.py. Falls back to smart transcript parsing if the claude CLI is unavailable.
The same hook also detects user steering patterns and logs them via write_preferences.py --target log-only to ~/Documents/AI/self-improve/preferences-log.md. Steers are NOT auto-applied to CLAUDE.md — use the self-improve skill to review and promote them.
When self-improve fires in interactive mode, also trigger this skill. Present both outputs (preferences learned + worklog entry) in a single confirmation. One interruption, two outputs saved.
When self-improve fires in checkpoint mode, worklog auto-saves silently while self-improve handles its own user interaction (options prompt) if patterns were found.