Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
One-shot pipeline turning a claude.ai/design link into a pull request: scaffold via /ork:design-import, stories and specs via /ork:cover, browser verification via /ork:expect, then open the PR.
$ npx skills add yonatangross/orchestkit --skill design-ship -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yonatangross/orchestkit design-ship --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/design-ship .claude/skills/design-ship && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "design-ship" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/design-ship into .claude/skills/design-ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-ship", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yonatangross/orchestkit/tree/main/src/skills/design-shipType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yonatangross/orchestkit --skill design-ship -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yonatangross/orchestkit design-ship --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/design-ship .agents/skills/design-ship && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "design-ship" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/design-ship into .agents/skills/design-ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-ship", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yonatangross/orchestkit --skill design-ship -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yonatangross/orchestkit design-ship --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/design-ship .cursor/skills/design-ship && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "design-ship" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/design-ship into .cursor/skills/design-ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-ship", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yonatangross/orchestkit.git --path src/skills/design-ship--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yonatangross/orchestkit --skill design-ship -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yonatangross/orchestkit design-ship --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/design-ship .gemini/skills/design-ship && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "design-ship" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/design-ship into .gemini/skills/design-ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-ship", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yonatangross/orchestkit design-shipInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yonatangross/orchestkit --skill design-ship -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/design-ship .github/skills/design-ship && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "design-ship" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/design-ship into .github/skills/design-ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-ship", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yonatangross/orchestkit --skill design-ship -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yonatangross/orchestkit design-ship --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/design-ship .opencode/skills/design-ship && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "design-ship" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/design-ship into .opencode/skills/design-ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-ship", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
design-shipOne-shot pipeline turning a claude.ai/design link into a pull request: scaffold via /ork:design-import, stories and specs via /ork:cover, browser verification via /ork:expect, then open the PR.
Design Ship is an agent skill from yonatangross/orchestkit. One-shot pipeline turning a claude.ai/design link into a pull request: scaffold via /ork:design-import, stories and specs via /ork:cover, browser verification via /ork:expect, then open the PR. Use when a design link should come back as a PR with no intermediate steps; if all you need is the components written to disk, run /ork:design-import instead.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Claude Code 2.1.277+. Requires: design-import skill, claude-design-orchestrator agent. Composes: cover, expect, create-pr.
It sits in Development, covering Pull requests. The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e4ff8d9. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGlobGrepBashWebFetchAskUserQuestionAgentTaskCreate…and 2 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python and bash).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
claude.aiFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Claude Code 2.1.277+. Requires: design-import skill, claude-design-orchestrator agent. Composes: cover, expect, create-pr.
From compatibility in the SKILL.md frontmatter.
Design Ship loads about 2.3k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 392 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, WebFetch, AskUserQuestion, Agent, TaskCreate, TaskUpdate, TaskLAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from yonatangross/orchestkit at commit e4ff8d9, republished under its MIT licence (© yonatangross). 392 words, ~2,294 tokens.
.claude/skills/design-ship/SKILL.md (or your agent's skills folder).One command: Claude Design handoff URL → reviewable GitHub PR.
design-ship https://claude.ai/design/abc123 # From handoff URL
design-ship /tmp/handoff-bundle.json # From local fileYou have a Claude Design handoff URL (or file) and want a PR opened against the current branch. No intermediate steps, no manual test generation, no manual PR drafting.
For just-the-import (no tests, no PR), use design-import instead.
Handoff bundle (URL or file)
│
▼
┌──────────────────────────────┐
│ 1. design-import │ Scaffold components, write provenance
│ (delegates to orchestrator │ Tokens reconciled
│ for parse + dedup) │ Components written or reused
└──────────┬───────────────────┘
│
▼
┌──────────────────────────────┐
│ 2. cover │ Storybook stories per new component
│ (Storybook + Playwright) │ Playwright E2E for new routes/views
└──────────┬───────────────────┘
│
▼
┌──────────────────────────────┐
│ 3. expect │ Diff-aware browser verification
│ (CDP + ARIA-tree-first) │ Screenshots saved for PR body
└──────────┬───────────────────┘
│
▼
┌──────────────────────────────┐
│ 4. create-pr │ PR opened with:
│ │ - Claude Design URL link
│ │ - Before/after screenshots
│ │ - Component scaffold list
│ │ - Coverage delta
│ │ - Label: claude-design
└──────────┬───────────────────┘
│
▼
┌──────────────────────────────┐
│ 5. UPDATE PROVENANCE │ Patch .claude/design-handoffs/<id>.json
│ │ with the opened PR number + URL
└──────────────────────────────┘Before starting the pipeline, verify the working tree is clean enough to ship:
status = Bash("git status --porcelain")
if status:
AskUserQuestion(questions=[{
"question": "Working tree has uncommitted changes. How to proceed?",
"header": "Pre-flight",
"options": [
{"label": "Commit them first", "description": "Run commit, then proceed with ship"},
{"label": "Stash and restore", "description": "Stash now, restore after PR opens"},
{"label": "Include in this PR", "description": "Risky — only if changes are related"},
{"label": "Cancel", "description": "Abort design-ship"}
],
"multiSelect": False
}])
current_branch = Bash("git branch --show-current")
if current_branch in ("main", "master", "dev"):
AskUserQuestion(questions=[{
"question": f"You're on {current_branch}. Create a feature branch?",
"header": "Branch",
"options": [
{"label": "Yes — feat/design-ship-<bundle-id>", "description": "Recommended"},
{"label": "Cancel", "description": "Switch branch yourself first"}
],
"multiSelect": False
}])Delegate to design-import with the bundle argument. Capture its output (the import manifest) — it includes the bundle_id, list of components written, and the provenance file path.
If import fails, stop. Do NOT proceed to test generation against partially-imported components.
Run cover scoped to the components written by phase 1:
component_paths = [c["path"] for c in import_result["components"] if c["decision"] != "reuse"]
Agent(
subagent_type="ork:test-generator",
description="Cover the freshly-imported components",
prompt=f"""Use the cover skill to generate tests for these components (scoped — do not regenerate suites for unrelated files):
{component_paths}
Tiers needed:
- Storybook stories per component (mandatory)
- Playwright E2E if any new route was registered (check src/app or src/pages)
- Unit tests if the components include non-trivial logic (skip for pure-presentation)
"""
)Run expect to do diff-aware browser verification. This produces the screenshots that go into the PR body:
Agent(
subagent_type="ork:expect-agent",
description="Diff-aware verification of imported components",
prompt=f"""Use the expect skill on the current diff.
Extra: capture before/after screenshots for each new component
and save them to .claude/design-handoffs/{bundle_id}/screenshots/.
These will be uploaded to the PR body.
If verification fails, do not block — report findings and continue.
Failures will surface in the PR review.
"""
)Use create-pr with a body templated from the bundle and verification results:
pr_body = f"""## Summary
Generated from Claude Design handoff: {bundle_url}
Bundle ID: `{bundle_id}` · Provenance: `.claude/design-handoffs/{bundle_id}.json`
## Components
| Decision | Component | Path |
|---|---|---|
{table_from(import_result['components'])}
## Tokens
- Added: {len(token_diff['added'])}
- Modified: {len(token_diff['modified'])}
- Conflicts (resolved): {len(token_diff['conflicts'])}
## Verification (`expect`)
{expect_summary}
## Coverage delta (`cover`)
{coverage_delta}
## Screenshots
{screenshot_table}
---
🤖 Opened by `design-ship` · Closes: (none — link issues manually)
"""
Bash(f"gh pr create --title '{pr_title}' --body @- <<< '{pr_body}' --label claude-design")Patch the provenance file with the opened PR number and URL:
provenance = Read(f".claude/design-handoffs/{bundle_id}.json")
provenance["pr"] = {"number": pr_number, "url": pr_url, "opened_at": now()}
Write(f".claude/design-handoffs/{bundle_id}.json", provenance)| Phase | Failure | Behavior |
|---|---|---|
| Pre-flight | Dirty tree, on main | AskUserQuestion, do not proceed silently |
| 1. Import | Schema deviation, token conflict | design-import already prompts; if user cancels, abort |
| 2. Cover | Test generation fails | Continue to expect — tests are recoverable in PR review |
| 3. Expect | Browser verification fails | Continue to PR — failures noted in PR body |
| 4. Create PR | gh not authenticated | Stop, surface auth error |
| 5. Provenance | File not writable | Warn but do not fail (PR is already open) |
| Skill | Role |
|---|---|
design-import | Phase 1 — scaffold components |
cover | Phase 2 — Storybook + Playwright |
expect | Phase 3 — diff-aware browser verification |
create-pr | Phase 4 — open PR with templated body |
remember / memory | Provenance updates |
| Concern | Owned by |
|---|---|
| Parsing bundles | claude-design-orchestrator agent (called by design-import) |
| Component dedup | Orchestrator agent (called by design-import) |
| Test execution (CI) | GitHub Actions — this skill only generates tests |
| Merging the PR | Human reviewer — never auto-merge |
design-ship. The reverse-path (live UI drift → refinement prompt for claude.ai/design) is tracked in M124 — Claude Design Drift Sync (Bet B): #1391 (PR hook), #1393 (design-iterate), #1395 (design-drift-detector agent).© yonatangross, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/skills/design-ship of yonatangross/orchestkit.
Open the folder on GitHubat commit e4ff8d9
Design Ship next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Design Ship this skillyonatangross/orchestkit | 292 | — | ~2.3k | Automated safety check: Notes | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Check PRonyx-dot-app/onyx | 32k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| PR Design DocOpenHands/OpenHands | 91k | — | ~2.4k | Automated safety check: Pass | MIT | |
| WooCommerce Code Reviewwoocommerce/woocommerce | 11k | 3 repos | ~1.1k | Automated safety check: Pass | Custom licence |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
woocommerce/woocommerce
Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.
payloadcms/payload
A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.
yonatangross/orchestkit
API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.
yonatangross/orchestkit
ADR templates in the Nygard format with context, decision, consequences, and alternatives.
yonatangross/orchestkit
Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.
yonatangross/orchestkit
Structured review processes, conventional comments, language-specific checklists, and feedback templates.
yonatangross/orchestkit
Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.
yonatangross/orchestkit
Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.
Categories
One-shot pipeline turning a claude.ai/design link into a pull request: scaffold via /ork:design-import, stories and specs via /ork:cover, browser verification via /ork:expect, then open the PR. Design Ship is an agent skill from yonatangross/orchestkit.ai/design link into a pull request: scaffold via /ork:design-import, stories and specs via /ork:cover, browser verification via /ork:expect, then open the PR.
Design Ship fits situations like: A design link should come back as a PR with no intermediate steps; all you need is the components written to disk; run /ork:design-import instead.
Run `npx skills add yonatangross/orchestkit --skill design-ship -a claude-code`. Or copy the skill folder (src/skills/design-ship in yonatangross/orchestkit) into .claude/skills/design-ship in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yonatangross/orchestkit --skill design-ship -a codex`. Or copy the skill folder (src/skills/design-ship in yonatangross/orchestkit) into .agents/skills/design-ship in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yonatangross/orchestkit --skill design-ship -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-ship, .gemini/skills/design-ship, .github/skills/design-ship and .opencode/skills/design-ship in your project.
SKILL.md names no scripts, command-line tools or credentials: Design Ship is instructions for the agent only. Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash, WebFetch, AskUserQuestion, Agent, TaskCreate, TaskUpdate, TaskList. Compatibility (from SKILL.md): Claude Code 2.1.277+. Requires: design-import skill, claude-design-orchestrator agent. Composes: cover, expect, create-pr..
SKILL.md names 1 domain. In commands or code: claude.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Design Ship is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Design Ship: Finishing a Development Branch (obra/superpowers, 297k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and PR Design Doc (OpenHands/OpenHands, 91k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 292 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 10, 2026.
Source: yonatangross/orchestkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.