What happens
LifeOS/DOCUMENTATION/Work/WorkSystem.md documents a skills/_ULWORK/ skill package and a hooks/ULWorkSync.hook.ts SessionEnd capture hook as part of the shipped Work System — but neither exists anywhere in the v6.0.0 tagged release or the current main branch.
Specifically, the doc's own Files table (and System/data/template table) presents these as shipped/existing:
| Doc claim |
Location in WorkSystem.md |
skills/_ULWORK/Tools/SetWorkRepo.ts — "Repo identity setup (existing)" |
Files table |
skills/_ULWORK/Tools/BootstrapLabels.ts — "Seeds canonical labels into the configured repo" |
Files table |
skills/_ULWORK/Tools/RegenerateTasklist.ts — "Rebuilds TASKLIST.md from live issues" |
Files table |
hooks/ULWorkSync.hook.ts — "SessionEnd capture (ALGORITHM + NATIVE-with-artifacts)" |
Files table, no caveat |
System code row listing ~/.claude/skills/_ULWORK/ |
"Ships in release? YES — scrubbed, public-clean" |
Only SetWorkRepo.ts's --bootstrap <owner/repo> flag is marked "(planned)" — the doc implies the base tool already exists and only that one extension is pending.
What's actually in the repo
Checked via the GitHub API directly against both the v6.0.0 tag and main (19,655 and 16,998 files respectively):
gh api "repos/danielmiessler/LifeOS/git/trees/v6.0.0?recursive=true" --jq '.tree[].path' | grep -iE "ulworksync|_ulwork|setworkrepo|bootstraplabels"
gh api "repos/danielmiessler/LifeOS/git/trees/main?recursive=true" --jq '.tree[].path' | grep -iE "ulworksync|_ulwork|setworkrepo|bootstraplabels"
Both return zero matches — no _ULWORK directory, no SetWorkRepo.ts, BootstrapLabels.ts, RegenerateTasklist.ts, or ULWorkSync.hook.ts anywhere, in any casing.
What does ship and work
The other half of the pipeline is genuinely present: hooks/ReminderRouter.hook.ts, hooks/lib/work-config.ts, LIFEOS/TOOLS/WorkSweep.ts, LIFEOS/TOOLS/InstallWorkSweep.ts, and the Pulse kanban renderer (PULSE/modules/work.ts). So a fresh install gets read-path kanban + sweep-driven capture, but not the documented repo-bootstrap flow or the primary SessionEnd auto-capture hook.
Impact
On a fresh v6.0.0 install, following WorkSystem.md's own "Setup for a new LifeOS user" steps 2 and 6 is impossible — step 2's tool doesn't exist, and step 6's hook (ULWorkSync.hook.ts opening the first issue at SessionEnd) never fires because the file isn't there to wire into settings.json.
Suggested fix
Either ship the skills/_ULWORK/ package + hooks/ULWorkSync.hook.ts, or update WorkSystem.md to consistently mark the whole repo-bootstrap + SessionEnd-capture path as "planned, not yet built" (matching how the RELEASE_TEMPLATES/WORK_REPO/ row already correctly does).
Found while reconciling a fresh v6.0.0 install's USER/WORK/ setup against the documented Work System pipeline.
What happens
LifeOS/DOCUMENTATION/Work/WorkSystem.mddocuments askills/_ULWORK/skill package and ahooks/ULWorkSync.hook.tsSessionEnd capture hook as part of the shipped Work System — but neither exists anywhere in the v6.0.0 tagged release or the currentmainbranch.Specifically, the doc's own Files table (and System/data/template table) presents these as shipped/existing:
WorkSystem.mdskills/_ULWORK/Tools/SetWorkRepo.ts— "Repo identity setup (existing)"skills/_ULWORK/Tools/BootstrapLabels.ts— "Seeds canonical labels into the configured repo"skills/_ULWORK/Tools/RegenerateTasklist.ts— "Rebuilds TASKLIST.md from live issues"hooks/ULWorkSync.hook.ts— "SessionEnd capture (ALGORITHM + NATIVE-with-artifacts)"~/.claude/skills/_ULWORK/Only
SetWorkRepo.ts's--bootstrap <owner/repo>flag is marked "(planned)" — the doc implies the base tool already exists and only that one extension is pending.What's actually in the repo
Checked via the GitHub API directly against both the
v6.0.0tag andmain(19,655 and 16,998 files respectively):Both return zero matches — no
_ULWORKdirectory, noSetWorkRepo.ts,BootstrapLabels.ts,RegenerateTasklist.ts, orULWorkSync.hook.tsanywhere, in any casing.What does ship and work
The other half of the pipeline is genuinely present:
hooks/ReminderRouter.hook.ts,hooks/lib/work-config.ts,LIFEOS/TOOLS/WorkSweep.ts,LIFEOS/TOOLS/InstallWorkSweep.ts, and the Pulse kanban renderer (PULSE/modules/work.ts). So a fresh install gets read-path kanban + sweep-driven capture, but not the documented repo-bootstrap flow or the primary SessionEnd auto-capture hook.Impact
On a fresh v6.0.0 install, following
WorkSystem.md's own "Setup for a new LifeOS user" steps 2 and 6 is impossible — step 2's tool doesn't exist, and step 6's hook (ULWorkSync.hook.tsopening the first issue at SessionEnd) never fires because the file isn't there to wire intosettings.json.Suggested fix
Either ship the
skills/_ULWORK/package +hooks/ULWorkSync.hook.ts, or updateWorkSystem.mdto consistently mark the whole repo-bootstrap + SessionEnd-capture path as "planned, not yet built" (matching how theRELEASE_TEMPLATES/WORK_REPO/row already correctly does).Found while reconciling a fresh v6.0.0 install's
USER/WORK/setup against the documented Work System pipeline.