Release App logo

Release App

CommunityPopular
K9i-0
release-app

ccpocketアプリのバージョン更新と、指定プラットフォーム向けリリースを行う。

Overview

PublisherK9i-0
Repositoryccpocket
Skill namerelease-app
Stars
1.1K
Forks
115
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by K9i-0 on GitHub. Read the source before you install it.

Installation

Install the Release App AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/release-app
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/K9i-0/ccpocket.git /tmp/ccpocket
mkdir -p .claude/skills
cp -r /tmp/ccpocket/.claude/skills/release-app .claude/skills/release-app
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Release App in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Release App on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Release App is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

アプリ リリース

Flutter アプリのリリースを行う。 タグ push 後は GH Actions が自動でビルド・署名・配布・GitHub Release を作成する。

前提

  • main ブランチで作業中であること
  • 未コミットの変更がないこと

指定済みのバージョン・対象を優先する。未指定の項目は以下の既定ルールで決定し、決定内容と理由を報告してリリースを進める。リリース依頼に含まれるコミット・push・タグ作成に追加の承認を求めない。

手順

1. 現在のバージョン確認 & 変更内容の収集

bash
grep '^version:' apps/mobile/pubspec.yaml

version: X.Y.Z+N の形式。+N は build number。

前回リリースからの差分を確認する:

bash
# 前回のタグ(iOS/Android/macOS/Linux/Windows のいずれか新しい方)
git tag -l 'ios/v*' 'android/v*' 'macos/v*' 'linux/v*' 'windows/v*' --sort=-v:refname | head -1

# 差分コミット(bridge 以外)
git log $(git tag -l 'ios/v*' 'android/v*' 'macos/v*' 'linux/v*' 'windows/v*' --sort=-v:refname | head -1)..HEAD --oneline -- apps/mobile/ CHANGELOG.md

2. バージョンとプラットフォームを決定

差分コミットと実装内容から、次の優先順で決定する。指定済みのバージョンは再確認しない。

  • 破壊的変更(!、BREAKING CHANGE、実際の互換性破壊)がある → major。未承認の場合だけ、具体的なバージョンと互換性への影響を示してユーザーに確認する。
  • 破壊的変更がなく feat / 新機能がある → minor を自動採用する。
  • その他の修正・改善・保守変更 → patch を自動採用する。

build number は現在の値 +1 とする。

プラットフォーム指定がなければ iOS + Android + macOS + Linux + Windows 全部を対象にする。「モバイルのみ」は iOS + Android、「デスクトップのみ」は macOS + Linux + Windows とし、個別指定があればその対象だけを使う。

3. CHANGELOG 更新

CHANGELOG.md(ルート)の先頭に新しいセクションを追加する。

markdown
## [X.Y.Z] - YYYY-MM-DD

### Added
- ...

### Changed
- ...

### Fixed
- ...

ステップ 1 で確認したコミットを元に、Added / Changed / Fixed に分類する。 空のセクション(該当なし)は省略する。

4. バージョン bump

apps/mobile/pubspec.yaml の version をステップ 2 で決定したバージョンに更新する。

5. ローカル検証

タグpush前に、CDと同じチェックをcompactラッパーで実行する。 成功時は解析・テスト・合計時間の3行だけを返す。失敗時は一時ログのパスと 最大120行の末尾だけを返す。すべてpassしなければ次へ進まない。

bash
bash scripts/release/run-checks.sh

失敗した場合は原因を調査し、今回の変更に起因する問題を修正・再検証する。既存の無関係な問題や権限・認証など自力で解消できない障害が残る場合は、失敗内容と必要な対応を報告し、タグをpushしない。

6. コミット & push

bash
git add apps/mobile/pubspec.yaml CHANGELOG.md
git commit -m "chore: bump version to X.Y.Z+N"
git push origin main

6.1. Windows preflight(Windowsを選択した場合)

