Dart/Flutter that doesn't break in production — no negotiation.
A language and framework slice for mobile clients: the analyzer blocks the merge, the bang is banned, and the app floor (IAM, offline, stores) stays with schematize-mobile.
$ schematize install dartNon-negotiable floors
Never switched off "to go faster". Full list in the skill.
The bang (!) is banned in production
It switches off exactly the check the null safety migration paid for; late and dynamic are not fixes either.
Every Future is awaited
Or an explicit unawaited(...); forgetting produces an execution order nobody wrote and a global unhandled error.
Lifecycle under control
Streams, Timers and AnimationControllers are cancelled in dispose(); BuildContext after an await requires mounted.
Heavy CPU off the UI thread
Use compute or Isolate; the symptom of ignoring this is jank, not an error, which is why it goes unnoticed.
Errors keep their stack trace
Always on X catch (e, s); an empty catch (e) {} and print as handling are banned.
Secrets out of the bundle
Not even via --dart-define; shared_preferences is not a vault, credentials go in flutter_secure_storage, Keychain or Keystore.
Reproducible builds and explicit lints
pubspec.lock committed in applications, SDK pinned in CI and the floor's lints enabled in analysis_options.yaml; flutter analyze blocks the merge.
Commands
Installed in .claude/commands/. Use /dart-help at any time.
/dart-ccContext compact: writes the handoff to the archive and runs /compact./dart-claudeCreates or merges the always-on CLAUDE.md at the repo root, without overwriting other skills' blocks./dart-handoffGenerates the handoff (context.md + checklist.md) in the archive, without compacting./dart-helpLists the commands./dart-loadForce-loads the whole normative body and applies it for the session./dart-reviewReviews .dart files and the project against the floor: runs the check-dart.sh gate, then reads what the machine can't (async, lifecycle, boundary with mobile).For AI agents
Install with no human intervention. Metadata in llms.txt.
- Run: git clone https://github.com/schematizeme/skill-dart.git && ./skill-dart/install.sh
- Or download: https://github.com/schematizeme/skill-dart/releases/latest/download/skill-dart.zip and unzip into .claude/skills/
- Copy assets/CLAUDE.md to the repo root (always-on rule).
- Confirm with /dart-help.
النقاش
جارٍ التحميل…