Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

ship发布交付

Agent Skill

用于辅助音频、音乐、语音转写、语音合成或声音素材处理。它适合让 Agent 生成配乐说明、整理音频流程、调用语音工具或处理播客和视频配音素材。使用时需要确认输入音频来源、输出格式、时长和模型限制;涉及人声克隆、版权音乐或公开发布时,应先核对授权和合规边界。

总安装

441

周安装

18

GitHub Stars

138

下载量

143
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ship(发布交付)
来源仓库:https://github.com/bitwize-music-studio/claude-ai-music-skills
仓库路径:skills/ship
安装命令:
npx skills add https://github.com/bitwize-music-studio/claude-ai-music-skills --skill ship
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/bitwize-music-studio/claude-ai-music-skills --skill ship

简介

ship 技能自动化完成插件的完整发布流程,从提交到版本发布。

  • 核心能力包括创建功能分支、提交变更、运行 CI 检查和合并 PR。
  • 使用方式:基于常规提交消息自动执行整个发布流水线。
  • 安装方式:通过 npx skills add 命令从 GitHub 仓库安装。
  • 适用于 Codex、Claude、Cursor、Gemini CLI 等宿主环境。

SKILL.md

Your Task

Automate the complete release pipeline for this plugin using the conventional commit message provided.

Input: $ARGUMENTS

This is a conventional commit message (e.g., feat: streaming URL management tools).


Ship — Automated Code Release Pipeline

You automate the entire release workflow from uncommitted changes on main to a published GitHub Release with version bump.

Pipeline:

[uncommitted changes on main]
  → create feature branch
  → commit with conventional commit message
  → push + create PR
  → poll CI checks until all pass (or fail)
  → merge PR
  → pull main
  → determine version bump from commit prefix
  → update plugin.json + marketplace.json + CHANGELOG + README badges
  → commit "chore: release 0.x.0"
  → push to main (triggers auto-release.yml → GitHub Release)
  → delete local feature branch

Step 0: Parse Input

Extract from $ARGUMENTS:

  1. Full commit message — the entire string (e.g., feat: streaming URL management tools)
  2. Prefix — the conventional commit type before the colon: feat:, fix:, feat!:, docs:, chore:
  3. Description — everything after the prefix (e.g., streaming URL management tools)
  4. Branch name — derived from the message: lowercase, spaces to hyphens, prefix becomes the branch prefix

- feat: streaming URL management toolsfeat/streaming-url-management-tools - fix: correct audio pathfix/correct-audio-path - feat!: breaking changefeat/breaking-change - docs: update READMEdocs/update-readme - chore: cleanupchore/cleanup

  1. Version bump type:

- feat: → MINOR (0.57.0 → 0.58.0) - fix: → PATCH (0.57.0 → 0.57.1) - feat!: → MAJOR (0.57.0 → 1.0.0) - docs: or chore:none (skip version bump and release steps)

If $ARGUMENTS is empty or doesn't match a conventional commit pattern, stop and ask the user for a commit message.


Step 1: Pre-flight Checks

Run these checks. If ANY fail, stop immediately with a clear error message.

  1. On main branch? git branch --show-current Must be main. If not: "Switch to main first: git checkout main && git pull"
  2. Uncommitted changes exist? git status --porcelain Must have output. If empty: "No changes to ship. Make some changes first."
  3. GitHub CLI authenticated? gh auth status Must succeed. If not: "Run gh auth login first."
  4. Read current version from .claude-plugin/plugin.json: jq -r '.version'.claude-plugin/plugin.json Store as CURRENT_VERSION.

Report: "Pre-flight passed. Current version: {CURRENT_VERSION}. Shipping: {commit message}"


Step 2: Branch + Commit + Push

  1. Create feature branch: git checkout -b {branch-name}
  2. Stage files — use git status to identify changed files. Stage them by name. Never stage .env, credentials, or secret files. Prefer specific filenames over git add -A.
  3. Commit with the conventional commit message + co-author: git commit -m "$(cat <<'EOF' {full commit message} Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> EOF)"
  4. Push: git push -u origin {branch-name}

Step 3: Create PR

Create a pull request using the commit message as the title:

gh pr create --title "{full commit message}" --body "$(cat <<'EOF'
## Summary
{1-3 bullet points summarizing what changed}

## Test plan
- [ ] CI checks pass (automated)
- [ ] Version sync validates (automated)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"

Capture the PR number from the output for subsequent steps.


Step 4: Wait for CI Checks

Poll CI using gh pr checks with the --watch flag:

gh pr checks {pr-number} --watch --fail-level all

This blocks until all checks complete. Use a 10-minute timeout.

If any check fails:

  • Report which check(s) failed
  • Print the failing check URL(s) if available
  • Stop the pipeline — leave the PR open for the user to investigate
  • Say: "CI failed. Fix the issues, push to the branch, and re-run /bitwize-music:ship or merge manually."
  • Do NOT proceed to merge.

