A skill your agent uses when the user says 'update state', 'project state', 'where was I', or at session start to load current context.

MITAuto-check passed

Install State

skills CLI
$ npx skills add cwinvestments/memstack --skill state -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cwinvestments/memstack state --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cwinvestments/memstack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/state .claude/skills/state && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
state
GitHub stars
423
Token cost
~953 tokens
SKILL.md length
367 words
Files
1
Skills in repo
87
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the user says 'update state', 'project state', 'where was I', or at session start to load current context.

  • Works in 3 steps: Check for STATE.md in the current… → If found, read it and present a brief… → If not found, say: "No STATE.md exists…
  • The user says update state
  • SKILL.md covers Activation, Context Guard, Protocol and Deconfliction, plus 4 more sections
  • Calls git

What it does

State is an agent skill from cwinvestments/memstack. Use when the user says 'update state', 'project state', 'where was I', or at session start to load current context.

Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Structured skill framework for Claude Code. 130 skills, persistent memory, TokenStack compression, localhost dashboard with 3-agent runner, real-time streaming, MCP tools. The licence is MIT.

When your agent uses it

  • The user says update state
  • At session start to load current context

Example prompts

  • “update state”
  • “project state”
  • “where was I”
  • “/state”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Check for STATE.md in the current project's .claude/ directory
  2. If found, read it and present a brief summary
  3. If not found, say: "No STATE.md exists yet. I can create one after we start working."

What it can do on your machine

Read from SKILL.md and the folder at commit 00370ce. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

State loads about 953 tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 367 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~30
When it runs · the whole SKILL.md, loaded when a task matches
~953

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from cwinvestments/memstack at commit 00370ce, republished under its MIT licence (© cwinvestments). 367 words, ~953 tokens.

Download SKILL.mdSave it as .claude/skills/state/SKILL.md (or your agent's skills folder).
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

ContextStatusPriority
User says "update state", "save state", "project state"ACTIVE: update STATE.mdP1
User says "where was I", "where did I leave off"ACTIVE, read and present STATE.mdP1
User starts a session and STATE.md existsACTIVE, read silently, use as contextP2
User says "save diary" or "log session"DORMANT, Diary handles full session logsnone
User says "save project" or "handoff"DORMANT, Project skill handles lifecyclenone
User asks to recall past sessionsDORMANT, Echo handles historical recallnone

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:

    bash
    git status --short
  3. Write STATE.md to the project's .claude/ directory:

    markdown
    # 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.

Show full SKILL.md (127 more words)Show less

Deconfliction

SkillWhat it tracksWhen
StateCurrent snapshot, where you are right nowDuring session, living document
DiaryHistorical log, what you did in a sessionEnd of session, append-only
ProjectProject lifecycle, handoff between sessionsSession boundaries
WorkTask list, what needs to be doneWhen 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)

© cwinvestments, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/state of cwinvestments/memstack.

Open the folder on GitHubat commit 00370ce

More from cwinvestments/memstack

All 87 skills in this repo
  • Memstack SEO Site Audit

    cwinvestments/memstack

    A skill your agent uses when the user says 'SEO audit', 'site audit', 'check SEO', 'audit my site', 'SEO check', 'technical SEO', or is evaluating a website's search engine optimization health, meta…

    423 GitHub stars~3.5k tokensUpdated 13 days ago
    Auto-check passed
  • Memstack SEO Schema Markup

    cwinvestments/memstack

    A skill your agent uses when the user says 'add schema', 'schema markup', 'JSON-LD', 'structured data', 'rich results', 'rich snippets', or is adding or fixing schema.org structured data for better…

    423 GitHub stars~2.7k tokensUpdated 13 days ago
    Auto-check passed
  • Compress

    cwinvestments/memstack

    A skill your agent uses when the user says 'tokenstack', 'compression', 'token savings', 'proxy status', or asks about context window usage.

    423 GitHub stars~1.2k tokensUpdated 13 days ago
    Auto-check passed
  • Diary

    cwinvestments/memstack

    A skill your agent uses when the user says 'save diary', 'log session', 'wrapping up', or at end of a productive session.

    423 GitHub stars~5k tokensUpdated 13 days ago
    Auto-check passed
  • Echo

    cwinvestments/memstack

    A skill your agent uses when the user references past sessions, asks 'what did we do', 'do you remember', 'last session', 'recall', or 'continue from'.

    423 GitHub stars~1.7k tokensUpdated 13 days ago
    Auto-check passed
  • Familiar

    cwinvestments/memstack

    A skill your agent uses when the user says 'dispatch', 'send familiar', 'split task', or needs work split across parallel CC sessions.

    423 GitHub stars~556 tokensUpdated 13 days ago
    Auto-check passed

Questions about State

What does State do?

A skill your agent uses when the user says 'update state', 'project state', 'where was I', or at session start to load current context. State is an agent skill from cwinvestments/memstack. Use when the user says 'update state', 'project state', 'where was I', or at session start to load current context.

When should I use State?

State fits situations like: the user says update state; at session start to load current context.

How do I install State in Claude Code?

Run `npx skills add cwinvestments/memstack --skill state -a claude-code`. Or copy the skill folder (skills/state in cwinvestments/memstack) into .claude/skills/state in your project. Claude Code loads it when a task matches its description.

How do I install State in Codex?

Run `npx skills add cwinvestments/memstack --skill state -a codex`. Or copy the skill folder (skills/state in cwinvestments/memstack) into .agents/skills/state in your project. Codex loads it when a task matches its description.

Can I use State in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cwinvestments/memstack --skill state -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/state, .gemini/skills/state, .github/skills/state and .opencode/skills/state in your project.

What does State need to run?

Going by SKILL.md and its folder, State needs the command-line tools its instructions call (git).

Does State access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is State safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does State use?

State is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does State use?

About 953 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

Who maintains State?

cwinvestments (a GitHub user) maintains it in cwinvestments/memstack, which has 423 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on September 26, 2026.

Source: cwinvestments/memstack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.