PR Finalize Review
microsoft/garnet
Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.
A skill your agent uses when the user wants to commit, push, and open a pull request for the current changes.
$ npx skills add 2SSK/dot-files --skill ship -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 2SSK/dot-files 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/2SSK/dot-files.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ship .claude/skills/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 "ship" agent skill from https://github.com/2SSK/dot-files/tree/main/.claude/skills/ship into .claude/skills/ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/2SSK/dot-files/tree/main/.claude/skills/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 2SSK/dot-files --skill ship -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 2SSK/dot-files ship --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/2SSK/dot-files.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ship .agents/skills/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 "ship" agent skill from https://github.com/2SSK/dot-files/tree/main/.claude/skills/ship into .agents/skills/ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 2SSK/dot-files --skill ship -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 2SSK/dot-files ship --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/2SSK/dot-files.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ship .cursor/skills/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 "ship" agent skill from https://github.com/2SSK/dot-files/tree/main/.claude/skills/ship into .cursor/skills/ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/2SSK/dot-files.git --path .claude/skills/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 2SSK/dot-files --skill ship -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 2SSK/dot-files ship --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/2SSK/dot-files.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ship .gemini/skills/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 "ship" agent skill from https://github.com/2SSK/dot-files/tree/main/.claude/skills/ship into .gemini/skills/ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 2SSK/dot-files 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 2SSK/dot-files --skill ship -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/2SSK/dot-files.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ship .github/skills/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 "ship" agent skill from https://github.com/2SSK/dot-files/tree/main/.claude/skills/ship into .github/skills/ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 2SSK/dot-files --skill 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 2SSK/dot-files ship --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/2SSK/dot-files.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ship .opencode/skills/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 "ship" agent skill from https://github.com/2SSK/dot-files/tree/main/.claude/skills/ship into .opencode/skills/ship/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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.
shipA skill your agent uses when the user wants to commit, push, and open a pull request for the current changes.
Ship is an agent skill from 2SSK/dot-files. Use when the user wants to commit, push, and open a pull request for the current changes. Stages relevant files, writes a descriptive commit message, pushes the branch, opens a PR against main, and posts an /oc review comment so opencode automatically reviews and approves if ready.
Its SKILL.md is about 810 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Commit messages and Pull requests. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5cab3b1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghgonpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, gh and npm, which can reach the network depending on how they are called.
From 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.
Ship loads about 808 tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 342 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.
le that looks like it contains secrets (`.env`, `credentials.*`, etc.)- **Never commit** `.env`, secrets, or credential files — warn the user if they're stagedAutomated 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 2SSK/dot-files at commit 5cab3b1, republished under its MIT licence (© 2SSK). 342 words, ~808 tokens.
.claude/skills/ship/SKILL.md (or your agent's skills folder).Commits staged changes, pushes the branch, opens a PR, and triggers an automated opencode review.
Invoke this skill when the user says things like:
Follow these steps in order, stopping and reporting any errors immediately.
Run these in parallel:
git status
git diff
git log --oneline -5
git remote -vUse the output to understand: what branch we're on, what's changed, what the recent commit style looks like, and what the remote is.
git fetch origin
git rebase origin/mainIf there are conflicts, resolve them (keeping both sides where appropriate), then continue the rebase. Do NOT skip this step.
Stage all changed/new files that are relevant to the work. Explicitly exclude:
.DS_Store*.db, *.db-shm, *.db-wal.env, credentials.*, etc.)git add <relevant files>
git status # verify staging looks rightWrite a commit message that:
feat:, fix:, ci:, docs:, refactor:)git loggit commit -m "<message>"If the branch has no upstream yet:
git push -u origin <branch>Otherwise:
git pushUse the gh CLI to create a PR targeting main:
gh pr create \
--title "<concise title matching commit subject>" \
--body "$(cat <<'EOF'
## Summary
<2-4 bullet points describing what changed and why>
## Notes
<any reviewer context, migration steps, known limitations — omit section if none>
EOF
)" \
--base mainCapture the PR URL from the output.
Post the review comment on the PR so the opencode GitHub Action picks it up:
gh pr comment <PR number> --body "/oc please review this PR and approve if you find it ready to merge"Tell the user:
main or master.env, secrets, or credential files — warn the user if they're stagedorigin/main before pushing to minimise conflictsgh is not authenticated, tell the user to run gh auth login firstgo build ./..., npm test), run them before committing and abort if they fail© 2SSK, 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 .claude/skills/ship of 2SSK/dot-files.
Open the folder on GitHubat commit 5cab3b1
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 |
|---|---|---|---|---|---|---|
| Ship this skill2SSK/dot-files | 247 | — | ~808 | Automated safety check: Notes | MIT | |
| PR Finalize Reviewmicrosoft/garnet | 12k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT | |
| React Router Pull Request Creatorremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Emoji Commit ConventionsbaptisteArno/typebot.io | 11k | — | ~424 | Automated safety check: Pass | Custom licence |
microsoft/garnet
Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
remix-run/react-router
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
baptisteArno/typebot.io
Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.
superplanehq/superplane
Write Git commit messages and pull request titles/descriptions using the Chris Beams / Tim Pope conventions (subject/body split, ~50-char subject, imperative mood, why-not-how body) plus ASD-STE100…
2SSK/dot-files
C++ development best practices. An agent skill from 2SSK/dot-files.
2SSK/dot-files
Docker and container best practices. An agent skill from 2SSK/dot-files.
2SSK/dot-files
Go development best practices. An agent skill from 2SSK/dot-files.
2SSK/dot-files
Observability best practices. An agent skill from 2SSK/dot-files.
2SSK/dot-files
React Native development. An agent skill from 2SSK/dot-files.
2SSK/dot-files
Test-Driven Development workflow. An agent skill from 2SSK/dot-files.
Categories
A skill your agent uses when the user wants to commit, push, and open a pull request for the current changes. Ship is an agent skill from 2SSK/dot-files. Use when the user wants to commit, push, and open a pull request for the current changes.
Ship fits situations like: the user wants to commit; open a pull request for the current changes.
Run `npx skills add 2SSK/dot-files --skill ship -a claude-code`. Or copy the skill folder (.claude/skills/ship in 2SSK/dot-files) into .claude/skills/ship in your project. Claude Code loads it when a task matches its description.
Run `npx skills add 2SSK/dot-files --skill ship -a codex`. Or copy the skill folder (.claude/skills/ship in 2SSK/dot-files) into .agents/skills/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 2SSK/dot-files --skill 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/ship, .gemini/skills/ship, .github/skills/ship and .opencode/skills/ship in your project.
Going by SKILL.md and its folder, Ship needs the command-line tools its instructions call (git, gh, go and npm).
SKILL.md contains no URLs. Its commands use git, gh and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Ship is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 808 tokens (SKILL.md is roughly 3.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 Ship: PR Finalize Review (microsoft/garnet, 12k stars), Git Workflow and Versioning (addyosmani/agent-skills, 102k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars) and Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
2SSK (a GitHub user) maintains it in 2SSK/dot-files, which has 247 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 12, 2026.
Source: 2SSK/dot-files on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.