building-flutter-apps

building-flutter-apps is a skill for Codex from sgaabdu4/hard-eng. It costs 45 tokens per session (4,762 once invoked), scanned A, a copy of building-flutter-apps, MIT.

A set of instructions for building Flutter apps that use Riverpod, a tool for managing app state, and for packaging those apps as Windows installers.

In plain words
What is it for?
Use it when changing a Riverpod Flutter app or package, or its Windows installer and update process. It does not apply to non-Riverpod Flutter projects or pure Dart work.
Why use it?
It gives the coding agent project-specific checks and steps for Riverpod code and Windows packaging, helping prevent errors from generic Flutter advice or incomplete validation.

Skill for Codex

Written for Codex: agents/openai.yaml present.

Good fit Use it when changing a Riverpod Flutter app or package, or its Windows installer and update process. It does not apply to non-Riverpod Flutter projects or pure Dart work.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/sgaabdu4/hard-eng/building-flutter-apps
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add sgaabdu4/hard-eng --skill building-flutter-apps
Clone the repo
git clone --depth 1 https://github.com/sgaabdu4/hard-eng

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for building-flutter-apps

README.md
[![agentmods](https://agentmods.dev/badge/skills/sgaabdu4/hard-eng/building-flutter-apps.svg)](https://agentmods.dev/skills/sgaabdu4/hard-eng/building-flutter-apps)
Your own site
<a href="https://agentmods.dev/skills/sgaabdu4/hard-eng/building-flutter-apps"><img src="https://agentmods.dev/badge/skills/sgaabdu4/hard-eng/building-flutter-apps.svg" alt="Measured on agentmods" height="20"></a>
Per session 45 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,762 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00045 $0.04762
Opus 5 $0.00023 $0.02381
Sonnet 5 $0.00009 $0.00952
Haiku 4.5 $0.00005 $0.00476

Measured 8d ago against content hash 65b29e87883c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

building-flutter-apps scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (assets/defender-installer-scan.ps1, assets/inno-uninstall-settlement-sentinel.ps1), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to building-flutter-apps — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/building-flutter-apps/SKILL.md · 147 lines

How it starts

The opening of the file, as written. The whole thing — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Read first

  • This skill overrides generic Flutter/Dart advice; Critical Rules override examples, public docs, and older project code.
  • Before code, read Trigger Map refs for touched areas. Each ref's Read first section is canonical.
  • Dart Decimate invocation = global deterministic-checks dart_decimate_gate.py; raw scanner calls + project-local adapters/dependencies/binaries + package-root tool/ bundles forbidden.
  • Coordinator runtime = npx --yes dart-decimate@latest; one scan per affected Git root + exact --workspace scope for nested packages.
  • After each .dart/pubspec.yaml/build.yaml/analysis_options.yaml write batch, run package-root dart analyze + Dart Decimate, then emit Pre-Flight.
  • Block on analyzer or Decimate findings, and read setup.md first if flutter_skill_lints is not wired.

Progressive Disclosure Gate

Read only the narrowest matching Trigger Map row(s); scenario/subsystem rows own incidental stack/file words. Do not bulk-read references/ or parent refs. Cite exact refs in Pre-Flight.

Critical Rules

ID Rule Detail refs
R1 Run package-root dart analyze + Git-root Dart Decimate through deterministic-checks; wire flutter_skill_lints + riverpod_lint. analysis-options.md, dart-decimate.md, setup.md
R2 Every provider uses @riverpod / @Riverpod codegen; no manual provider classes or legacy provider families. riverpod-codegen.md
R3 Guard async gaps with ref.mounted / context.mounted; finally uses if (ref.mounted) { ... }. async-mutations.md
R4 Widgets are public classes; no _buildXxx(), widget top-level helpers, or private widget classes except State. atomic-design.md, performance.md
R5 Nullability is semantic; no empty/null/bool sentinel fallbacks, value!, nullable collections, or raw required domain strings. value-objects.md, freezed-sealed.md
R6 All user-facing strings, tooltips, semantics, and visible accessibility copy use AppLocalizations. localization.md, accessibility.md
R7 Immutable state/entities use sealed Freezed, one declaration per file, native switch, and VO map/when disabled. freezed-sealed.md, value-objects.md
R8 presentation/widgets/ renders immutable inputs + emits typed callbacks; screens/routes/notifiers own navigation, workflow, domain state, and infrastructure. presentation-widgets.md
R9 Duplicate behavior in 2+ classes becomes a small stateless *Mixin with an on clause. mixins.md
R10 Storage SDK calls live in local datasources behind repositories; production Hive imports use hive_ce_flutter. hive-persistence.md, architecture.md
R11 Primitive/context/collection operations live in core/extensions/; domain never imports those extensions. context-ui.md, primitive-formatting.md, collections-helpers.md
R12 Domain primitives with meaning become validated Freezed Value Objects; Hive models keep primitives and mappers bridge. value-objects.md, hive-persistence.md
R13 Typed GoRouter routes are navigation SSOT; redirects are pure resolver logic with nullable by-id fallback UI. deep-linking.md, routing-app-shell.md
R14 Dialogs/sheets render immutable snapshots, pop results, and leave mutations/teardown to notifiers. modals-navigation.md, state-management-lifecycle.md
R15 Debounce, gate, and batch high-frequency UI, sync, persistence, remote-function, reset, and lookup boundaries. debounce-gate-batch.md
R16 App shell stays declarative; bootstrap listeners live in a sibling root ConsumerWidget. routing-app-shell.md
R17 Keep control flow flat after exits; remove unnecessary else after return / throw / break / continue. Lint: avoid_unnecessary_else_after_control_flow
R18 Use onReorderItem post-removal indexes directly; never add legacy onReorder adapter math. Lint: use_on_reorder_item_index_semantics
R19 Android exact alarms use flutter_local_notifications permission APIs, not manual settings intents. Lint: use_local_notifications_exact_alarm_permission_api
R20 Resolve nullable platform-specific plugin implementations before calling platform members. Lint: resolve_platform_specific_implementation_before_use
R21 Widget previews are preview-only with deterministic fakes; no real HTTP/Firebase/Hive/native plugins. widget-previews.md
R22 Runtime E2E proves behavior with stable selectors, failure-sensitive scenarios/logs, subject-matched evidence, source-of-truth verification, cleanup, and multi-actor proof when needed. dart-mcp-e2e-testing.md
R23 Accessibility is UI correctness: localized tooltips/semantic labels, 48x48 targets, contrast, text scale, Text.rich. accessibility.md, flutter-optimizations.md
R24 If remote error reporting is accepted or already present, use one app-owned Crash boundary and one reporting owner per operation; otherwise add no provider/facade. Scrub sensitive data + reconcile ambiguous remote outcomes before telemetry. error-reporting.md, networking.md
R25 Windows installer delivery = one semantic engine + typed app config/capabilities + minimal-step exact-SHA diagnostic → one publisher; keep cheap guards before one build, isolate synthetic preservation proof, and activate only verified immutable bytes. windows-installer-pipeline.md, workflow scaffold, inno_bundle pubspec scaffold, Inno settlement sentinel, Defender scanner
R26 Pause-sensitive Riverpod state starts only after its durable owner/listener exists; projections watch base state directly; switching auth/form modes clears transient errors. notifier-structure.md, state-management-lifecycle.md, testing.md
R27 Native/custom links use one URI contract across producer, platform registration, Flutter delivery, and typed router; prove cold/warm + signed-state delivery on the target device. deep-linking.md, dart-mcp-e2e-testing.md

Read the full file on GitHub · 147 lines

Files

What ships with it

48 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 147 lines · 45 tokens per session scan A 65b29e87883c

Subscribe to this mod's changes

building-flutter-apps is a skill published in the GitHub repository sgaabdu4/hard-eng (5 stars, last pushed today), licensed MIT. It adds 45 tokens to every session and 4,762 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to building-flutter-apps, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

platform-specialist

Doc-driven platform integration expert. Converts a web app to LINE MINI App (LIFF SDK), PWA (Next.js 16), and Capacitor (iOS/Android). Expo & Tauri are secondary/legacy. ปรัชญาหลัก: ดึง docs จริงล่าสุดก่อนเขียนโค้ดเสมอ — ไม่ freeze snippet ที่จะ rot. Triggers: "LINE MINI App", "LIFF", "LINE OA", "convert to app"…

wasintoh/toh-framework · 161 tokens

wire-sdk

An SDK integration guide for 앱인토스, a platform for building apps inside Toss. It covers permissions, persistent storage, sharing links, screen controls, safe-area spacing, and secure WebSocket connections.

TOKTOKHAN-DEV/agent-company · 2 tokens

make-store-assets

A workflow for creating app-store graphics such as a logo, thumbnail, and in-app-purchase icon according to required sizes and available brand evidence. It uses the app specification, brand color, existing supplied assets, and source records to guide the work.

TOKTOKHAN-DEV/agent-company · 3 tokens

rn-feature-development

This skill should be used when building any new feature in a React Native or Expo app, or when the /rn-dev-agent:rn-feature-dev command runs. Triggers on "build a feature", "add X to the app", "implement Y", "create a new screen", "rn-feature-dev", "feature development", "build me X", "add a screen", "wire up this…

Lykhoyda/rn-dev-agent · 86 tokens

run-preflight

A release pre-check workflow that builds the mini-app, runs automated checks, explains errors, and lists review items that require a person to test the app on a real device. A preflight check is a final inspection before submission.

TOKTOKHAN-DEV/agent-company · 3 tokens

rn-testing

This skill should be used when the user asks to "write a Maestro test", "create E2E flows", "add testIDs", "run UI tests", "run E2E tests", "verify a feature works", "test my screen", "set up maestro-runner", "mock network requests", "inspect store state", "write test assertions", or needs guidance on test timing…

Lykhoyda/rn-dev-agent · 106 tokens