Getting it into your agent
There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.
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.
[](https://agentmods.dev/skills/medy-gribkov/arcana/flutter-mobile)<a href="https://agentmods.dev/skills/medy-gribkov/arcana/flutter-mobile"><img src="https://agentmods.dev/badge/skills/medy-gribkov/arcana/flutter-mobile/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/medy-gribkov/arcana/flutter-mobile"><img src="https://agentmods.dev/badge/skills/medy-gribkov/arcana/flutter-mobile.svg" alt="Reviewed on agentmods" width="80" 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.00033 | $0.01633 |
| Opus 5 | $0.00016 | $0.00816 |
| Sonnet 5 | $0.00007 | $0.00327 |
| Haiku 4.5 | $0.00003 | $0.00163 |
Grade A, and why
flutter-mobile 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 9d 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 — 300 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Flutter Mobile Development
Build production-ready Flutter mobile apps with modern patterns, performance optimization, and comprehensive testing.
Widget Composition
Extract widgets early. Const constructors everywhere possible.
BAD: Deeply nested, no extraction
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Row(
children: [
Icon(Icons.home),
SizedBox(width: 8),
Text('Home'),
],
),
),
body: ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return Container(
padding: EdgeInsets.all(16),
child: Row(
children: [
CircleAvatar(child: Text(items[index].initial)),
SizedBox(width: 12),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(items[index].title),
Text(items[index].subtitle),
],
),
),
],
),
);
},
),
);
}
}
GOOD: Extracted widgets, const constructors
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const HomeAppBar(),
body: const ItemList(),
);
}
}
class HomeAppBar extends StatelessWidget implements PreferredSizeWidget {
const HomeAppBar({super.key});
@override
Widget build(BuildContext context) {
return AppBar(
title: Row(
mainAxisSize: MainAxisSize.min,
children: const [
Icon(Icons.home),
SizedBox(width: 8),
Text('Home'),
],
),
);
}
@override
Size get preferredSize => const Size.fromHeight(kToolbarHeight);
}
class ItemList extends StatelessWidget {
const ItemList({super.key});
@override
Widget build(BuildContext context) {
final items = context.watch(itemsProvider);
return ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) => ItemTile(item: items[index]),
);
}
}
class ItemTile extends StatelessWidget {
const ItemTile({super.key, required this.item});
final Item item;
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(16),
child: Row(
children: [
CircleAvatar(child: Text(item.initial)),
const SizedBox(width: 12),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(item.title, style: Theme.of(context).textTheme.titleMedium),
Text(item.subtitle, style: Theme.of(context).textTheme.bodySmall),
],
),
),
],
),
);
}
}
What ships with it
1 file 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.
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.
- 9d ago First seen · 300 lines · 33 tokens per session scan A 5433383eadfe
flutter-mobile is a skill published in the GitHub repository medy-gribkov/arcana (1 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 33 tokens to every session and 1,633 once invoked, about $0.0002 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-08-31.
Other skills, from other repositories
flutter-patterns
Flutter/Dart: widgets, state mgmt (Riverpod/Bloc), navigation, platform channels. Triggers: Flutter, Dart, widget, Riverpod, Bloc, pubspec, hot reload.
flutter-development
Cross-platform development with Flutter and Dart for iOS, Android, Web, Desktop, and embedded. Use when building Flutter apps, implementing Material/Cupertino design, or optimizing Dart code.
mobile-deep-linking-app-links
Deep linking patterns - Universal Links (iOS), App Links (Android), URI schemes, expo-linking API, React Navigation linking config, Expo Router automatic linking, AASA/assetlinks.json setup, deferred deep links, testing.
mobile-styling-nativewind
NativeWind v4+ - Tailwind CSS utility classes for React Native, className prop, CSS variables, dark mode, platform prefixes, animations, theming, third-party component integration.
mobile-styling-unistyles
Unistyles 3.0 styling - C++ powered StyleSheet superset with zero re-renders, theming, breakpoints, variants, dynamic functions, runtime values.
mobile-ui-components-tamagui
Tamagui universal UI - styled(), tokens, themes, optimizing compiler, responsive media queries, animations, Sheet/Dialog components.