Skip to content
Skill Authoring
Skill

/state

Use when the user says 'update state', 'project state', 'where was I', or at session start to load current context.

BOOST
From plugin
memstack
42587 skills2 commands4 hooks
Install
$ npx -y skills add cwinvestments/memstack --skill state --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/state

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when the user says 'update state', 'project state', 'where was I', or at session start to load current context.

SKILL.md

state.SKILL.md
name: state
description: "Use when the user says 'update state', 'project state', 'where was I', or at session start to load current context."
version: 1.0.0

📍 State: Updating Project State...

*Maintain a living document of where you are right now in a project.*

Activation

When this skill activates, output:

`📍 State: Updating project state...`

Then execute the protocol below.

Context Guard

| Context | Status | Priority | |---------|--------|----------| | **User says "update state", "save state", "project state"** | ACTIVE: update STATE.md | P1 | | **User says "where was I", "where did I leave off"** | ACTIVE, read and present STATE.md | P1 | | **User starts a session and STATE.md exists** | ACTIVE, read silently, use as context | P2 | | **User says "save diary" or "log session"** | DORMANT, Diary handles full session logs | none | | **User says "save project" or "handoff"** | DORMANT, Project skill handles lifecycle | none | | **User asks to recall past sessions** | DORMANT, Echo handles historical recall | none |

Protocol

Reading State (session start or "where was I")

1. **Check for STATE.md** in the current project's `.claude/` directory:

   {project_dir}/.claude/STATE.md

2. If found, read it and present a brief summary:

  • What was being worked on
  • Any blockers
  • The immediate next step

3. If not found, say: "No STATE.md exists yet. I can create one after we start working."

Writing/Updating State

1. **Gather current state:**

  • What task/phase is actively being worked on right now
  • Decisions made during this session (with rationale)
  • Open blockers or unanswered questions
  • Explicit next steps (not vague, specific enough to resume cold)
  • Key files modified recently

2. **Check git status** for uncommitted work:

   git status --short

3. **Write STATE.md** to the project's `.claude/` directory:

   # Project State
   *Last updated: {YYYY-MM-DD HH:MM}*

   ## Currently Working On
   {Active task or phase: be specific}

   ## Decisions Made
   - {Decision}: {Rationale}

   ## Blockers
   - [ ] {Blocker description}

   ## Next Steps
   1. {Immediate next action, specific enough to start cold}
   2. {Following action}

   ## Recently Modified Files
   - {file path}: {what changed}

   ## Uncommitted Changes
   {List any unstaged/uncommitted work, or "None: clean working tree"}

4. **Confirm** with a brief summary of what was saved.

Deconfliction

| Skill | What it tracks | When | |-------|---------------|------| | **State** | Current snapshot, where you are *right now* | During session, living document | | **Diary** | Historical log, what you *did* in a session | End of session, append-only | | **Project** | Project lifecycle, handoff between sessions | Session boundaries | | **Work** | Task list, what *needs to be done* | When planning/tracking todos |

State is the **present tense** complement to Diary's **past tense**. State tells you where to resume; Diary tells you what happened.

Inputs

  • Current working context (project, files, git status)
  • User's description of current state (or auto-detected from session)

Outputs

  • `{project_dir}/.claude/STATE.md`: updated living document
  • Brief confirmation summary

Example Usage

**User:** "update state"

📍 State: Updating project state...

Saved: C:\Projects\AdminStack\.claude\STATE.md

Currently: Building CC Monitor notification system
Blockers: None
Next: Wire up WebSocket events to notification dropdown

This will auto-load next session for seamless pickup.

Level History

  • **Lv.1**: Base: Living STATE.md creation and update protocol. Read via Work Step 0 or manual invocation. Deconfliction with Diary/Project/Work. (Origin: MemStack v3.1, Feb 2026)
Read more
Ships withmemstack

The structured skill framework for Claude Code: 131 professional skills for deployment, security, databases, content, marketing, and more. Skills activate automatically when you need them. Say "deploy this to Railway" and the right skill loads on demand.

Get the whole plugin

Other skills on memstack.