本番で壊れない Dart/Flutter。交渉の余地はありません。
モバイルクライアント向けの言語・フレームワーク基準です。アナライザがマージを止め、bang は禁止。アプリ側の基準(IAM、オフライン、ストア)は schematize-mobile が担います。
$ schematize install dart譲れない最低基準
「速く進めるため」に外すことはありません。全項目はスキル本体に記載しています。
本番では bang (!) 禁止
null safety 移行で得た検査をそのまま無効にします。late や dynamic も解決策ではありません。
すべての Future を await
または明示的な unawaited(...)。忘れると誰も書いていない実行順になり、未処理の例外がグローバルに出ます。
ライフサイクルの管理
Stream・Timer・AnimationController は dispose() で停止し、await 後の BuildContext は mounted を確認します。
重い処理は UI スレッド外
compute または Isolate を使います。無視した場合の症状はエラーではなくカクつきなので、見逃されがちです。
スタックトレース付きのエラー処理
常に on X catch (e, s) を使います。空の catch (e) {} や print を処理として使うのは禁止です。
秘密情報をバンドルに入れない
--dart-define も不可です。shared_preferences は金庫ではなく、認証情報は flutter_secure_storage、Keychain、Keystore に置きます。
再現可能なビルドと明示的な lint
アプリでは pubspec.lock をコミットし、CI で SDK を固定し、analysis_options.yaml に基準の lint を明示します。flutter analyze がマージを止めます。
コマンド
.claude/commands/ にインストールされます。いつでも /dart-help を実行できます。
/dart-ccコンテキスト圧縮: アーカイブにハンドオフを書き込み、/compact を実行します。/dart-claude常時有効の CLAUDE.md をリポジトリのルートに作成または統合します。他スキルのブロックは上書きしません。/dart-handoffハンドオフ(context.md + checklist.md)をアーカイブに生成します。圧縮はしません。/dart-helpコマンド一覧を表示します。/dart-load規範の全文を強制的に読み込み、このセッションで適用します。/dart-reviewgate の check-dart.sh を実行し、機械が読めない部分(非同期、ライフサイクル、mobile との境界)を読んで、.dart とプロジェクトを基準に照らしてレビューします。AIエージェント向け
人手を介さずにインストールできます。メタデータは llms.txt にあります。
- 実行: git clone https://github.com/schematizeme/skill-dart.git && ./skill-dart/install.sh
- または次をダウンロードして .claude/skills/ に展開: https://github.com/schematizeme/skill-dart/releases/latest/download/skill-dart.zip
- assets/CLAUDE.md をリポジトリのルートにコピーします(常時有効のルール)。
- /dart-help で動作を確認します。
ディスカッション
読み込み中…