ship

Commits, pushes, and opens pull requests with Conventional Commits and review triggers.

3|Updated Apr 8, 2025
One-click install
npx skills add https://github.com/ZanzyTHEbar/dragonarchy --skill ship-zanzythebar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ship
Source: https://github.com/ZanzyTHEbar/dragonarchy/tree/main/packages/opencode/.config/opencode/skills/ship
Command: npx skills add https://github.com/ZanzyTHEbar/dragonarchy --skill ship-zanzythebar

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Manually committing, pushing, and creating pull requests involves repetitive git commands, inconsistent commit messages, forgotten validation steps, and duplicate PRs. This Skill automates the entire ship workflow with enforced conventions and safety checks. ## Core Features & Use Cases - Atomic Staging & Conventional Commits: Stages only files belonging to one reviewable unit and writes standardized commit messages, excluding secrets and unrelated changes. - Safe Push & PR Deduplication: Derives remotes and base branches dynamically, refuses force-pushes, and reuses existing PRs for the same branch instead of creating duplicates. - Stacked PR & Review Integration: Detects jj-based stacked PR tools (jjpr, jj-spr, jj-stack) and triggers an opencode review comment on the resulting PR. - Use Case: After finishing a feature branch, tell the assistant to ship it; it runs tests, commits with a Conventional Commit message, pushes to the correct remote, opens a PR with a summary and validation results, and requests an automated review. ## Quick Start Ask the assistant to ship the current changes by committing, pushing, and opening a pull request for this branch.

Frequently Asked Questions about ship

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I commit, push, and create a pull request in one step?

Invoke the ship workflow with a request like "ship it" or "commit push pr". It inspects repo state, runs validation, stages atomic changes, commits with a Conventional Commit message, pushes to the derived remote, and opens or reuses a PR.

How does the skill avoid creating duplicate pull requests?

It queries open PRs for the current branch using gh pr list filtered by head branch before creating anything. If a PR already exists for that branch, it reuses the existing PR instead of opening a new one.

Does this workflow support jj (Jujutsu) stacked pull requests?

Yes, it prefers jj for local inspection when available and detects stacked PR tools in order: jjpr, jj-spr, then jj-stack. If no companion CLI exists, it falls back to standard gh PR creation and reports that stacked automation was unavailable.

Can it force-push or rewrite git history?

No, force-pushing and rewriting public history are explicitly forbidden. If the branch requires a history rewrite, the workflow stops and asks for explicit user approval before proceeding.

What happens if tests or validation fail before committing?

The workflow aborts immediately and reports the exact failing commands and results. It only proceeds despite failures if the user explicitly asks to ship with known failures.

What if the gh CLI is not authenticated?

The workflow stops and tells the user the exact failing command. It does not attempt to guess credentials or work around authentication problems.