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.
git clone --depth 1 https://github.com/kumaran-is/claude-code-onboardingWrote 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.
[](https://agentmods.dev/commands/kumaran-is/claude-code-onboarding/scaffold-flutter-app)<a href="https://agentmods.dev/commands/kumaran-is/claude-code-onboarding/scaffold-flutter-app"><img src="https://agentmods.dev/badge/commands/kumaran-is/claude-code-onboarding/scaffold-flutter-app.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00019 | $0.01089 |
| Opus 5 | $0.00010 | $0.00544 |
| Sonnet 5 | $0.00004 | $0.00218 |
| Haiku 4.5 | $0.00002 | $0.00109 |
Grade A, and why
scaffold-flutter-app 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 5d ago.
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.
How it starts
The opening of the file, as written. The whole thing — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scaffold Flutter App
Create a new Flutter mobile application with the following:
App name / theme: $ARGUMENTS (default to "my_app" if not provided. If a theme is given like "fitness tracker" or "weather app", tailor the sample feature accordingly)
Steps
- Run
flutter create --org com.company --platforms ios,android <name> - Update
pubspec.yamlwith Riverpod 3.x, Freezed 3.x, GoRouter 15, Firebase, riverpod_lint (see flutter-templates.md for exact versions) - Create
build.yamlwith riverpod_generator, json_serializable (snake_case), and freezed options; createl10n.yamlwith arb-dir, template-arb-file, and output-class settings - Create
analysis_options.yamlwithcustom_lintplugin andriverpod_lintrules - Create clean architecture folder structure:
assets/fonts/,assets/images/,assets/icons/,assets/lottie/,assets/raw/— static assets (raw/for design references, optional at runtime)lib/main.dart— one line only:void main() => bootstrap(() => const App())lib/bootstrap.dart— async init,FlutterError.onError→ Crashlytics,Firebase.initializeApp,FirebaseAppCheck.activate,ProviderScopelib/app.dart—ConsumerWidget+MaterialApp.router+ theme wiringlib/core/di/providers.dart— global@Riverpod(keepAlive: true)singletons (Dio, repositories)lib/core/error/app_exception.dart— sealed exception hierarchylib/core/error/error_handler.dart— Crashlytics integration pointlib/core/network/dio_provider.dart+lib/core/network/interceptors/— Dio setuplib/core/storage/secure_storage_provider.dart—flutter_secure_storageprovider (sensitive data: tokens, keys)lib/core/storage/hive_provider.dart—hive_flutterprovider (non-sensitive: preferences, cache)lib/core/router/app_router.dart+route_names.dart+guards/— GoRouter configlib/core/constants/— app-wide constants (NO secrets — env vars only)lib/core/utils/— logger, formatters, validatorslib/core/extensions/— Dart extension methodslib/core/l10n/— Localisation .arb files and generated l10n delegateslib/design_system/tokens/— one file per token type (see flutter-templates.md)lib/design_system/typography/—font_families.dart,app_text_styles.dart,app_text_theme.dartlib/design_system/theme/—app_theme.dart,app_color_scheme.dart,app_theme_extension.dart,theme_provider.dartlib/design_system/components/— buttons/, inputs/, cards/, dialogs/, loaders/lib/features/<feature>/data/datasources/— remote + local datasourceslib/features/<feature>/data/models/— DTOs with.g.dartcodegenlib/features/<feature>/data/repositories/— repository impllib/features/<feature>/domain/entities/— pure Dart, Freezedlib/features/<feature>/domain/repositories/— abstract interfacelib/features/<feature>/domain/usecases/— single-responsibility use caseslib/features/<feature>/domain/value_objects/— validated primitives (Email, Password)lib/features/<feature>/presentation/providers/—@riverpodnotifier + Freezed statelib/features/<feature>/presentation/screens/— screen widgetslib/features/<feature>/presentation/widgets/— feature-scoped sub-widgetslib/features/common/— shared widgets + providers reused across featurestest/unit/,test/widget/,test/integration/,test/helpers/— test structure
- Create sample Freezed entity (domain) + DTO (data) with
fromJson - Create sample
@riverpodnotifier with Freezed sealed state - Create sample
ConsumerWidgetscreen +AsyncValue.when() - Configure GoRouter as
@Riverpod(keepAlive: true)with auth redirect guard - Add a sample widget test using
ProviderScopeoverrides - Run
dart run build_runner build --delete-conflicting-outputs - Print summary of created files, next steps, and how to run
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.
- 5d ago First seen · 60 lines · 19 tokens per session scan A 79456dcd39d2
scaffold-flutter-app is a command published in the GitHub repository kumaran-is/claude-code-onboarding (35 stars, last pushed 2mo ago), licensed MIT. It adds 19 tokens to every session and 1,089 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other commands, from other repositories
app-store-audit
Run an enterprise pre submission compliance audit on an iOS or Android app against Apple App Store and Google Play rejection rules. Pass a project path or run from the project root.
initialize-ios
Manual override: initialize ast-index for iOS/Swift/ObjC project.
maestro-selectors-instructions
Guide to using Maestro selectors for targeting UI elements in tests.
mobile-performance-check
Analyze mobile app for performance issues using the mobile-best-practices database.
flutter-review
Review Flutter/Dart code for idiomatic patterns, widget best practices, state management, performance, accessibility, and security. Invokes the flutter-reviewer agent.
flutter-test
Run Flutter/Dart tests, report failures, and incrementally fix test issues. Covers unit, widget, golden, and integration tests.