/update — Team State Sync
When this skill is triggered, perform ALL of the following steps:
Step 1: Review the conversation
Scan the current conversation for:
- Decisions made (technical, architectural, scope, business)
- New context learned (from documents, verbal context, or Q&A)
- Action items identified (including casual mentions like "we should also fix X", "don't forget to Y", "we'll need to Z eventually")
- User's knowledge growth (new concepts now understood)
- Open questions that still need answers
- Changes to project direction or priorities
- Completed work that may resolve existing action items
Step 2: Update memory files
For each relevant memory file in the memory directory:
- Read the current content
- Update with new information from this session
- If a new memory is needed (new topic not covered by existing files), create it
- Update MEMORY.md index if new files were created
Memory types to check:
user_[name]_profile.md — Did the user demonstrate new knowledge or preferences?
project_[name]_status.md — Did the project status, phase, or timeline change?
project_[stakeholder]_context.md — Did we learn anything new about a key stakeholder or their expectations?
project_technical_decisions_[phase].md — Were any technical decisions made or refined?
feedback_*.md — Did the user give any feedback on how the team should operate?
Step 3: Update Backlog (context/backlog/)
The backlog is one markdown file per item. See .claude/rules/backlog-protocol.md for the full discipline. During /update, perform ALL of the following:
3a: Capture new backlog items
Scan the conversation for work that needs doing:
- Explicit requests ("we need to build X")
- Casual mentions ("we should also fix Y", "eventually we'll want Z")
- Open questions needing follow-up
- Bugs discovered during the session
- Technical debt identified
- Follow-ups from code review or testing
For each new item:
- Copy
context/backlog/_template.md to context/backlog/<YYYY-MM-DD-slug>.md (slug is short kebab-case)
- Fill the frontmatter (status: Drafted to start, priority, type, owner, source, created, last_touched)
- Fill at minimum: Title, Business Why, Scope: Doing, Scope: Not Doing
- If Type=Feature/Bug/Refactor: query Graphify and fill Codebase Context
- If the user approved scope live in chat: bump status to Approved AND set
enrichment_status: enriched (only after all required fields are filled per backlog-protocol.md)
- Otherwise leave as Drafted and tell the user the new items need approval
3b: Update items worked on this session
For each item touched:
- Update
last_touched in frontmatter
- Add a Last Session Summary entry (newest on top) with what was done, file refs, and what's next
- If status changed (Approved → Building, Building → Verifying, etc.), update
status: in frontmatter
- If completed: status = Shipped, move file to
context/backlog/archive/
- If blocked mid-session: status = Blocked, add the blocker to Open Questions
3c: Resolve completions
- For items where the work is done, status = Shipped, move to
archive/
- Mention shipped items in STATUS.md
3d: Staleness flag
- Items with
last_touched older than 60 days get a one-line note: "Stale — review queue." No automatic move; the user decides whether to refresh, kill, or accept staleness
Step 4: Update STATUS.md
Read context/STATUS.md and update:
- Last updated date
- Current Status section if phase or timeline changed
- App Build Status table if any development work was done
- Engineering Team Decisions section if new decisions were made
- What's Coming Next section if priorities shifted
- Add any new sections needed
Step 5: Process inbox (if applicable)
Check context/inbox/ for unprocessed files. If any exist:
- Read and analyze each file
- Brief on contents
- Move to appropriate folder (requirements/, communications/, archive/*, etc.)
- Update STATUS.md with new information
- Extract any work items and draft them into
context/backlog/ (per Step 3a)
Step 6: Log decisions
If significant decisions were made this session, create or update files in context/decisions/ with:
- The decision
- Why it was made
- Who was involved
- Date
- Impact on the build
Step 7: Save to MemPalace (REQUIRED if installed)
There is no auto-mining — explicit calls during /update are the ONLY way memories persist across sessions. Skipping this step means the next session starts blind to anything important from this one.
First check availability: call mempalace_status. If it returns an error or "not configured", skip this step. If it returns OK, proceed:
For each significant item from this session, call mempalace_add_drawer with the appropriate room:
| Type of memory |
Room |
| Architectural decision (chose X over Y) |
decisions |
| User preference ("I always want X", "never do Y") |
preferences |
| Stakeholder constraint (deadline, requirement, scope limit) |
stakeholders |
| Bug discovered + root cause |
bugs |
| Feature scope decision (in/out, MVP cut) |
features |
| Performance optimization or bottleneck found |
performance |
| Security decision or compliance requirement |
security |
| Deployment / hosting / CI choice |
deployment |
| Database / pipeline / migration choice |
data |
| Anything else worth remembering |
architecture (catch-all) |
For each call:
agent_name: which team member is saving (e.g., "Sara", "Maya", "Jake")
entry: 2-3 sentences capturing the WHAT and WHY (not the how — that's in the code)
room: from the table above
Then for any structured fact-relationships worth indexing (e.g., "AuthMiddleware depends on JWT", "BillingService uses Stripe"), call mempalace_kg_add with subject/predicate/object.
Do NOT save: code snippets, command output, transient state, or anything already captured in STATUS.md or ADRs. MemPalace is for the "why" and "what was rejected" — not the "what is".
Step 8: Confirm
After updating, provide a brief summary:
- What was saved/updated
- Backlog: N new items drafted, N updated, N shipped, N total live
- Any open items that need attention next session
- Current project state in one sentence
When to trigger automatically
This skill should also run automatically (without being asked) when:
- A significant decision point is reached
- New context from inbox has been processed
- A build phase or milestone is completed
- The session is clearly winding down
- User says anything like "save this", "remember this", "update yourselves", "don't forget"
1---2name: update3description: Save all session decisions, conclusions, and context to memory and STATUS.md so the team stays current across instances. Use when you say /update, "save this", "update yourselves", or at the end of any significant session.4---56# /update — Team State Sync78When this skill is triggered, perform ALL of the following steps:910## Step 1: Review the conversation1112Scan the current conversation for:13- **Decisions made** (technical, architectural, scope, business)14- **New context learned** (from documents, verbal context, or Q&A)15- **Action items** identified (including casual mentions like "we should also fix X", "don't forget to Y", "we'll need to Z eventually")16- **User's knowledge growth** (new concepts now understood)17- **Open questions** that still need answers18- **Changes to project direction or priorities**19- **Completed work** that may resolve existing action items2021## Step 2: Update memory files2223For each relevant memory file in the memory directory:24- Read the current content25- Update with new information from this session26- If a new memory is needed (new topic not covered by existing files), create it27- Update MEMORY.md index if new files were created2829Memory types to check:30- `user_[name]_profile.md` — Did the user demonstrate new knowledge or preferences?31- `project_[name]_status.md` — Did the project status, phase, or timeline change?32- `project_[stakeholder]_context.md` — Did we learn anything new about a key stakeholder or their expectations?33- `project_technical_decisions_[phase].md` — Were any technical decisions made or refined?34- `feedback_*.md` — Did the user give any feedback on how the team should operate?3536## Step 3: Update Backlog (`context/backlog/`)3738The backlog is one markdown file per item. See `.claude/rules/backlog-protocol.md` for the full discipline. During `/update`, perform ALL of the following:3940### 3a: Capture new backlog items41Scan the conversation for work that needs doing:42- Explicit requests ("we need to build X")43- Casual mentions ("we should also fix Y", "eventually we'll want Z")44- Open questions needing follow-up45- Bugs discovered during the session46- Technical debt identified47- Follow-ups from code review or testing4849For each new item:501. Copy `context/backlog/_template.md` to `context/backlog/<YYYY-MM-DD-slug>.md` (slug is short kebab-case)512. Fill the frontmatter (status: Drafted to start, priority, type, owner, source, created, last_touched)523. Fill at minimum: Title, Business Why, Scope: Doing, Scope: Not Doing534. If Type=Feature/Bug/Refactor: query Graphify and fill Codebase Context545. If the user approved scope live in chat: bump status to Approved AND set `enrichment_status: enriched` (only after all required fields are filled per backlog-protocol.md)556. Otherwise leave as Drafted and tell the user the new items need approval5657### 3b: Update items worked on this session58For each item touched:59- Update `last_touched` in frontmatter60- Add a Last Session Summary entry (newest on top) with what was done, file refs, and what's next61- If status changed (Approved → Building, Building → Verifying, etc.), update `status:` in frontmatter62- If completed: status = Shipped, move file to `context/backlog/archive/`63- If blocked mid-session: status = Blocked, add the blocker to Open Questions6465### 3c: Resolve completions66- For items where the work is done, status = Shipped, move to `archive/`67- Mention shipped items in STATUS.md6869### 3d: Staleness flag70- Items with `last_touched` older than 60 days get a one-line note: "Stale — review queue." No automatic move; the user decides whether to refresh, kill, or accept staleness7172## Step 4: Update STATUS.md7374Read `context/STATUS.md` and update:75- **Last updated** date76- **Current Status** section if phase or timeline changed77- **App Build Status** table if any development work was done78- **Engineering Team Decisions** section if new decisions were made79- **What's Coming Next** section if priorities shifted80- Add any new sections needed8182## Step 5: Process inbox (if applicable)8384Check `context/inbox/` for unprocessed files. If any exist:85- Read and analyze each file86- Brief on contents87- Move to appropriate folder (requirements/, communications/, archive/*, etc.)88- Update STATUS.md with new information89- Extract any work items and draft them into `context/backlog/` (per Step 3a)9091## Step 6: Log decisions9293If significant decisions were made this session, create or update files in `context/decisions/` with:94- The decision95- Why it was made96- Who was involved97- Date98- Impact on the build99100## Step 7: Save to MemPalace (REQUIRED if installed)101102There is no auto-mining — explicit calls during `/update` are the ONLY way memories persist across sessions. Skipping this step means the next session starts blind to anything important from this one.103104First check availability: call `mempalace_status`. If it returns an error or "not configured", skip this step. If it returns OK, proceed:105106For each significant item from this session, call `mempalace_add_drawer` with the appropriate room:107108| Type of memory | Room |109|---|---|110| Architectural decision (chose X over Y) | `decisions` |111| User preference ("I always want X", "never do Y") | `preferences` |112| Stakeholder constraint (deadline, requirement, scope limit) | `stakeholders` |113| Bug discovered + root cause | `bugs` |114| Feature scope decision (in/out, MVP cut) | `features` |115| Performance optimization or bottleneck found | `performance` |116| Security decision or compliance requirement | `security` |117| Deployment / hosting / CI choice | `deployment` |118| Database / pipeline / migration choice | `data` |119| Anything else worth remembering | `architecture` (catch-all) |120121For each call:122- `agent_name`: which team member is saving (e.g., "Sara", "Maya", "Jake")123- `entry`: 2-3 sentences capturing the WHAT and WHY (not the how — that's in the code)124- `room`: from the table above125126Then for any structured fact-relationships worth indexing (e.g., "AuthMiddleware depends on JWT", "BillingService uses Stripe"), call `mempalace_kg_add` with subject/predicate/object.127128Do NOT save: code snippets, command output, transient state, or anything already captured in STATUS.md or ADRs. MemPalace is for the "why" and "what was rejected" — not the "what is".129130## Step 8: Confirm131132After updating, provide a brief summary:133- What was saved/updated134- **Backlog:** N new items drafted, N updated, N shipped, N total live135- Any open items that need attention next session136- Current project state in one sentence137138## When to trigger automatically139140This skill should also run automatically (without being asked) when:141- A significant decision point is reached142- New context from inbox has been processed143- A build phase or milestone is completed144- The session is clearly winding down145- User says anything like "save this", "remember this", "update yourselves", "don't forget"