Local-life-manager worklog
Add timestamped work log entries to track progress and decisions. Use for documenting work, decisions, gotchas, and handoffs between agents.
install
source · Clone the upstream repo
git clone https://github.com/TaylorHuston/local-life-manager
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/TaylorHuston/local-life-manager "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/worklog" ~/.claude/skills/taylorhuston-local-life-manager-worklog && rm -rf "$T"
manifest:
.claude/skills/worklog/SKILL.mdsource content
/worklog
Add structured JSON entries to track work, decisions, and learnings.
Usage
/worklog yourbench YB-2 "Added login button to header" /worklog yourbench YB-2 --decision "Using Clerk for auth" /worklog yourbench YB-2 --gotcha "Token refresh needs cleanup" /worklog coordinatr 003 --handoff code-reviewer "Ready for review" /worklog yourbench YB-2 --state # Show current state /worklog yourbench YB-2 --migrate # Migrate from WORKLOG.md
Directory Structure
ideas/yourbench/issues/YB-2-auth/ ├── TASK.md ├── PLAN.md └── worklog/ ├── _state.json # Current state (quick context load) ├── 001-phase-init.json # Entry files └── 002-handoff-review.json
Entry Types
| Type | Flag | Use Case |
|---|---|---|
| Manual | (default) | General progress update |
| Decision | | Document architectural choice |
| Gotcha | | Capture lesson learned |
| Handoff | | Agent transition |
| Phase | | Phase completion |
| Blocker | | Record impediment |
| Resolution | | Resolve blocker |
Execution Flow
1. Parse Arguments
/worklog PROJECT ISSUE_ID [--type] "message"
2. Locate Worklog Directory
ideas/[project]/issues/[issue_id]-*/worklog/ mkdir -p [path] if missing
3. Get Next Sequence Number
ls worklog/*.json | grep -v _state | wc -l # Next = count + 1
4. Create Entry File
Filename:
{sequence:03d}-{type}-{slug}.json
Required fields:
: "worklog-entry-v1"$schema
: "ISSUE-SEQ"id
: numbersequence
: ISO 8601timestamp
: entry typetype
: { agent: string | null, human: string | null }author
: descriptionsummary
5. Update _state.json
_state.jsonAfter every entry:
- Update
last_entry - Update
last_updated - Increment
entries_count - Add to
if decisionkey_decisions - Update
if blocker/resolutionblockers
Viewing State
/worklog yourbench YB-2 --state
Outputs:
Issue: YB-2 - Initialize Next.js project Status: in_progress (Phase 3) Progress: 5/5 phases complete Key Decisions: ... Blockers: none
Schema Reference
See references/schema.md for full JSON schema specification.
Best Practices
- Be specific: Include enough context for future AI
- Tag consistently: Use established tag taxonomy
- Capture gotchas immediately: Don't wait until end
- Handoff explicitly: Create handoff entry when switching agents
- Update state:
should always reflect current reality_state.json