superself
Enables your agent to remember previous work and pick up where it left off. It saves project context, ensuring work is continuous and productive across sessions.
What it does
This tool helps organize and track project progress. It records what's been decided, work done, and decisions made, ensuring work continues from where it left off next time.
When to use it
- ✓When your project uses Superself to manage its state.
- ✓If your project has a `<!-- superself:begin` block in `AGENTS.md` or `CLAUDE.md` files.
- ✓When the `self setup` command shows your project's information.
Example of what to ask your AI
“What's the progress on project X? What were the latest decisions?”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool reads the project's current state (goals, decisions, work) and allows you to add new tasks, record what's been done, and confirm decisions. Everything is saved in a history for future reference.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add wshobson/agents --skill superselfOr download just the file:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/superself/skills/superself/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Superself
Superself is an Apache-2.0 CLI (npm install -g superself@0.6.1, Node 22.12+) that
version-controls a project's state — goals, decisions, work units, reports —
as an append-only event log in a git repository separate from the code. The
state is derived on demand, so nothing in it is hand-maintained. This skill
tells an agent how to read and write that state through the self CLI. It is
maintained by the Superself authors: https://github.com/fxylabs/superself
When this skill applies
- The project's
AGENTS.mdorCLAUDE.mdcontains a block between<!-- superself:beginand<!-- superself:end -->, orself setupprints the workspace, project, and store this directory resolves to. - Skip the skill when
self --versionfails: the project does not use Superself, and nothing below should be invented by hand. This skill is written againstsuperself@0.6.1; a different major or minor version may have moved a verb or flag, so checkself <command> --helpbefore relying on one.
Session start
- Run
self contextand treat its output as current truth: the goal, active decisions and conventions, open work, recent reports. It is folded from the log, never written by hand. - Something missing from context was placed out of the rendered set on
purpose;
self search <query>finds live records context left out, andself work show <id>prints one unit's full brief and report history.
While working
- Substantive work attaches to a work unit. Create one with
self work add "<required outcome>"— the outcome is what must become true, not the task — thenself work start <id>.startreads the brief and records that this session picked the unit up; if another session holds it, the CLI says who and since when and does not refuse. Judge and proceed. - After committing, report progress:
self report <id> "<what happened>". The current HEAD commit is attached as evidence automatically;--evidence <commit|note>attaches something else,--file <path>attaches a longer brief. - Record a decision the user confirmed:
self decide "<text>" --why "<reason>". Use--proposedwhen the user has not confirmed it. One decision per event. - Blocked?
self work block <id> --on decision|dependency|external --why "...". Superseded or moved?self work retire <id> --why "..." [--successor <id>]. Never mark such a unit done, and never leave it falsely blocked. - Found a gap between an objective and the current state? Propose the work with
self work proposeand its brief; the user accepts or declines it. - The user approved a next step or a continuation? Register it at once with
self work addand the context behind it. A plan that lives only in the conversation is lost when the conversation ends.
Closing
self work done <id>closes a unit only when a report carries a commit or an artifact, or the done itself states what verifiably happened:self work done <id> --report "<what verifiably happened>". A bare claim is refused, and declared criteria gate it until each is covered.- A record's text is immutable once confirmed. Correct it by restating:
--supersedes <id>on any add verb records the new wording and keeps the lineage.retractwithdraws a record with nothing replacing it.
Rules that keep the state trustworthy
- Records — events, decisions, reports, conventions — are written in English so whoever opens them next can read them; answer the person in their own language.
- A branch reaches main through a pull request: PR review and CI own merge control. Superself owns context and the work graph, not the merge gate.
- Never hand-edit generated state files or anything under
.superself/. - In a project without a superself block, run
self setupfirst. If it resolves the directory to a registered project, ask the user once whether to runself connect, which writes the managed block intoAGENTS.mdorCLAUDE.md. If it resolves no project, ask once whether to register it withself project init. Never register or connect a project on your own.
Going deeper
self --help lists every verb; self <command> --help prints one command's
flags without touching state. Topic guides ship with the CLI:
self help agents— how a session drives this CLI, start to finishself help context— whatself contextrenders, and why something is missing from it
…
FAQ
What is Superself?
It's a tool that manages a project's state as an event log, separate from the project's code.
What if I don't have Superself installed?
If the `self --version` command fails, it means the project doesn't use Superself, and this tool should not be used.
Can I edit the state files manually?
No, never manually edit generated state files or anything within the `.superself/` folder to maintain the history's integrity.
Details
Original description by the author
Use when a project keeps its state in Superself (a `<!-- superself:begin` block in AGENTS.md or CLAUDE.md, or `self setup` resolves the directory to a registered project): read `self context` at session start, attach work to a work unit, report with evidence, and record confirmed decisions so the next session picks up where this one left off.
repo: wshobson/agents
Popularity
- GitHub stars
- 41k
- Ranking position
- #4964
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
screen-reader-testing
Has your agent test websites using screen readers to ensure they are accessible.
wshobson/agents
wcag-audit-patterns
Helps your agent audit websites for accessibility and fix issues according to WCAG guidelines.
wshobson/agents
multi-reviewer-patterns
Enables your agent to coordinate parallel code reviews, deduplicating findings and consolidating reports.
wshobson/agents
parallel-debugging
Allows the agent to debug complex issues with parallel investigations and root cause analysis.
wshobson/agents
Similar skills
carrier-relationship-management
Manages relationships with carriers. It helps negotiate freight rates, evaluate performance, and build transportation strategies.
affaan-m/ECC
cost-tracking
Tracks and reports agent token usage and costs. It's useful for efficiently controlling spending and budgets.
affaan-m/ECC
plan-canvas
Opens plans and artifacts in a browser window for you to comment on. It makes giving visual feedback on needed changes easier.
affaan-m/ECC