Skip to content

sudo-labs-uk/sudo-skills

unversioned · 730f0f30b536MIT

A curated product workflow with planning, implementation, review, verification, release and prose skills.

sudo

What sudo is built on: a grafted tree. The stack it assumes is the soil, a pinned copy of a skill flow is the rootstock, five third-party skills are grafted onto it, sudo's carried and separately referenced skills grow in the canopy, and a dashed arrow marks the planned fork sync.

sudo holds the skills three agents use for product work. Claude Code loads them as the sudo-skills plugin, so every skill runs as /sudo-skills:<name>. The OpenClaw gateway reads this directory directly. A change merged into main reaches gateway agents in their next session, and Claude Code sessions once the plugin updates.

Any agent running a sudo skill can propose a change to it. The improve-skill skill turns a lesson from a session into a pull request against main, made in a fresh clone so neither the plugin cache nor the gateway's checkout is edited in place. A change reaches the agents once the maintainer merges it.

Matt Pocock's skill flow is the rootstock, copied at a pinned upstream commit. Five skills from other makers are grafted onto it and keep their own licences. sudo's own skills are the new growth at the top. The stack sudo assumes is the ground. A fork and a reviewed upstream-sync command are planned; the diagram marks that path as planned rather than shipped.

Install

Claude Code

sudo-skills is one of the plugins in the sudo marketplace, a catalog kept in sudo-labs-uk/sudo-marketplace:

claude plugin marketplace add sudo-labs-uk/sudo-marketplace
claude plugin install sudo-skills@sudo

The plugin carries no version number, so each commit on main counts as a release. claude plugin update sudo-skills@sudo fetches the latest one, and turning on auto-update for the sudo marketplace in /plugin does the same in the background. To try an edit before it merges, start a session with claude --plugin-dir pointing at your checkout.

Block separately installed copies of sudo's skills with a Skill(...) deny rule, such as humanizer, Compound Engineering's ce-noslop (sudo's no-slop), or a Matt Pocock plugin's tdd, code-review and pr. Otherwise both copies sit side by side under different prefixes.

OpenClaw

node bin/sudo-skills.mjs install --dry-run   # report, write nothing
node bin/sudo-skills.mjs install             # the OpenClaw gateway
node bin/sudo-skills.mjs status              # what is installed where

The installer writes one load path pointing at this checkout into the gateway config, and one entry listing the agents. That single entry gives the skills to every listed agent, so the installer writes nothing into any agent workspace.

The installer changes nothing when run a second time and reports that result. It creates a dated backup beside any file it edits and changes only the keys it owns. Every other plugin's entry, every other load path and its position, and any disabled sudo entry all survive. It stops if it cannot parse the gateway config.

Passing --agents sets which agents the entry is for. A plain re-run keeps whatever list is already there and cannot widen one that was narrowed. The installer writes the gateway config as two-space JSON, so a config in another layout comes back reindented.

The skills

Ten come from Matt Pocock's set (MIT): grill-with-docs and the two skills it calls, grilling and domain-modeling, plus to-spec, to-tickets, implement-spec, tdd and the codebase-design vocabulary it calls, code-review and pr. sudo's copies write specs to Linear and open tickets as GitHub issues that reference the spec, and they ask the user one question at a time.

Five are copied from other makers. design-is and pathfinder come from claude-mem (Apache-2.0), show-me from HumanLayer (MIT). Two more cover prose: humanizer (MIT) removes AI writing patterns from a draft, and no-slop (MIT) tests each sentence for clarity. The planned product-work sequence will require both passes before a spec, ticket, PR body or repository document is published. Each skill's UPSTREAM.md lists what sudo changed, if anything.

Six are sudo's own. ask sets how every skill puts a question to the user: one question per turn, through AskUserQuestion in Claude Code and numbered buttons on Telegram. sudo-setup configures a repo's Linear team and GitHub repo once, verify drives the running app and screenshots what a user sees, audit checks a finished change against its ticket's acceptance criteria from a fresh session, cut-release tags and publishes, and improve-skill turns a lesson about any of these skills into a pull request on this repo.

Impeccable, agent-problem-solving and cairn are installed separately. See docs/referenced-plugins.md for the reason in each case.

Vendored work

Every vendored skill directory carries its upstream licence and an UPSTREAM.md naming the repo, the path, the commit it was taken at, and what sudo changed. The two Apache-2.0 skills also carry the upstream NOTICE. The ten Pocock skill directories record the commit that a future fork will use as its merge base.

Tests

npm test

The tests check that the plugin manifest names sudo-skills with no pinned version, that the installer writes no Claude Code skills, and that a second run and a dry run both write nothing. They also check what the installer must preserve: another plugin's entry and load-path order survive with a backup beside the file, a disabled entry stays disabled, an agent filter survives a plain re-run, and a symlink config stays a symlink. An unparseable config stops the install before any write. The command-line flags have their own tests; a mistyped --dry-run must stop the run rather than installing. A provenance test checks that every known vendored skill carries its licence and upstream record, including the two Apache notices.