원클릭으로
release
Prepare, validate, and publish a MiaoYan direct-download GitHub Release. Not for App Store builds.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Prepare, validate, and publish a MiaoYan direct-download GitHub Release. Not for App Store builds.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | release |
| description | Prepare, validate, and publish a MiaoYan direct-download GitHub Release. Not for App Store builds. |
| version | 1.5.0 |
| allowed-tools | ["Bash","Read","Grep","Glob","Edit"] |
| disable-model-invocation | true |
Use this skill only when the maintainer explicitly asks for a GitHub Release.
Vx.y.z.MARKETING_VERSION in MiaoYan.xcodeproj/project.pbxproj must match the tag without the leading V.CURRENT_PROJECT_VERSION must equal MARKETING_VERSION. Sparkle compares sparkle:version in appcast.xml against the app's CFBundleVersion (which maps to CURRENT_PROJECT_VERSION). If they diverge, users get an infinite update prompt loop (see V3.5.1 incident, #524).gh release view $(gh release list --limit 1 --json tagName --jq '.[0].tagName'). Do not rebuild the shape from memory.V{x.y.z} {Codename} {emoji}, e.g. V4.0.0 Valstrax 🚀. The codename follows the monster-name-plus-emoji convention used by scripts/release-ci/generate_release_content.sh..github/RELEASE_NOTES.md: # V{x.y.z} {Codename} {emoji} heading, Chinese numbered list, --- separator, English numbered list, items mapped one-to-one. scripts/release-ci/render_release_body.sh renders it into the HTML release body (centered logo block + tagline, <h3>Changelog</h3> English list, <h3>更新日志</h3> Chinese list, closing star ask + repo blockquote).git diff --quiet && git diff --cached --quiet
grep "MARKETING_VERSION" MiaoYan.xcodeproj/project.pbxproj | head -1
grep "CURRENT_PROJECT_VERSION" MiaoYan.xcodeproj/project.pbxproj | head -1
gh release list --limit 10
gh run list --limit 10
Stop if:
CURRENT_PROJECT_VERSION does not equal MARKETING_VERSION (hard stop, fix before proceeding).Use the repository's release scripts for the actual build, packaging, signing, notarization, and appcast update. The tracked workflows currently maintain sponsor assets only; do not assume a release.yml workflow exists.
When a local release script is required, confirm these before running it:
gh release view Vx.y.z
gh run list --limit 5
After publication, confirm that the release assets exist, the appcast points at the intended ZIP, and the Sparkle signature metadata matches the published ZIP.
Use scripts/release-ci/verify_sparkle_signature.sh --zip <zip> --signature <signature> to verify the appcast signature against the ZIP bytes and the app's embedded SUPublicEDKey before pushing appcast changes.
Reactions are part of publish completion. After the release is live, add the six positive reactions and read them back to confirm:
rid=$(gh api repos/tw93/MiaoYan/releases/tags/V<x.y.z> --jq .id)
for r in +1 laugh heart hooray rocket eyes; do gh api -X POST repos/tw93/MiaoYan/releases/$rid/reactions -f content="$r"; done
gh api repos/tw93/MiaoYan/releases/$rid/reactions --jq '.[].content'
Never add -1 or confused; a negative reaction on our own release reads as self-deprecation.
Run SwiftLint and swift-format checks on MiaoYan. There is no auto-fix hook; run `swiftlint --fix` or `swift-format format --in-place` manually when fixes are needed.
Prepare and validate a MiaoYan Mac App Store build. Not for GitHub Releases.
MiaoYan project adapter for Waza check/code-review. Use for Swift, AppKit, iOS target, and release-safety review.
GitHub issues, PRs, releases, and workflow inspection for MiaoYan via gh CLI.