From radicle
This skill should be used when the user asks to "initialize a radicle repo", "rad init", "create a patch", "open a patch", "rad patch", "clone from radicle", "rad clone", "work with radicle issues", "rad issue", "start radicle node", "rad node", "seed a repository", "sync with radicle", "push to radicle", "collaborate on radicle", or mentions RIDs, DIDs, patches, seeding, or peer-to-peer code collaboration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/radicle:radicleThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Radicle is a decentralized, peer-to-peer code collaboration protocol built on Git. It enables sovereign code hosting using cryptographic identities and a gossip-based network.
Radicle is a decentralized, peer-to-peer code collaboration protocol built on Git. It enables sovereign code hosting using cryptographic identities and a gossip-based network.
rad:z31hE1wco9132nedN3mm5qJjyotnadid:key:z6Mkhp7VU...| Task | Command |
|---|---|
| Check identity | rad self |
| Current repo RID | rad . |
| Node status | rad node status |
| Initialize repo | rad init --name "name" --description "desc" --public --no-confirm |
| Clone | rad clone rad:<RID> |
| Create patch | git push rad HEAD:refs/patches (set description with rad patch edit) |
| Update patch | git push --force (on patch branch) |
| List patches | rad patch list (also --all/--merged/--draft/--archived) |
| Show patch | rad patch show <PATCH_ID> (--patch to include diff) |
| Checkout patch | rad patch checkout <PATCH_ID> |
| Review patch | rad patch review <PATCH_ID> --accept / --reject |
| Merge patch | git checkout main && git merge <branch> && git push rad main |
| List issues | rad issue list (also --all/--closed/--solved/--assigned) |
| Open issue | rad issue open --title "title" --description "desc" --labels "bug ux" |
| Show issue | rad issue show <ISSUE_ID> |
| Comment on issue | rad issue comment <ISSUE_ID> --message "text" |
| Close issue | rad issue state <ISSUE_ID> --closed (also --open/--solved) |
| Label issue | rad issue label <ISSUE_ID> --add <label> / --delete <label> |
| Start node | rad node start |
| Sync | rad sync --announce |
| Fetch updates | rad sync --fetch |
| Add remote | rad remote add <NID> --name <alias> |
| Seed repo | rad seed rad:<RID> |
Prose flags (--description, --message, -m, --title) take multiline values via a quoted heredoc — no editor needed. Quote the delimiter ('EOF') so $ and backticks stay literal:
rad issue open --title "Title" --labels discussion --description "$(cat <<'EOF'
First paragraph.
- point one
EOF
)"
Patches are the exception: a patch's title/description can't ride on a git push option — push options must never contain a newline (git's protocol rejects them). Push to open the patch, then set the description with rad patch edit — its -m is an ordinary arg, so the heredoc works (first line = title, rest = body):
git push rad HEAD:refs/patches # opens the patch
rad patch edit <PATCH_ID> -m "$(cat <<'EOF'
Patch title
Body, independent of the commit message.
EOF
)"
Same -m "$(heredoc)" works for rad patch update/comment and rad patch review -m. For the commit-message-as-description alternative, see references/commands.md.
The real flags, so you don't guess or fall back to --help:
--state: rad issue list --closed, rad patch list --merged.--add/--delete (not --remove) for issue label, issue assign, patch label, patch assign.rad issue open takes --labels and --assignees (space-separated) at creation time.rad patch comment takes a REVISION_ID, not a patch ID.references/commands.md has the full verified flag list — read it instead of running rad <cmd> --help.
rad clone rad:<RID>git checkout -b feature-branchgit push rad HEAD:refs/patchesgit push --forcerad patch list to see open patchesrad patch show <ID> or rad patch checkout <ID>git checkout main && git merge <branch>git push rad main (marks patch as merged)rad init --privaterad id update --allow <DID> to grant accessrad id update --disallow <DID> to revokeIf the repo has a GitHub remote, push to both: git push rad main && git push github main. See references/github-mirror.md for automation setup.
Node not running: Run rad node start, then rad node status to verify.
Sync issues: Run rad sync --fetch then rad sync status.
Identity problems: Run rad self to check, rad auth to re-authenticate.
Node status symbols: ✓ connected, ! attempted, ✗ disconnected, ↗ outbound, ↘ inbound.
NAT/firewall: "Not configured to listen for inbound connections" is normal. The node still connects outbound and participates fully. Configure port forwarding for inbound.
rad --version # Check installation
rad self # Check identity
rad node status # Check node
If rad is not installed: https://radicle.xyz/install or curl -sSLf https://radicle.xyz/install | sh
If no identity: rad auth (or non-interactive: echo "" | rad auth --alias "name" --stdin)
npx claudepluginhub deanh/rad-skill --plugin radicleGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.