MCPInstall

superself

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.

Installs
1.5K
Last 24h
+27
Trending rank
#4720
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/wshobson/agents --skill superself
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads superself automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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.md or CLAUDE.md contains a block between <!-- superself:begin and <!-- superself:end -->, or self setup prints the workspace, project, and store this directory resolves to.
  • Skip the skill when self --version fails: the project does not use Superself, and nothing below should be invented by hand. This skill is written against superself@0.6.1; a different major or minor version may have moved a verb or flag, so check self <command> --help before relying on one.

Session start

  1. Run self context and 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.
  2. Something missing from context was placed out of the rendered set on purpose; self search <query> finds live records context left out, and self 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 — then self work start <id>. start reads 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 --proposed when 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 propose and its brief; the user accepts or declines it.
  • The user approved a next step or a continuation? Register it at once with self work add and 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. retract withdraws 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 setup first. If it resolves the directory to a registered project, ask the user once whether to run self connect, which writes the managed block into AGENTS.md or CLAUDE.md. If it resolves no project, ask once whether to register it with self 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 finish
  • self help context — what self context renders, and why something is missing from it
  • self help records — one entity behind every record kind, and how a record is corrected
  • self help placement — scope, priority and exposure — how a record earns its place in context
  • self help work — the work graph: outcomes, evidence, criteria, and proposals
  • self help goals — long-term goals, objectives, milestones, and what reaching one takes
  • self help workspace — the store, the projects in it, and moving it between machines

FAQ

What does the superself skill do?

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.

How do I install superself?

Run npx skills add https://github.com/wshobson/agents --skill superself in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/superself/ (personal) or .claude/skills/superself/ (project).

Which AI agents can use superself?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is superself safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains superself?

It is published by wshobson in wshobson/agents. It has 1,490 recorded installs.

More from wshobson/agents

View all →

Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.

tailwind-design-system

wshobson/agents

Build scalable design systems with Tailwind CSS v4, design tokens, component libraries, and responsive patterns. Use when creating component libraries, implementing design systems, or standardizing UI patterns.

Frontend & Design70.6K installs

Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices. Use when creating Node.js servers, REST APIs, GraphQL backends, or microservices architectures.

Backend & APIs48.8K installs

brand-landingpage

wshobson/agents

Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens — use frontend-design instead.

Frontend & Design39.6K installs

Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.

Testing & QA37.3K installs

Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving application performance.

Popular docs & writing skills

View category →

grill-with-docs

mattpocock/skills

A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

Docs & Writing1.2M installs

lark-markdown

open.feishu.cn

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

Docs & Writing778.7K installs

writing-beats

mattpocock/skills

Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.

Docs & Writing490.7K installs

writing-shape

mattpocock/skills

Writing, exploit: shape raw material into an article, paragraph by paragraph.

Docs & Writing490.2K installs

writing-fragments

mattpocock/skills

Writing, explore: mine raw fragments, no structure yet.

Docs & Writing489.6K installs

writing-for-agents

mattpocock/skills

Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.

Docs & Writing479.3K installs