Skills · Claude Code · Agent Skills

本番で壊れない Dart/Flutter。交渉の余地はありません。

モバイルクライアント向けの言語・フレームワーク基準です。アナライザがマージを止め、bang は禁止。アプリ側の基準(IAM、オフライン、ストア)は schematize-mobile が担います。

v0.4.0Linguagem · Dart/Fluttergithub.com/schematizeme/skill-dart

メンテナー Lucas Andrade

schematize-dart · v0.4.0bash
$ schematize install dart
GitHub →スキル (.zip) をダウンロード/dart-help · github.com/schematizeme/schematize-cli

譲れない最低基準

「速く進めるため」に外すことはありません。全項目はスキル本体に記載しています。

本番では 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 で動作を確認します。

インストールしたくない?

完全な規約を読み、そのままプロジェクトにコピーできます。あるいはスキルをインストールすれば、エージェントが自動で適用します。