Superself
Skill 171 of 183
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…
3 minutes · 639 words · 6 sections
Install
npx skills add wshobson/agents --skill superselfnpx skills add wshobson/agents/plugin marketplace add wshobson/agentsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
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 (opens in a new tab)
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.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.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.self search <query> finds live records context left out, and
self work show <id> prints one unit’s full brief and report history.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.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.self decide "<text>" --why "<reason>".
Use --proposed when the user has not confirmed it. One decision per event.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.self work propose and its brief; the user accepts or declines it.self work add and the context behind it. A plan that lives only in the
conversation is lost when the conversation ends.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.--supersedes <id> on any add verb records the new wording and keeps the
lineage. retract withdraws a record with nothing replacing it..superself/.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.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 — what self context renders, and why something is missing from itself help records — one entity behind every record kind, and how a record is correctedself help placement — scope, priority and exposure — how a record earns its place in contextself help work — the work graph: outcomes, evidence, criteria, and proposalsself help goals — long-term goals, objectives, milestones, and what reaching one takesself help workspace — the store, the projects in it, and moving it between machinesUse 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.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 21 September 2026.SKILL.md, not by matching a directory convention. 51 distinct layouts observed: plugins/accessibility-compliance/skills/*/SKILL.md, plugins/agent-teams/skills/*/SKILL.md, plugins/api-scaffolding/skills/*/SKILL.md, plugins/avoid-ai-writing/skills/*/SKILL.md, plugins/backend-development/skills/*/SKILL.md, plugins/before-you-build/skills/*/SKILL.md, plugins/block-no-verify/skills/*/SKILL.md, plugins/blockchain-web3/skills/*/SKILL.md, plugins/brand-landingpage/skills/*/SKILL.md, plugins/business-analytics/skills/*/SKILL.md, plugins/cicd-automation/skills/*/SKILL.md, plugins/cloud-infrastructure/skills/*/SKILL.md, plugins/conductor/skills/*/SKILL.md, plugins/data-engineering/skills/*/SKILL.md, plugins/database-design/skills/*/SKILL.md, plugins/developer-essentials/skills/*/SKILL.md, plugins/dgx-spark-ops/skills/*/SKILL.md, plugins/documentation-generation/skills/*/SKILL.md, plugins/documentation-standards/skills/*/SKILL.md, plugins/dotnet-contribution/skills/*/SKILL.md, plugins/file-conversion/skills/*/SKILL.md, plugins/framework-migration/skills/*/SKILL.md, plugins/frontend-mobile-development/skills/*/SKILL.md, plugins/game-development/skills/*/SKILL.md, plugins/hermes-tweet/skills/*/SKILL.md, plugins/hr-legal-compliance/skills/*/SKILL.md, plugins/incident-response/skills/*/SKILL.md, plugins/javascript-typescript/skills/*/SKILL.md, plugins/kubernetes-operations/skills/*/SKILL.md, plugins/llm-application-dev/skills/*/SKILL.md, plugins/llm-finetuning/skills/*/SKILL.md, plugins/machine-learning-ops/skills/*/SKILL.md, plugins/observability-monitoring/skills/*/SKILL.md, plugins/payment-processing/skills/*/SKILL.md, plugins/plugin-eval/skills/*/SKILL.md, plugins/pptx-deck-creation/skills/*/SKILL.md, plugins/protect-mcp/skills/*/SKILL.md, plugins/python-development/skills/*/SKILL.md, plugins/quantitative-trading/skills/*/SKILL.md, plugins/reverse-engineering/skills/*/SKILL.md, plugins/review-agent-governance/skills/*/SKILL.md, plugins/security-scanning/skills/*/SKILL.md, plugins/shell-scripting/skills/*/SKILL.md, plugins/ship-mate/skills/*/SKILL.md, plugins/signed-audit-trails/skills/*/SKILL.md, plugins/skill-forge-essentials/skills/*/SKILL.md, plugins/social-publishing/skills/*/SKILL.md, plugins/startup-business-analyst/skills/*/SKILL.md, plugins/superself/skills/*/SKILL.md, plugins/systems-programming/skills/*/SKILL.md, plugins/ui-design/skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Seth Hobson, declaring 94 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./wshobson/agents.md, and each skill at its own .md URL.