| name | work-update |
| description | Sync work context from external sources, update tasks and memory, and report changes |
Work Update
Refresh tasks and memory from ongoing work activity.
Load memory-management and task-management before continuing. This command assumes /work-start has already initialized TASKS.md, CLAUDE.md, and the memory wiki.
Flow
1. Load State
Read:
TASKS.md
CLAUDE.md
memory/index.md
memory/glossary.md
Read when needed:
memory/log.md
- specific pages under
memory/
If TASKS.md, CLAUDE.md, or core wiki files are missing, suggest /work-start.
2. Sync Tasks From External Sources
Before checking a source, look for and load the relevant skill from .claude/skills when available.
Check available task sources such as:
- project trackers like Asana, Linear, or Jira
- GitHub Issues:
gh issue list --assignee=@me
Compare external tasks against TASKS.md:
- new external task -> offer to add
- matching task already tracked -> skip
- task missing externally -> flag as potentially stale
- completed externally -> offer to mark done
TASKS.md Confirmation Rules
Do not edit TASKS.md directly from scanned activity unless the user confirms the change.
During task sync and activity scan:
- Collect candidate task additions, completions, stale items, and waiting-state changes.
- Compare each candidate against existing
TASKS.md entries.
- Present a short triage prompt before editing.
- If the user chooses no changes, leave
TASKS.md untouched.
- Only apply confirmed task edits.
Safe without confirmation:
- Reading
TASKS.md
- Reporting possible stale tasks
- Reporting likely missing tasks
- Reporting external completion signals
Requires confirmation:
- Adding a task
- Completing a task
- Moving a task between
Active, Waiting On, Someday, and Done
- Changing task wording, due dates, links, or subtasks
3. Scan Recent Activity
Before checking a source, look for and load the relevant skill from .claude/skills when available.
Optional Project Subagents
If the Agent tool is available and project-local agents exist under .pi/agents/, prefer using them for read-only collection and classification when the scan spans multiple sources or would otherwise consume substantial context.
Project-local agents useful for this workflow:
activity-scanner - general read-only scanner for Slack, Gmail, Calendar, Drive, Notion, or a specific project/source scope
task-reconciler - compares candidate tasks against TASKS.md and prepares task triage recommendations
memory-curator - classifies findings for durable memory updates
Use subagents this way:
- Before spawning new scanners, check the current conversation for completed
activity-scanner outputs, especially scheduled hourly runs.
- Reuse existing scanner outputs when their
## Scanner metadata shows a useful run time and relevant sources scanned.
- Spawn new
activity-scanner agents only for missing sources, stale/low-confidence outputs, or explicit user refresh requests.
- Aggregate reused and newly scanned outputs in the parent agent.
- Pass the aggregated task-like findings to
task-reconciler before asking the user to confirm task edits.
- Pass the aggregated memory-like findings to
memory-curator before applying safe memory updates or asking for confirmation.
Reusing Hourly Scheduled Scanner Results
If activity-scanner runs hourly and the user runs work-update at end of day, do not treat older same-day scanner outputs as stale merely because they are more than a few hours old. Instead:
- Reuse all visible completed scanner outputs from the current workday, or since the last known
work-update, when their metadata shows relevant sources scanned.
- Deduplicate repeated findings across hourly runs.
- Identify gaps by source.
- Run a small catch-up scan only for sources not covered by scheduled scans or when recent scanner outputs are missing/stale.
- If scanner outputs are not visible in the current conversation and no agent IDs are available to retrieve, fall back to normal scanning.
When reusing scanner outputs, mention it in the final report, for example:
Reused scanner outputs:
- Slack/email/calendar scanner runs from 09:00-17:00
New scans:
- Catch-up scan because recent scanner outputs were missing/stale
- Recent docs, because scheduled scans did not cover Drive/Notion
Subagents must only collect and classify. The parent agent remains responsible for user confirmation, edits to TASKS.md, edits to CLAUDE.md or memory/, and running memory-backup when required.
Gather recent signals from available sources:
- chat
- email
- documents
- calendar
- meeting notes only when provided by the user or available through a supported readable/exported source
Use the activity scan to surface:
- task updates
- likely missing tasks
- durable memory candidates
- status, ownership, relationship, or terminology changes worth preserving
4. Flag Missing Or Stale Tasks
Surface likely todos not tracked in TASKS.md.
Review active tasks for:
- past due dates
- 30+ day age
- missing project or person context
- external completion signals
Present triage options such as:
- done
- reschedule
- move to someday
- keep active
These triage options are suggestions until the user confirms the TASKS.md edit.
5. Resolve Unknowns
For each task or activity item, use the memory lookup order:
CLAUDE.md
memory/index.md
memory/glossary.md
- relevant pages under
memory/
memory/log.md if recent changes matter
Track what is known and what still needs clarification.
Ask about unknown terms, people, projects, or context only when the lookup order does not resolve them.
6. Ingest Durable Updates
Follow memory/SCHEMA.md when creating or updating durable wiki pages.
Process updates in this order:
- update existing pages when the new information fits naturally
- add meaningful markdown links when creating new cross-references
- create a new page only when the information does not fit an existing page cleanly
- file substantial reusable outputs into
memory/queries/ or memory/comparisons/ when appropriate
- update
memory/index.md for every new, renamed, deleted, or reclassified durable page
- append the action to
memory/log.md
Useful enrichments include:
- links added to existing project, person, topic, or context pages
- clear status changes
- durable relationships or ownership notes
- recurring terms added to
memory/glossary.md
- deadlines or milestones worth preserving in project context
- reusable comparisons or synthesized answers
Keep memory compact:
- Merge or replace stale bullets instead of appending routine daily updates.
- Do not duplicate standup details across person and project pages.
- People pages should keep stable role, current work areas, and durable milestones only.
- Skip transient logistics, repeated progress, and implementation detail with no future decision value.
For recurring query or comparison outputs, prefer a stable filename and update the existing page instead of creating a dated duplicate.
7. Apply Confirmation Rules
Safe to apply during work-update:
- enrich an existing memory page
- add a clear glossary entry
- add links or relationships to an existing page
- update
memory/index.md or memory/log.md
- file a clearly valuable durable update into an existing page
Still require confirmation:
- new person page
- new project page
- new context page
- new topic page
- new comparison or query page when the value is uncertain
- weakly supported term promoted into
CLAUDE.md
If durability is unclear, present a suggestion instead of editing memory.
8. Report
Summarize:
- task changes
- hot-cache changes
- wiki changes
- filed outputs
- unresolved gaps
Example structure:
Work update complete:
- Task changes: X added, X updated, X stale
- Hot cache changes: X
- Wiki changes: X pages updated, X pages created
- Filed outputs: X queries, X comparisons
- Unresolved gaps: X
If memory changed, say whether it was:
- a safe update to an existing page
- a newly created page after confirmation
- a filed query or comparison
- a suggested but unconfirmed addition
- a gap that still needs clarification
9. Memory Backup
If this run changed CLAUDE.md, TASKS.md, or anything under memory/, trigger memory-backup.
Notes
- This command is interactive.
- External links should be preserved when available.
- Fuzzy title matching is fine for task comparison.
- Prefer updating existing pages over creating new ones.
- Use
/work-start to initialize missing task or memory foundations.
- If nothing changed, skip backup.