ship
Full deployment flow — auto-detects state, runs check/review/commit/PR/CodeRabbit iteration/merge/release. Smart direct-to-master vs PR detection.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Full deployment flow — auto-detects state, runs check/review/commit/PR/CodeRabbit iteration/merge/release. Smart direct-to-master vs PR detection.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Read and write the second brain — a git-backed Obsidian vault at ~/SourceRoot/brain (PARA structure + a top-level wiki/ knowledge tree). Use whenever the user mentions "brain", "second brain", "knowledge base", "note", "remember", "look up", "find note", "capture", "wiki", or "okf". Also use for any request to save, retrieve, or organize personal knowledge that belongs in the brain rather than in a repo-specific doc.
Write, draft, and polish prose through a human-owned 7-step pipeline. Use whenever the user says "distill", "write article", "draft", "summarize into", "create content", "synthesize", or "publish". Also use for any task where the output is a piece of long-form writing — the pipeline keeps prose quality out of coding sessions.
RETIRED — manage the (now decommissioned) per-machine mlx-audio TTS/STT stack; TTS/STT moved to the cloud audio-gateway (VPS)
Operate the Mac mini remote dev host — connecting from the MacBook over mosh or herdr --remote, running and reattaching many Claude Code agents, herdr workspaces/panes and its socket API, claude --bg durable daemons, the Uptime Kuma readiness heartbeat, and the failure modes specific to a headless always-on Mac. Use when the user mentions herdr, mosh, the mini, "remote dev", "dev host", detaching or reattaching agents, "did my agent survive", sessions dying on lid-close, or asks how to reach a dev server running on the mini.
Manage the personal image stack — public CDN uploads/transform URLs and the private image-share layer. Use whenever an image needs a URL (public or private) for an article, blog post, vault note, README, OpenGraph tag, or a one-off share; or when the user says "upload this image", "share this image", "private image", "publish image", "host this screenshot", "get me a CDN link", "resize this", mentions "image-share", or asks where an image lives.
Bidirectionally sync ALL git repos across two machines — this MacBook and the always-on Mac mini — over SSH, using GitHub/GitLab as the transport. Commits and pushes uncommitted work on both sides, then rebases/fast-forwards each so they converge, with per-repo subagents resolving rebases and merge conflicts. This is a MULTI-repo, TWO-machine operation — distinct from /commit, /ship, or /git-cleanup, which act on a single repo. Use whenever the user wants to sync their machines/repos, "catch up" the laptop to the Mac mini or push laptop work back, is about to travel or just got back, has uncommitted work scattered across many repos, or wants to reconcile branches that diverged between the two machines. Trigger even on a bare "sync", "sync my machines", or "get my repos up to date".
| name | ship |
| description | Full deployment flow — auto-detects state, runs check/review/commit/PR/CodeRabbit iteration/merge/release. Smart direct-to-master vs PR detection. |
Smart skill that detects current git/PR state and runs the appropriate steps to get code shipped.
Run these checks in order to determine where we are:
# 1. Any uncommitted changes?
git status --porcelain
# 2. Current branch
git rev-parse --abbrev-ref HEAD
# 3. Commits ahead of remote
git log @{u}..HEAD --oneline 2>/dev/null
# 4. Existing PR for this branch
gh pr view --json state,statusCheckRollup,reviews,url 2>/dev/null
Every SourceRoot repo ships direct-to-master unless it's on the PR-required list. That list is a single source of truth in config/pr-required-repos.json (symlinked to ~/.claude/pr-required-repos.json), shared by hooks/protect-branches.ts and scripts/github-config.sh. If unsure whether a repo is PR-required, read that file rather than trusting the snapshot below.
/check (skip for homelab, homelab-private, vps, dotfiles — config/infra repos with no lint/typecheck)/commit (if uncommitted changes)git pushUse the PR flow when either of the following is true:
config/pr-required-repos.json (snapshot: basalt-ui (NPM published), free-planning-poker, rollhook, rollhook-action).~/IuRoot/ (work repos; default branch is main).
Based on detected state, pick up from the right step:Step 1 — Uncommitted changes exist:
/check/commitStep 2 — Committed but no PR:
/review (CodeRabbit CLI + Claude review)git reset --soft HEAD~1 && git commit --amend)/git-cleanup if ≥3 commits on branch/pr createStep 3 — PR exists, awaiting review:
/pr status to check CI + CodeRabbitStep 4 — CodeRabbit iteration:
sleep 60 then re-check CI/CodeRabbit, or use the /loop skill (/loop 1m /pr status) to poll continuouslyStep 5 — PR approved + CI green:
/pr mergeStep 6 — Merged, release:
release.yml, deploy.yml), package.json release scripts--auto flag)gh run watchAlways ask the user when:
/review found architectural concerns (not just style)/check — it must pass before any commit