From radicle
Knowledge about Radicle Plan COBs (me.hdh.plan) - a custom Collaborative Object type for storing implementation plans in Radicle repositories. Use when working with rad-plan, plan COBs, or implementation planning in Radicle.
npx claudepluginhub deanh/rad-skill --plugin radicleThis skill uses the workspace's default tool permissions.
This skill provides knowledge about Plan COBs (`me.hdh.plan`) - a custom Collaborative Object type for storing implementation plans in Radicle repositories.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
This skill provides knowledge about Plan COBs (me.hdh.plan) - a custom Collaborative Object type for storing implementation plans in Radicle repositories.
Plan COBs are first-class collaborative objects that store implementation plans within Radicle repositories. They enable:
me.hdh.plan
Plans are stored under refs/cobs/me.hdh.plan/<PLAN-ID> in the Git repository.
A Plan COB contains:
| Field | Description |
|---|---|
title | Plan title |
description | Detailed plan description |
status | Draft, Approved, InProgress, Completed, Archived |
tasks[] | List of tasks with subject, description, estimate, affectedFiles, linkedCommit |
related_issues[] | Linked Radicle issue IDs |
related_patches[] | Linked Radicle patch IDs |
critical_files[] | Files the plan will modify |
labels[] | Plan labels |
assignees[] | Assigned DIDs |
discussion | Thread for comments |
Each task within a plan:
| Field | Description |
|---|---|
id | Unique task identifier |
subject | Task title |
description | Optional detailed description |
estimate | Time estimate (e.g., "2h", "1d") |
affectedFiles[] | Files this task modifies |
linkedCommit | Commit OID that completes this task (null if not done) |
blocked_by[] | IDs of blocking tasks |
linked_issue | If converted to a Radicle issue |
A task is done when linkedCommit is present. There is no mutable status field.
All commands accept short-form IDs (minimum 7 hex characters) for plans, tasks, issues, patches, and commits. Ambiguous prefixes produce a clear error.
Create a new plan:
rad-plan open "Plan title" --description "Description"
List all plans:
rad-plan list
rad-plan list --status in-progress
rad-plan list --all # Include archived
Show plan details:
rad-plan show <plan-id>
rad-plan show <plan-id> --json
Add a task:
rad-plan task add <plan-id> "Task subject" \
--description "Details" \
--estimate "4h" \
--files "src/auth.ts,src/middleware.ts"
Edit a task's details:
rad-plan task edit <plan-id> <task-id> --subject "Updated title"
rad-plan task edit <plan-id> <task-id> --description "New details"
rad-plan task edit <plan-id> <task-id> --estimate "6h"
rad-plan task edit <plan-id> <task-id> --files "src/client.rs,src/config.rs"
All flags are optional. Only provided fields are updated.
Link a task to its implementing commit (marks it done):
rad-plan task link-commit <plan-id> <task-id> --commit <commit-oid>
List tasks in a plan:
rad-plan task list <plan-id>
Remove a task from a plan:
rad-plan task remove <plan-id> <task-id>
Link a task to a Radicle issue:
rad-plan task link <plan-id> <task-id> --issue <issue-id>
Edit plan title or description:
rad-plan edit <plan-id> --title "New title"
rad-plan edit <plan-id> --description "New description"
Add a comment to a plan's discussion thread:
rad-plan comment <plan-id> "Comment text"
rad-plan comment <plan-id> "Reply text" --reply-to <comment-id>
Link to issues/patches:
rad-plan link <plan-id> --issue <issue-id>
rad-plan link <plan-id> --patch <patch-id>
Export plan:
rad-plan export <plan-id> --format md
rad-plan export <plan-id> --format json
These patterns let Claude handle ad-hoc plan operations via the rad-plan CLI. All commands accept short-form IDs (minimum 7 hex characters).
AskUserQuestion: title, description, labels (optional), initial tasks (optional), linked issue (optional)rad-plan open "<title>" --description "<description>" --labels "<labels>"
rad-plan task add <plan-id> "<task-subject>" \
--description "<description>" \
--estimate "<time-estimate>" \
--files "<file1>,<file2>"
rad-plan link <plan-id> --issue <issue-id>
rad sync --announce
rad-plan edit <plan-id> --title "New title"
rad-plan edit <plan-id> --description "Updated description"
rad-plan edit <plan-id> --title "New title" --description "Updated description"
rad-plan export abc1234 --format md
rad-plan export abc1234 --format json
rad-plan export abc1234 --format md --output plan.md
rad-plan status <plan-id> draft
rad-plan status <plan-id> approved
rad-plan status <plan-id> in-progress
rad-plan status <plan-id> completed
rad-plan status <plan-id> archived
rad-plan comment <plan-id> "Implementation note"
rad-plan comment <plan-id> "Reply to comment" --reply-to <comment-id>
After completing plan mode exploration, save as a Plan COB. The /rad-import command offers this interactively after task creation. The plan-manager agent handles the creation process.
Claude Code tasks created from plans include:
{
"radicle_plan_id": "abc123...",
"radicle_plan_task_id": "task-id...",
"radicle_issue_id": "def456...",
"source": "radicle"
}
Use /rad-sync to synchronize:
task link-commitlinkedCommit/rad-import abc123
After task creation, /rad-import offers to save as a Plan COB. This:
Complete tasks normally. Claude Code tracks progress locally.
/rad-sync
This links commits to Plan COB tasks, marking them done.
When all tasks have linkedCommit:
/rad-sync marks issue as solved| Action | Who Can Do It |
|---|---|
| Create plan | Any user |
| Edit plan | Author or delegate |
| Add/edit tasks | Author or delegate |
| Comment | Any user |
| Label/Assign | Delegates only |
Plans are the primary coordination layer for the multi-agent worktree workflow:
/rad-orchestrate <plan-id> (pi extension) — Automated dispatch loop that creates worktrees, spawns worker subagents, and manages the full plan lifecycleCLAIM task:<id>), signal file scope changes (SIGNAL task:<id> files-added:<paths>), and mark completion via task link-commit--no-ff (merge commits include task IDs for traceability)affectedFiles on each task — used for file conflict detection between parallel workersblocked_by — dependency ordering; a task is ready only when all dependencies have linkedCommitlinkedCommit — the sole indicator that a task is completeSee agents-cobs-worktrees.md for the full design and .pi/extensions/rad-orchestrator.ts for the implementation.
/rad-import — Import issues, optionally create plans (interactive plan-save prompt)/rad-sync — Sync task completion to issues and plans/rad-status — View repo state including plan progressThe Plan COB functionality requires:
radicle-plan-cob repositoryrad)# Clone and install rad-plan from Radicle
rad clone rad:z4L8L9ctRYn2bcPuUT4GRz7sggG1v
cd radicle-plan-cob
cargo install --path .
# Verify
rad-plan --version
The session-start hook automatically detects whether rad-plan is installed. If it is not found, the hook will display install instructions. All Plan COB features (plan save, plan sync) gracefully degrade when rad-plan is not available.