Paul Smith

I've been maintaining a small patchset in a fork of Jesse Vincent's superpowers plugin for Claude Code and Codex for using it with jj instead of Git.

paulsmith/superpowers - jj-ified fork

Superpowers is a consolidation of effective patterns for developing software with coding agents. It's been refined over many iterations to get more reliable performance from agents, especially for tasks too complicated to do without planning.

Like most agent tooling, superpowers assumes Git and bakes in workflows around it. My patches replace Git for jj and translate all Git-related concepts to their equivalents in idiomatic jj. For example, it instructs on the use of jj workspaces instead of Git worktrees.

If you use jj for your repositories, give it a try.

Keeping the patchset maintained is a straightforward task. After fetching from the upstream, I make a new revision on the main@upstream bookmark (tracking the remote branch) and rebase the patches onto it. This usually yields conflicts, but they are easy to fix. Then I will scan for any new untranslated Git-related changes since the last update, and incorporate them if necessary. I eyeball all the patches. Finally, I advance the jjify bookmark and push to GitHub. I have jjify set as the default branch in GitHub, so it appears at the repo's main URL.

I've done this patchset maintenance enough times that it was time to make a skill. I've copied the skill to this gist.