If all checks pass: Report "All CI checks passed." and continue.


Step 5: Merge PR

  1. Merge the PR (merge commit, delete remote branch): gh pr merge {pr-number} --merge --delete-branch
  2. Switch back to main and pull: git checkout main && git pull origin main

Step 6: Version Bump

Skip this entire step if the prefix is docs: or chore:.

6a: Calculate new version

From CURRENT_VERSION and the bump type:

  • MINOR: increment middle number, reset patch to 0 (e.g., 0.57.0 → 0.58.0)
  • PATCH: increment last number (e.g., 0.57.0 → 0.57.1)
  • MAJOR: increment first number, reset others to 0 (e.g., 0.57.0 → 1.0.0)

Store as NEW_VERSION.

6b: Update .claude-plugin/plugin.json

Change "version": "{CURRENT_VERSION}""version": "{NEW_VERSION}"

6c: Update .claude-plugin/marketplace.json

Change "version": "{CURRENT_VERSION}""version": "{NEW_VERSION}"

6d: Update CHANGELOG.md

  1. Find the current ## [Unreleased] section content
  2. Insert a new versioned section between [Unreleased] and the previous version:

- Empty ## [Unreleased] section at top - Then ## [{NEW_VERSION}] - {YYYY-MM-DD} with the content that was under Unreleased

  1. The date is today's date

6e: Update README.md badges

Update these badge lines:

  • Version badge: ![Version](https://img.shields.io/badge/version-{NEW_VERSION}-blue)
  • Skills count badge: count directories in skills/*/ and update ![Skills](https://img.shields.io/badge/skills-{COUNT}-green)
  • Test count badge: run pytest --co -q 2>/dev/null | tail -1 to get the count, update ![Tests](https://img.shields.io/badge/tests-{COUNT}-brightgreen)

6f: Update README "What's New" table (for feat: and feat!: only)

If the commit is a feat: or feat!::

  • Read the CHANGELOG entry for this version
  • Add a row to the "What's New" table in README.md at the top (below the header row)
  • Format: | **{MINOR_VERSION}** | {brief highlight} |
  • Example: | **0.58** | Ship skill for automated code release pipeline |

6g: Update README skill count text

If a new skill was added, update the "collection of N specialized skills" text in README.md to match the badge count.


Step 7: Release Commit + Push

Skip if docs: or chore: prefix (no version bump happened).

  1. Stage the version files: git add.claude-plugin/plugin.json.claude-plugin/marketplace.json CHANGELOG.md README.md
  2. Commit: git commit -m "$(cat <<'EOF' chore: release {NEW_VERSION} Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> EOF)"
  3. Push to main — this triggers auto-release.yml which creates the GitHub Release: git push origin main

Step 8: Cleanup

  1. Delete local feature branch (it was already deleted from remote by --delete-branch): git branch -d {branch-name}
  2. Report success: Ship complete! Commit: {full commit message} Version: {CURRENT_VERSION} → {NEW_VERSION} PR: {PR URL} Release: auto-release.yml will create GitHub Release for v{NEW_VERSION} Branch {branch-name} cleaned up (local + remote). For docs:/chore: (no version bump): Ship complete! Commit: {full commit message} Version: unchanged ({CURRENT_VERSION}) PR: {PR URL} No version bump for {prefix} commits. Branch {branch-name} cleaned up (local + remote).

Error Handling

ScenarioAction
Not on mainStop. Tell user to git checkout main && git pull.
No uncommitted changesStop. "Nothing to ship."
gh not authenticatedStop. Suggest gh auth login.
CI check failsStop. Report failure details. Leave PR open.
Merge conflictStop. Report conflict. Let user resolve.
Push rejectedStop. Report error. Suggest git pull --rebase.
Invalid commit messageStop. Show expected format with examples.

Never force-push. Never skip CI. Never auto-close a failed PR.


Remember

  1. Parse the commit message first — everything flows from the prefix
  2. Pre-flight is non-negotiable — stop if any check fails
  3. Stage files by name — never git add -A or git add.
  4. CI must pass — never merge with failing checks
  5. Version bump follows conventional commitsfeat: = MINOR, fix: = PATCH, feat!: = MAJOR
  6. Both JSON files must match — plugin.json and marketplace.json versions stay in sync
  7. CHANGELOG gets the content — move Unreleased to versioned section
  8. Badges must match — version, skills count, test count in README
  9. chore: release commit triggers auto-release.yml — which creates the GitHub Release
  10. Clean up branches — delete local and remote after merge

Your deliverable: Changes shipped from uncommitted code to published GitHub Release in one automated pipeline.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.54%
按下载量换算55

Claude

28.57%
按下载量换算41

Cursor

20.93%
按下载量换算30

Gemini CLI

9.18%
按下载量换算13

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills