ship

GitHub

自动化执行多仓库代码检查、提交、推送及Docker镜像构建,并监控CI状态直至通过。用于处理发布流程中的验证与部署任务。

.claude/skills/ship/SKILL.md yannicschuller/flowplan

Trigger Scenarios

/ship push das bau die Beta schick das raus

Install

npx skills add yannicschuller/flowplan --skill ship -g -y
More Options

Non-standard path

npx skills add https://github.com/yannicschuller/flowplan/tree/main/.claude/skills/ship -g -y

Use without installing

npx skills use yannicschuller/flowplan@ship

指定 Agent (Claude Code)

npx skills add yannicschuller/flowplan --skill ship -a claude-code -g -y

安装 repo 全部 skill

npx skills add yannicschuller/flowplan --all -g -y

预览 repo 内 skill

npx skills add yannicschuller/flowplan --list

SKILL.md

Frontmatter
{
    "name": "ship",
    "description": "Ship finished work in the Flowplan repositories – run the repo's checks, commit with the right trailers, push main and the session branch in every changed repo, build the :beta image when the server changed, wait until CI, Visual regression, Docker and CodeQL are green, root-cause anything red, and report in one short German message. Use when the user types \/ship or says \"push das\", \"bau die Beta\", \"schick das raus\"."
}

/ship – checks, push, beta, green

The maintainer is Yannic Schuller (GitHub yannicschuller). Talk to him in German. Optional argument: repo names to limit the run (/ship flowplan-admin). Without one, ship every repo under /home/user with changes.

1. Find what is to ship

For each repo (flowplan, flowplan-docs, flowplan-website, flowplan-app, flowplan-desktop, flowplan-admin, flowplan-push): git status --short and commits ahead of origin/main. Unmerged worktree branches under .claude/worktrees/ are not shipped – mention them.

Tool noise is never committed: restore next-env.d.ts and a reformatted tsconfig.json (git checkout) – Next's dev server rewrites them.

2. Check before pushing

Repo Checks
flowplan npx tsc --noEmit -p ., npm test, relevant npx playwright test … for UI changes (dev server: FLOWPLAN_DATA_DIR=<scratch> APP_URL=http://127.0.0.1:<port> npx next dev --hostname 127.0.0.1 -p <port>; Chromium /opt/pw-browsers/chromium)
flowplan-docs npm test; docs changed → run npm run help-docs in flowplan and commit lib/ai/help-docs.json there too
flowplan-admin npm test, npm run -s lint (biome; npx biome check --write formats), npx tsc --noEmit -p .
flowplan-app npm test (imports without .ts)
flowplan-desktop npm run check, npm test (needs xvfb-run -a without a display)
flowplan-website its package.json scripts (lint, typecheck, test)

Red locally → fix first. Never skip or disable a test.

3. Commit and push

Commit messages say what changed and why; they end with the trailers from CLAUDE.md plus the attribution lines the session's system prompt gives. Then per repo:

git push -q origin HEAD:main && git push -q -f origin HEAD:<session-branch>

(flowplan's "Bypassed rule violations" remote message is expected.) Never force-push main, never rewrite pushed history.

4. Build

  • flowplan changed → dispatch docker.yml on main without a version (→ :beta, deployed to Coolify by the workflow). One build at the end, not per commit.
  • flowplan-website and flowplan-docs build their images on push by themselves.
  • flowplan-app / flowplan-desktop: no build here – that is /app-release or the desktop release (only on request).

5. Wait for green

Watch the runs of the pushed commit (/repos/<owner>/<repo>/actions/runs?head_sha=<sha>) with Monitor (one line per finished run, exit when CI, Visual regression and Docker image are done) – never sleep loops in the foreground. Red → read the failing job's log (mcp__github__get_job_logs), root-cause, fix, push again. A failure that is red on main before your change too: say so, don't hide it. Visual tests that changed on purpose: visual.yml with update=true, then fast-forward origin/visual-baselines into main.

The Docker run's scan job prints Trivy (HIGH/CRITICAL with a fix). New findings → /security.

6. Report (German, short)

Per repo: commit, what it does in one line, checks, run results (CI / Visual / Docker / CodeQL), anything Yannic must do (redeploy in Coolify for flowplan-admin/flowplan-push, …). No file dumps.

Rules

  • Tokens and secrets never in chat or code. Kill processes only by exact PID.
  • No PRs, no merging PRs, no releases from this skill.

Version History

  • 84c9b3c Current 2026-11-07 08:54

Same Skill Collection

.claude/skills/app-release/SKILL.md
.claude/skills/deps/SKILL.md
.claude/skills/issue/SKILL.md
.claude/skills/language/SKILL.md
.claude/skills/release/SKILL.md
.claude/skills/security-audit/SKILL.md
.claude/skills/security/SKILL.md

Metadata

Files
0
Version
84c9b3c
Hash
427d2d7a
Indexed
2026-11-07 08:54

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-07 20:59
浙ICP备14020137号-1