
Update
Keep TASKS.md and local memory aligned with Linear, Asana, Jira, or GitHub Issues while triaging stale work and closing memory gaps.
Overview
Update is an agent skill most often used in Operate (also Build, Grow) that syncs external assignments into TASKS.md, triages stale tasks, and refreshes memory—with an optional comprehensive scan for buried todos.
Install
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill updateWhat is this skill?
- Default mode loads TASKS.md and memory/, then diffs tracker and `gh issue list --assignee=@me` tasks against your local
- `--comprehensive` runs a deep scan across chat, email, calendar, and docs to surface missed todos and suggested new memo
- Triages stale or overdue tasks and flags memory gaps for unknown people or projects
- Defers to CONNECTORS.md when MCP task sources or placeholders are unclear
- Suggests `/productivity:start` when TASKS.md or memory layout is missing
- Two modes: default sync/triage and `--comprehensive` deep scan
- External-vs-TASKS.md comparison table with match-or-add actions
- Checks project tracker MCP plus `gh issue list --assignee=@me` when in a repo
Adoption & trust: 2.8k installs on skills.sh; 19.6k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your tracker and inbox keep assigning work, but TASKS.md and memory/ are out of date so your agent plans from the wrong backlog.
Who is it for?
Builders who already use TASKS.md plus MCP trackers or GitHub Issues and want a repeatable sync-and-triage ritual before coding or planning sessions.
Skip if: First-time setup with no TASKS.md or memory tree—run start first—or teams that forbid agents reading mail, calendar, or external PM APIs.
When should I use this skill?
Pulling new assignments from a project tracker into TASKS.md, triaging stale or overdue tasks, filling memory gaps for unknown people or projects, or running `--comprehensive` to catch todos in chat and email.
What do I get? / Deliverables
You get a reconciled TASKS.md, triaged stale items, and filled memory gaps—or a comprehensive list of missed todos—ready for the next productivity command in your stack.
- Updated TASKS.md with newly offered external tasks
- Triage notes on stale or overdue items
- Suggested memory entries for unknown people or projects
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Operate because the command is about continuously reconciling real-world assignments with your local task ledger and memory—not one-off ideation or launch work. Iterate fits ongoing refresh cycles: sync, triage overdue items, and patch unknown entities instead of standing up new infrastructure or shipping a release.
Where it fits
After sprint planning in Linear, run default update to add new assignee tasks into TASKS.md before your agent writes an implementation plan.
Before a release checklist, sync GitHub Issues and triage overdue items so launch blockers surface in TASKS.md.
Weekly iterate pass: compare tracker state to TASKS.md and downgrade or close stale rows.
Use `--comprehensive` after a busy support week to capture customer follow-ups buried in email threads.
How it compares
Use instead of manually copying tickets into markdown or ad-hoc “what should I work on?” chats without diffing external sources.
Common Questions / FAQ
Who is update for?
Solo and indie builders using anthropics knowledge-work productivity plugins who maintain TASKS.md and memory/ and want external trackers and GitHub Issues kept in sync with local agent context.
When should I use update?
During Build PM when new issues land mid-sprint; before Ship launch prep when overdue tasks block release; in Operate iterate when stale TASKS.md rows need triage; and in Grow lifecycle when comprehensive mode can pull todos from chat and email.
Is update safe to install?
It reads and may propose edits to local files and can call MCP project trackers, GitHub CLI, and—in comprehensive mode—connected mail and calendar tools; review the Security Audits panel on this page and limit connector scope to what you trust.
SKILL.md
READMESKILL.md - Update
# Update Command > If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md). Keep your task list and memory current. Two modes: - **Default:** Sync tasks from external tools, triage stale items, check memory for gaps - **`--comprehensive`:** Deep scan chat, email, calendar, docs — flag missed todos and suggest new memories ## Usage ```bash /productivity:update /productivity:update --comprehensive ``` ## Default Mode ### 1. Load Current State Read `TASKS.md` and `memory/` directory. If they don't exist, suggest `/productivity:start` first. ### 2. Sync Tasks from External Sources Check for available task sources: - **Project tracker** (e.g. Asana, Linear, Jira) (if MCP available) - **GitHub Issues** (if in a repo): `gh issue list --assignee=@me` If no sources are available, skip to Step 3. **Fetch tasks assigned to the user** (open/in-progress). Compare against TASKS.md: | External task | TASKS.md match? | Action | |---------------|-----------------|--------| | Found, not in TASKS.md | No match | Offer to add | | Found, already in TASKS.md | Match by title (fuzzy) | Skip | | In TASKS.md, not in external | No match | Flag as potentially stale | | Completed externally | In Active section | Offer to mark done | Present diff and let user decide what to add/complete. ### 3. Triage Stale Items Review Active tasks in TASKS.md and flag: - Tasks with due dates in the past - Tasks in Active for 30+ days - Tasks with no context (no person, no project) Present each for triage: Mark done? Reschedule? Move to Someday? ### 4. Decode Tasks for Memory Gaps For each task, attempt to decode all entities (people, projects, acronyms, tools, links): ``` Task: "Send PSR to Todd re: Phoenix blockers" Decode: - PSR → ✓ Pipeline Status Report (in glossary) - Todd → ✓ Todd Martinez (in people/) - Phoenix → ? Not in memory ``` Track what's fully decoded vs. what has gaps. ### 5. Fill Gaps Present unknown terms grouped: ``` I found terms in your tasks I don't have context for: 1. "Phoenix" (from: "Send PSR to Todd re: Phoenix blockers") → What's Phoenix? 2. "Maya" (from: "sync with Maya on API design") → Who is Maya? ``` Add answers to the appropriate memory files (people/, projects/, glossary.md). ### 6. Capture Enrichment Tasks often contain richer context than memory. Extract and update: - **Links** from tasks → add to project/people files - **Status changes** ("launch done") → update project status, demote from CLAUDE.md - **Relationships** ("Todd's sign-off on Maya's proposal") → cross-reference people - **Deadlines** → add to project files ### 7. Report ``` Update complete: - Tasks: +3 from project tracker (e.g. Asana), 1 completed, 2 triaged - Memory: 2 gaps filled, 1 project enriched - All tasks decoded ✓ ``` ## Comprehensive Mode (`--comprehensive`) Everything in Default Mode, plus a deep scan of recent activity. ### Extra Step: Scan Activity Sources Gather data from available MCP sources: - **Chat:** Search recent messages, read active channels - **Email:** Search sent messages - **Documents:** List recently touched docs - **Calendar:** List recent + upcoming events ### Extra Step: Flag Missed Todos Compare activity against TASKS.md. Surface action items that aren't tracked: ``` ## Possible Missing Tasks From your activity, these look like todos you haven't captured: 1. From chat (Jan 18): "I'll send the updated mockups by Friday" → Add to TASKS.md? 2. From meeting "Phoenix Standup" (Jan 17): You have a recurring meeting but no Phoenix tasks active → Anything needed here? 3