agentleFS
JeremyDev87JeremyDev87/codingbuddy/.claude/skills/ship/SKILL.md

ship

Skill31 starsChanged 7 months agoMITView on GitHub

Run local CI checks and ship changes — create branch, commit, push, and PR. Optionally link to a GitHub issue. Use `--full` to run all workspace checks. Use when changes are ready to ship.

  • Commits and pushes

194 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use ios-sync, open-gstack-browser and 10 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.
  • Saqlain-811Skill

    ios-sync

    Regenerate the iOS debug bridge against the latest upstream gstack templates. (gstack)

    Also in 6 projects that use this

  • seek888Skill

    open-gstack-browser

    Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. Opens a visible browser window where you can watch every action in real time. The sidebar shows a live activity feed and chat. Anti-bot stealth built in. Use when asked to "open gstack browser", "launch browser", "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", or "control my browser". Voice triggers (speech-to-text aliases): "show me the browser".

    Also in 10 projects that use this

  • ayudaySkill

    setup-deploy

    Configure deployment settings for /land-and-deploy. Detects your deploy platform (Fly.io, Render, Vercel, Netlify, Heroku, GitHub Actions, custom), production URL, health check endpoints, and deploy status commands. Writes the configuration to CLAUDE.md so all future deploys are automatic. Use when: "setup deploy", "configure deployment", "set up land-and-deploy", "how do I deploy with gstack", "add deploy config".

    Also in 19 projects that use this

  • ShreyRaviSkill

    landing-report

    Read-only queue dashboard for workspace-aware ship. Shows which VERSION slots are currently claimed by open PRs, which sibling Conductor workspaces have WIP work likely to ship soon, and what slot /ship would pick next. No mutations — just a snapshot. Use when asked to "landing report", "what's in the queue", "show me open PRs", or "which version do I claim next". (gstack)

    Also in 9 projects that use this

  • zebbernSkill

    debug-fix

    Find and fix a bug or issue — from any source (GitHub issue, error message, user report, or observed behavior)

    Also in 4 projects that use this

  • ramybarsoumSkill

    document-release

    Post-ship documentation update. Reads all project docs, cross-references the diff, updates README/ARCHITECTURE/CONTRIBUTING/CLAUDE.md to match what shipped, polishes CHANGELOG voice, cleans up TODOS, and optionally bumps VERSION. Use when asked to "update the docs", "sync documentation", or "post-ship docs". Proactively suggest after a PR is merged or code is shipped.

    Also in 23 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

27 rules. 0 are common, 17 are distinctive, and 10 are very specific to this project.

  • 0

    Common

    Most of the 180 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 10

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Follow every step in order.

    line 12
  2. Very specific:

    --full flag: If present, run ALL workspace checks (matches CI exactly).

    line 17
  3. Distinctive:

    Check if issue context is provided:

    line 20
  4. Distinctive:

    Use the issue title and labels to inform branch name, commit message, and PR description.

    line 26
  5. Distinctive:

    If there are no changes to ship, stop and inform the user.

    line 38
  6. Distinctive:

    Run git diff --name-only (include both staged and unstaged changes) and classify changed files into workspaces:

    line 42
  7. Very specific:

    Docs-only changes: If changed files don't match any pattern above (e.g., docs-only, root config) AND --full is NOT set, skip all CI checks …

    line 52
  8. Very specific:

    --full mode: If --full flag is set, mark ALL workspaces as affected regardless of changed files.

    line 54
  9. Distinctive:

    Before running CI checks, ensure project dependencies are available:

    line 58
  10. Very specific:

    If node_modules does not exist, run yarn install --frozen-lockfile

    line 71
  11. Distinctive:

    If install fails → STOP. Do NOT proceed to CI checks or PR creation.

    line 72
  12. Very specific:

    Verify npx is available by running npx --version

    line 73
  13. Distinctive:

    Iron Law: Never skip CI checks due to missing dependencies.

    line 75
  14. Distinctive:

    If ANY security check fails, stop and report the failure.

    line 87
  15. Very specific:

    Run checks for affected workspaces only (or ALL workspaces if --full is set).

    line 91
  16. Distinctive:

    If ANY check fails, stop and report the failure.

    line 135
  17. Distinctive:

    Write commit message in English

    line 175
  18. Distinctive:

    Do NOT include author information

    line 176
  19. Distinctive:

    Follow the detected convention from Step 6

    line 177
  20. Distinctive:

    Use specific file paths in git add (never git add -A or git add .)

    line 178
  21. Very specific:

    Only include Closes #<number> if an issue was provided

    line 180
  22. Distinctive:

    Before creating the PR, run an automated quality check:

    line 190
  23. Very specific:

    Call pr_quality_report MCP tool with the file list

    line 196
  24. Distinctive:

    Run specialist analysis on each domain

    line 199
  25. Very specific:

    If any domain has status fail, warn the user before proceeding

    line 202
  26. Distinctive:

    If the tool times out or returns a partial result, include whatever is available and note any incomplete domains

    line 203
  27. Very specific:

    Create PR using gh pr create:

    line 207

“Common” is measured: kept by at least 6 in 10 of the 180 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Ship Changes

Follow every step in order. Stop and report if any step fails.

Step 1: Parse Arguments and Determine Issue Context

Parse $ARGUMENTS for:

  • --full flag: If present, run ALL workspace checks (matches CI exactly). Remove --full from arguments before processing issue context.
  • Issue context: Remaining argument is an issue number or URL.

Check if issue context is provided:

  • With issue (/ship 613 or /ship --full 613):
    gh issue view <number> --json title,body,labels
    Use the issue title and labels to inform branch name, commit message, and PR description.
  • Without issue (/ship or /ship --full): Skip issue fetch. Derive context entirely from the changed files and git diff. The user will be asked to confirm the commit message and PR title before proceeding.

Step 2: Check Working Tree

git status
git diff --stat

If there are no changes to ship, stop and inform the user.

Step 3: Detect Affected Workspaces

Run git diff --name-only (include both staged and unstaged changes) and classify changed files into workspaces:

Path PatternWorkspaceChecks
apps/mcp-server/**codingbuddylint, format:check, typecheck, test:coverage, circular, build
packages/rules/**codingbuddy + rules-validationAbove + ajv-cli validate + markdownlint-cli2
packages/claude-code-plugin/**codingbuddy-claude-pluginlint, format:check, typecheck, test:coverage, circular, build
apps/landing-page/**landing-pagelint, format:check, typecheck, test:coverage, check:circular, build
.claude/**, .cursor/**, .antigravity/**, .codex/**, .github/**, scripts/**rules-validation onlyajv-cli validate + markdownlint-cli2

Docs-only changes: If changed files don't match any pattern above (e.g., docs-only, root config) AND --full is NOT set, skip all CI checks (including security) and proceed to Step 7.

--full mode: If --full flag is set, mark ALL workspaces as affected regardless of changed files.

Step 3.5: Verify Dependencies

Before running CI checks, ensure project dependencies are available:

# Check if node_modules exists
if [ ! -d "node_modules" ]; then
  echo "node_modules missing, installing dependencies..."
  yarn install --frozen-lockfile
fi

# Verify npx is available
npx --version
  • If node_modules does not exist, run yarn install --frozen-lockfile
  • If install fails → STOP. Do NOT proceed to CI checks or PR creation.
  • Verify npx is available by running npx --version

Iron Law: Never skip CI checks due to missing dependencies.

Step 4: Run Cross-cutting Security Checks

Security is cross-cutting — always run security audit for ALL workspaces when any workspace has changes, even if only one workspace is affected. This matches CI behavior where all security jobs run on every triggered push.

yarn workspace codingbuddy npm audit --severity high
yarn workspace codingbuddy-claude-plugin npm audit --severity high
yarn workspace landing-page npm audit --severity high

If ANY security check fails, stop and report the failure. Do NOT proceed to shipping.

Step 5: Run Local CI Checks

Run checks for affected workspaces only (or ALL workspaces if --full is set). Execute checks sequentially within each workspace. Stop at first failure.

Note: Security audits were already run in Step 4 for all workspaces — do not repeat them here.

codingbuddy workspace

yarn workspace codingbuddy lint
yarn workspace codingbuddy format:check
yarn workspace codingbuddy typecheck
yarn workspace codingbuddy test:coverage
yarn workspace codingbuddy circular
yarn workspace codingbuddy build

codingbuddy-claude-plugin workspace

yarn workspace codingbuddy-claude-plugin lint
yarn workspace codingbuddy-claude-plugin format:check
yarn workspace codingbuddy-claude-plugin typecheck
yarn workspace codingbuddy-claude-plugin test:coverage
yarn workspace codingbuddy-claude-plugin circular
yarn workspace codingbuddy-claude-plugin build

landing-page workspace

yarn workspace landing-page lint
yarn workspace landing-page format:check
yarn workspace landing-page typecheck
yarn workspace landing-page test:coverage
yarn workspace landing-page check:circular
yarn workspace landing-page build

rules-validation

yarn dlx ajv-cli@5.0.0 validate -s packages/rules/.ai-rules/schemas/agent.schema.json -d "packages/rules/.ai-rules/agents/*.json" --spec=draft7
yarn dlx markdownlint-cli2@0.20.0 "packages/rules/.ai-rules/**/*.md"

