Agent Skills › K9i-0/ccpocket › flutter-upgrade

flutter-upgrade

GitHub

Flutter SDK升级技能,涵盖版本调研、Breaking Changes代码匹配分析、CI/CD及依赖兼容性检查,生成升级清单并执行构建测试与代码修复。

.claude/skills/flutter-upgrade/SKILL.md K9i-0/ccpocket

Trigger Scenarios

需要升级Flutter SDK到新版本 评估指定版本对当前项目的影响

Install

npx skills add K9i-0/ccpocket --skill flutter-upgrade -g -y
More Options

Non-standard path

npx skills add https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/flutter-upgrade -g -y

Use without installing

npx skills use K9i-0/ccpocket@flutter-upgrade

指定 Agent (Claude Code)

npx skills add K9i-0/ccpocket --skill flutter-upgrade -a claude-code -g -y

安装 repo 全部 skill

npx skills add K9i-0/ccpocket --all -g -y

预览 repo 内 skill

npx skills add K9i-0/ccpocket --list

SKILL.md

Frontmatter
{
    "name": "flutter-upgrade",
    "description": "Flutter SDKのアップグレード、または指定バージョンへの移行影響を調査するときに使う。"
}

Flutter Upgrade

Flutter SDKの新バージョンへのアップグレードを体系的に進めるスキル。 リリースノート調査からコード修正・検証まで一貫して対応する。

フェーズ1: 情報収集

1-1. リリースノート調査

WebSearch / WebFetch で以下を調査する:

  • Hotfix Issue: https://github.com/flutter/flutter/issues で [stable] [hotfix] Flutter Release Version X.Y.Z を検索
  • Release Notes: https://docs.flutter.dev/release/release-notes/release-notes-X.Y.0
  • Breaking Changes: https://docs.flutter.dev/release/breaking-changes
  • Flutter blog: https://blog.flutter.dev の What's new 記事
  • CHANGELOG: https://github.com/flutter/flutter/blob/master/CHANGELOG.md

hotfix リリース (X.Y.1〜) の場合、メジャーリリース (X.Y.0) の Breaking Changes も含めて調査する。

1-2. 現在のプロジェクト状態を確認

# 現在のFlutterバージョン
flutter --version

# mise管理のバージョン
cat .mise.toml

# Dart SDK制約
grep -A1 'environment:' apps/mobile/pubspec.yaml

フェーズ2: プロジェクト影響分析

2-1. Breaking Changes のコードベースマッチング

リリースノートで見つかった Breaking Changes / 非推奨API それぞれについて、 Grep でコードベース内の使用箇所を検索する。

Grep pattern="<deprecated_api>" path="apps/mobile" glob="*.dart"

該当なし → 対応不要と明記。該当あり → ファイルと箇所数を記録。

2-2. プロジェクト固有の影響チェック

このプロジェクトには以下の固有構成があり、それぞれ確認が必要:

mise (バージョン管理)

  • .mise.toml の flutter バージョンを更新する必要がある
  • リポジトリの設定を対象とする。グローバル設定の変更は依頼された場合だけ行う。

CI/CD (GitHub Actions)

  • 全ワークフローが .mise.toml から Flutter バージョンを読み取る仕組み (grep 'flutter' .mise.toml → flutter-action の flutter-version)
  • .mise.toml を更新すれば全ワークフローに自動反映される
  • ワークフロー一覧を Grep で確認し、変更が正しく伝播するか確認する
grep -r "mise.toml" .github/workflows/

Shorebird (OTA パッチ)

  • Shorebird はリリース時の Flutter バージョンでビルドを管理する
  • 既存リリースへのパッチは旧バージョンで行う必要がある
  • 新バージョンで新リリースを作る場合は問題ない
  • shorebird doctor で互換性を確認する

dependency_overrides (一時的フォーク)

  • pubspec.yaml の dependency_overrides セクションを確認
  • 各オーバーライドが本家にマージ済み / pub.dev にリリース済みなら削除できるか調査
  • WebSearch で最新状況を確認する

パッケージ互換性

  • flutter pub outdated で非互換パッケージがないか確認
  • 特に Shorebird, Firebase, google_fonts など Flutter バージョンに敏感なパッケージに注意

2-3. Dart SDK 制約

  • pubspec.yaml の environment.sdk が新バージョン同梱の Dart と互換か確認
  • 非互換なら SDK 制約の更新も必要

フェーズ3: 対応タスクリスト作成

調査結果を以下の形式でまとめる:

テンプレート

## Flutter X.Y.Z アップグレード対応リスト

### 必須(アップグレードに必要)
1. `.mise.toml` の Flutter バージョン更新
2. `mise install flutter@X.Y.Z`
3. `flutter pub get` → `dart analyze` → `flutter test`
4. [Breaking Changes で必要な修正があればここに]

### 推奨(非推奨API解消)
- [非推奨APIの移行タスク]

### 確認(視覚的・動作確認)
- [テーマ色の変化、フォント描画の変化など]

### 棚卸し(dependency_overrides等)
- [削除可能なオーバーライド]
- [更新可能なパッケージ]

影響がないものも「該当なし」と明記し、調査漏れがないことを示す。

フェーズ4: 実行

影響調査だけの依頼なら調査結果で完了する。アップグレードを依頼済みなら対象バージョンと範囲を引き継ぎ、実装・検証まで進める。対象が未指定ならShorebirdとの互換性を確認できる最新stableを選び、選定理由を報告して進める。互換性を満たす候補を特定できない場合だけ確認する。

4-1. mise 更新

# .mise.toml 編集(Edit ツールで)
# flutter = "旧バージョン" → "新バージョン"

# リポジトリで指定したSDKをインストール
mise install flutter@X.Y.Z

# 確認
flutter --version

4-2. ビルド・テスト

cd apps/mobile && flutter pub get
dart analyze apps/mobile
cd apps/mobile && flutter test

4-3. コード修正

Breaking Changes や非推奨API の修正を実施。

4-4. 検証

変更内容に応じて /test-flutter や /mobile-automation を実行。

Version History

  • 370a4b0 Current 2026-09-22 13:39

    更新mise全局配置说明,明确默认仅修改仓库本地配置,仅在请求时修改全局设置;精简CI/CD检查描述。

  • aa215a3 2026-07-25 06:58

Same Skill Collection

.claude/skills/codex-guide/SKILL.md
.claude/skills/flutter-ui-design/SKILL.md
.claude/skills/mobile-automation/SKILL.md
.claude/skills/playwright-cli/SKILL.md
.claude/skills/release-bridge/SKILL.md
.claude/skills/sim-preview/SKILL.md
.claude/skills/submit-store-review/SKILL.md
.claude/skills/update-store/SKILL.md
.claude/skills/web-preview/SKILL.md
.claude/skills/merge/SKILL.md
.claude/skills/release-app/SKILL.md
.claude/skills/release-card/SKILL.md
.claude/skills/self-review/SKILL.md
.claude/skills/shorebird-patch/SKILL.md
.claude/skills/test-bridge/SKILL.md
.claude/skills/test-flutter/SKILL.md
.claude/skills/triage/SKILL.md

Metadata

Files
0
Version
370a4b0
Hash
4836dc76
Indexed
2026-07-25 06:58

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-27 14:58
浙ICP备14020137号-1