Windowsタグを含むリリースでは、いずれのプラットフォームタグも作成する前に、 リリースコミットと同じSHAで起動した Test workflowの成功を確認する。 通常CIの mobile-windows jobが、リリースworkflowと同じFlutter全テストを windows-2022 で実行する。

bash
release_sha=$(git rev-parse HEAD)
node scripts/release/monitor.mjs preflight --sha "$release_sha"

監視スクリプトは起動検出を10秒間隔、実行中を30秒間隔で確認し、状態変化と 3分ごとのheartbeatだけを出す。起動しなければ2分、完了しなければ15分で失敗する。 個々のgh呼び出しも60秒で打ち切り、最大3回まで再試行する。 失敗時はjob・step・run URLと、完全な失敗ログを保存した一時パスを1行で返す。 タグは作成せず、必要なログ箇所だけを調査して修正コミットをpushし、新しいSHAで preflightをやり直す。タグがなければ同じversion/build numberを使用できる。

6.2. タグ

ローカル検証と、Windows選択時のpreflightがすべて成功した後で、 ステップ2で選択されたプラットフォームのタグを作成・pushする。 Windowsを含む複数プラットフォームのリリースでは、preflight成功前に他のタグも作成しない。

ステップ 2 で選択されたプラットフォームのタグを打つ:

各タグは必ず別々の git push で送信すること。 GitHubは4個以上のタグを 1回のpushで送るとtag pushイベントを生成しないため、複数タグを1つの git push origin <tag> <tag> ... にまとめてはならない。

bash
# iOS(選択された場合)
git tag ios/vX.Y.Z+N
git push origin ios/vX.Y.Z+N

# Android(選択された場合)
git tag android/vX.Y.Z+N
git push origin android/vX.Y.Z+N

# macOS(選択された場合)
git tag macos/vX.Y.Z+N
git push origin macos/vX.Y.Z+N

# Linux(選択された場合)
git tag linux/vX.Y.Z+N
git push origin linux/vX.Y.Z+N

# Windows(選択された場合)
git tag windows/vX.Y.Z+N
git push origin windows/vX.Y.Z+N

7. 完了確認

タグ push 後、GH Actions が自動実行される:

タグワークフロー内容
ios/v*ios-release.ymlShorebird release iOS → TestFlight → GitHub Release
android/v*android-release.ymlShorebird release Android → Google Play (internal draft) → GitHub Release
macos/v*macos-release.ymlDeveloper ID 署名 → 公証 → DMG → GitHub Release
linux/v*linux-release.ymlLinux release build → Xvfb smoke → tar.gz → GitHub Release
windows/v*windows-release.ymlWindows release build → smoke → zip → GitHub Release

タグをpushしたプラットフォームだけをカンマ区切りで指定する:

bash
node scripts/release/monitor.mjs release \
  --version "X.Y.Z+N" \
  --platforms "ios,android,macos,linux,windows"

監視スクリプトは全タグが同じcommitを指すことを検証し、exact tag/SHAのrunだけを 追跡する。起動検出は10秒間隔、開始後10分までは60秒間隔、その後は90秒間隔で確認し、 状態変化と3分heartbeatだけを出す。起動しなければ2分、完了しなければ40分で失敗する。 platformごとのworkflow名も照合し、同じtag/SHAで動く別workflowを成功扱いしない。 gh run watchや個別のgh run listを直接繰り返さない。

失敗時はcompactなjob/step要約と一時ログを調査する。全ログを会話へ貼らない。 全対象がcompleted/successになるまでリリースを完了扱いにしない。

Frequently asked questions

What does the Release App AI skill do?

ccpocketアプリのバージョン更新と、指定プラットフォーム向けリリースを行う。

Why use Release App on TypingMind?

Because you install it once and use it with any model. Release App is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Release App in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/release-app. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Release App?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Release App?

As many as you like. As long as a model supports skills, you can use Release App with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Release App AI skill free?

Yes. It is published on GitHub by K9i-0 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