If ANY check fails, stop and report the failure. Do NOT proceed to shipping.

Step 6: Check Commit Convention

git log --oneline -10

Identify the commit message convention. This project uses: type(scope): description

Common types: feat, fix, docs, refactor, test, chore, perf, ci

Step 7: Create Branch and Commit

Branch naming

  • With issue: <type>/<short-description>-<issue-number> (e.g., docs/opencode-audit-613)
  • Without issue: <type>/<short-description> (e.g., docs/update-opencode-adapter)

Commit

git checkout -b <branch-name>

# Stage relevant files (never use git add -A)
git add <specific-files>

# Commit with convention — use HEREDOC for message
git commit -m "$(cat <<'EOF'
type(scope): concise description

- Detail 1
- Detail 2

Closes #<issue-number>   ← only if issue provided
EOF
)"

Rules:

  • Write commit message in English
  • Do NOT include author information
  • Follow the detected convention from Step 6
  • Use specific file paths in git add (never git add -A or git add .)
  • Never stage RESULT.json or TASK.md — these are ephemeral per-worktree artifacts and must not be committed
  • Only include Closes #<number> if an issue was provided

Step 8: Push

git push -u origin <branch-name>

Step 9: Quality Gate (PR Guardian)

Before creating the PR, run an automated quality check:

  1. Get changed files:
    git diff --name-only origin/master...HEAD
  2. Call pr_quality_report MCP tool with the file list
  3. The tool will:
    • Auto-detect relevant domains (security, accessibility, code-quality, performance)
    • Run specialist analysis on each domain
    • Return a formatted Quality Report
  4. Include the Quality Report in the PR body under a ## CodingBuddy Quality Report section
  5. If any domain has status fail, warn the user before proceeding
  6. If the tool times out or returns a partial result, include whatever is available and note any incomplete domains

Step 10: Create PR

Create PR using gh pr create:

With issue

gh pr create --title "<type>(scope): description" --label "<labels>" --body "$(cat <<'EOF'
## Summary
<bullet points summarizing changes>

## CodingBuddy Quality Report
<quality report from Step 9>

## Test plan
<verification steps>

Closes #<issue-number>
EOF
)"
  • Labels: detect from issue labels, add relevant ones

Without issue

gh pr create --title "<type>(scope): description" --label "<labels>" --body "$(cat <<'EOF'
## Summary
<bullet points summarizing changes>

## CodingBuddy Quality Report
<quality report from Step 9>

## Test plan
<verification steps>
EOF
)"
  • Labels: infer from change type (e.g., documentation for docs, enhancement for feat, bug for fix)

PR Rules:

  • Title: under 70 characters, English, follows commit convention
  • Body: English, include Summary + Test plan + CodingBuddy Quality Report sections
  • Do NOT include author information

Step 11: Report Result

Print the PR URL and a summary of:

  • Which CI checks were run and passed (or "skipped — no matching workspace")
  • Security checks: always-run status for all workspaces
  • Whether --full mode was used
  • Branch name
  • Commit hash
  • PR URL
  • Linked issue (or "none")

Download now (ZIP)

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.