ship-it
Skill8 starsChanged 3 months agoMITView on GitHub
End-to-end shipping workflow. Formats, lints, tests, creates a changelog entry, commits with conventional commits, pushes, updates PR description, and suggests reviewers. Use when the user says "ship it", "commit and push", "fmt lint test commit push", or similar shipping commands.
- Commits and pushes
We split this skill into the rules it gives an agent
16 rules. 0 are common, 12 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 39 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Run the full pre-commit pipeline, commit, push, and handle PR housekeeping.
- Distinctive: line 12
Run verification per verify-when-complete.
- Very specific: line 14
Review-status check (informational, non-blocking): If a .reviews/<date>/SUMMARY.md exists whose GIT_COMMIT_FULL metadata header matches the …
- Very specific: line 20
Do not block on N > 0 — /ship-it runs because the user said so.
- Distinctive: line 24
Check if the project has a changelog convention:
- Very specific: line 26
If Taskfile.yaml has a changelog task, run task changelog and follow its output.
- Distinctive: line 30
If a convention is found, create a terse entry following the existing format and patterns.
- Distinctive: line 31
If no changelog convention exists, skip this step.
- Distinctive: line 43
Always create a new commit.
- Distinctive: line 55
If a PR exists for the current branch, update its title and description to reflect the current state:
- Distinctive: line 63
If no PR exists, run create-pr to open one.
- Distinctive: line 67
If a PR exists, query reviewer state and present suggestions:
- Distinctive: line 79
If someone already reviewed, suggest re-requesting the same reviewer.
- Distinctive: line 80
If a review is already requested, note who.
- Very specific: line 81
If no reviewer yet, present GitHub's suggestedReviewers list.
- Distinctive: line 83
Do not auto-assign. Present suggestions and let the user decide.
“Common” is measured: kept by at least 6 in 10 of the 39 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Ship It
Run the full pre-commit pipeline, commit, push, and handle PR housekeeping.
1. Verify
Run verification per verify-when-complete. Stop if any step fails.
Review-status check (informational, non-blocking). If a .reviews/<date>/SUMMARY.md exists whose GIT_COMMIT_FULL metadata header matches the current HEAD SHA, count the rows under ## Findings — untracked and inside the <details> block for Findings — tracked, then print a single line:
Review status: <N> untracked / <M> tracked findings @ <short-sha> (<.reviews/path>)Do not block on N > 0 — /ship-it runs because the user said so. The line is a sanity check, not a gate. If no matching SUMMARY.md exists, skip the line silently (don't run /review-all from here).
2. Changelog
Check if the project has a changelog convention:
- If
Taskfile.yamlhas achangelogtask, runtask changelogand follow its output. - Otherwise, look for existing changelog entries:
- Per-PR fragment directories like
.changeset/(JS/TS via@changesets/cli),.changes/(Python viatowncrier), or similar project-defined conventions CHANGELOG.mdat the repo root
- Per-PR fragment directories like
- If a convention is found, create a terse entry following the existing format and patterns.
- If no changelog convention exists, skip this step.
3. Commit
Stage all changes and commit using Conventional Commits format:
<type>[optional scope]: <description>Common types: feat, fix, refactor, test, docs, chore, ci, build.
Always create a new commit. Never amend.
Apply terse-output commit-message tone: imperative subject ≤72 chars, body explains why (the diff shows what), no "this commit does X" / "I" / "we" / "now". Keep the Co-Authored-By: Claude… attribution.
4. Push and PR
Push the current branch:
git push -u origin HEADIf a PR exists for the current branch, update its title and description to reflect the current state:
gh pr edit --title "<title>" --body-file /tmp/pr-body.mdFor PRs with diffs over ~20 files or ~500 lines, delegate body authoring to a subagent (model: sonnet per subagent-model-routing — PR-body authoring from a non-trivial diff requires real synthesis reasoning) per parallelize-subagents and subagent-prompt-contract: paste the commit list and git diff --stat inline, ask for a summary section + bullet list of notable changes capped at ~200 words, and have the subagent return with the four-state Status line. Main writes /tmp/pr-body.md from the summary. Small PRs stay inline.
If no PR exists, run create-pr to open one.
5. Suggest Reviewers
If a PR exists, query reviewer state and present suggestions:
gh api graphql -f query='
{ repository(owner:"OWNER", name:"REPO") { pullRequest(number:NUM) {
reviewRequests(first:10) { nodes { requestedReviewer { ... on User { login } ... on Team { slug } } } }
latestReviews(first:10) { nodes { author { login } state } }
suggestedReviewers { reviewer { login } isAuthor isCommenter }
} } }'Logic:
- If someone already reviewed, suggest re-requesting the same reviewer.
- If a review is already requested, note who.
- If no reviewer yet, present GitHub's
suggestedReviewerslist. - For deeper git-history-based suggestions, use
/analyze-knowledge. It fans out per-area analysis to subagents for PRs with >20 files, so keep the parent context clean. - Do not auto-assign. Present suggestions and let the user decide.
Other versions43 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 43
- vectorize-io/hindsight★ 57ksame name
- learntocloud/learn-to-cloud-app★ 1.1ksame name
- leonvanzyl/agentic-coding-starter-kit★ 447same name
- smallnest/goal-workflow★ 283same name
- frappe/skills★ 162same name
- DECRUX9812/hermes-plugin-gameforge★ 44same name
- awslabs/llm-evaluation-system★ 26same name
- LunkiBR/ship-it★ 18same name
- davidmeirlevy/obvious-skills★ 6same name
- Magnus-Gille/claude-skills★ 5same name
33 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use modern-go, to-design and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jidechaoSkillmodern-go
Modernize Go code by applying version-appropriate idioms and APIs (gofix-style transformations). Scans go.mod for the Go version, then transforms Go source files to use modern patterns—from Go 1.0 through 1.26+. Use when the user says "现代化","现代Go语言", "地道的", "idiomatic", "modernize", "modern-go", "update Go code", "gofix", or wants to upgrade Go idioms.
Also in 3 projects that use this
jidechaoSkillto-design
Generate a design document (design proposal) from a PRD, in the style of Go's official design proposals — Abstract / Background / Design / Rationale / Compatibility / Implementation, heavy on the 'why' and tradeoffs. Triggers on: to-design, prd-to-design, prd转设计文档, 生成设计文档, 写设计文档, design doc, design proposal, 设计提案, 技术设计文档.
Also in 3 projects that use this
GitHubSkillrefactor
Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.
Also in 4 projects that use this
GoogleSkillto-issues
Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices.
Also in 3 projects that use this
GitHubSkillprd
Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.
Also in 3 projects that use this
DockerSkillreview-pr
Review one or more incoming Docker documentation pull requests as a maintainer. Independently validate technical claims, assess editorial fit and information architecture, choose a verdict, and draft exact inline or PR-wide feedback behind a confirmation gate. Use for requests such as "review PR 123", "is this PR correct?", "does this information belong here?", "validate this PR", or "help review backlog PRs". Do not use to maintain or fix a PR you own; use maintain-pr for that.
Also in 4 projects that use this
- +2 more from jidechao
In this repository38 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- active-readSkill
- active-reviewSkill
- analyze-knowledgeSkill
- audit-accomplishmentsSkill
- audit-historySkill
- bisectSkill
- ci-debug-loopSkill
- create-decision-documentSkill
- create-jira-itemSkill
- create-prSkill
- create-ruleSkill
- create-skillSkill
- discover-patternsSkill
- evaluate-dependencySkill
- fix-pr-conflictSkill
- implement-planSkill
- match-voiceSkill
- push-and-watchSkill
- rebase-pr-chainSkill
- review-allSkill
- review-api-compatSkill
- review-ciSkill
- review-codeSkill
- review-coverageSkill
- review-databaseSkill
- review-documentationSkill
- review-infrastructureSkill
- review-observabilitySkill
- review-performanceSkill
- review-planSkill
- review-reliabilitySkill
- review-securitySkill
- review-trajectorySkill
- set-session-contextSkill
- simplify-proseSkill
- start-daySkill
- verify-when-completeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

