agentleFS
launch52-ailaunch52-ai/flutter-template/.claude/skills/core/SKILL.md

core

Skill2 starsChanged 9 months agoMITView on GitHub

Generate core infrastructure for Flutter apps. Creates theme system (AppColors, AppTheme), router (GoRouter), services (SecureStorage, SharedPrefs, Supabase), error handling (Failures), and providers. Run after /init, before /auth.

We split this skill into the rules it gives an agent

2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Before adding any features or /auth

    line 14
  2. Very specific:

    Use AskUserQuestion to confirm settings from /init:

    line 34

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Core - Infrastructure Generation

Generates the core infrastructure that all features depend on.

When to Use This Skill

  • After /init completes
  • Before adding any features or /auth
  • Setting up app-wide infrastructure
  • User asks to "generate core", "create infrastructure", or "setup theme/router"

What This Skill Creates

  • lib/app.dart - Root app widget with MaterialApp.router
  • lib/core/theme/ - AppColors, AppTypography, AppTheme
  • lib/core/router/ - GoRouter configuration
  • lib/core/services/ - SecureStorage, SharedPrefs, Supabase, iOS network permission
  • lib/core/errors/ - Typed failures and exceptions
  • lib/core/constants/ - App constants, legal URLs, storage keys, debug flags
  • lib/core/network/ - Dio client (if custom API)
  • lib/core/navigation/ - StatefulShellRoute (if bottom nav)
  • lib/core/providers.dart - Core Riverpod providers

Workflow

Phase 1: Gather Requirements

Use AskUserQuestion to confirm settings from /init:

  1. Primary Color (hex, from /init or ask)
  2. Theme Mode (light/dark/both)
  3. Use Supabase? (from /init)
  4. Use Custom API? (from /init)
  5. Bottom Navigation? (yes/no - determines shell creation)
  6. Privacy Policy URL? (can be placeholder, required before release)
  7. Terms of Service URL? (can be placeholder, required before release)

Phase 2: Create Directory Structure

mkdir -p lib/core/{constants,errors,network,router,navigation,services,theme,utils,widgets}
mkdir -p lib/features

Phase 3: Generate Files

Copy from reference/ directories and customize:

CategoryFilesNotes
theme/app_colors, app_typography, app_themeCustomize primary color
services/secure_storage, shared_prefs, ios_network_permissionAlways
services/supabase_serviceIf Supabase = yes
network/dio_clientIf Custom API = yes
router/app_routerCustomize routes
navigation/main_shellIf bottom nav = yes
errors/failures, exceptionsAlways
constants/app_constants, legal_constants, storage_keys, debug_constantsAlways
utils/legal_utilsAlways
rootproviders.dartCustomize based on services

Note: ios_network_permission_service.dart triggers the iOS permission dialog early to prevent first API call failures.

Phase 10: Generate App Widget

Copy reference/app.dart and customize with theme/router.

Phase 11: Update main.dart

Replace placeholder with actual App():

import 'app.dart';

runApp(const ProviderScope(child: App()));

Phase 12: Verify

dart run build_runner build --delete-conflicting-outputs
flutter analyze

Reference Files

DirectoryContent
reference/theme/AppColors, AppTypography, AppTheme
reference/router/GoRouter setup
reference/navigation/StatefulShellRoute scaffold
reference/services/Storage, Supabase, iOS permission services
reference/network/Dio client with interceptors
reference/errors/Failure types, exceptions
reference/constants/App constants, legal URLs, storage keys, debug flags
reference/utils/Legal URL utilities
reference/app.dart, providers.dart

Guides

This skill is code-heavy with all templates in reference/. No separate guides needed.

Related guidance from other skills:

TopicSee
Architecture patterns.claude/skills/plan/architecture.md
Color usage (contrast, dark mode)/design → visual-guide.md
Typography sizes & hierarchy/design → visual-guide.md
Color contrast requirements/a11y → semantics-guide.md
Text scaling accessibility/a11y → testing-guide.md

Quick Reference

AppColors.primary; AppTheme.light(); // Theme
context.go('/dashboard'); context.push('/profile'); // Router
ref.watch(secureStorageProvider).write('key', 'value'); // Secure storage
ref.watch(sharedPrefsProvider).setBool('onboarded', true); // Shared prefs
triggerIOSNetworkPermission(); // iOS permission (call in main.dart)

Next Steps

After /core:

  1. /auth - Add authentication feature
  2. /feature-init dashboard - Initialize dashboard scaffold
  3. /i18n - Add localization

Checklist

  • lib/app.dart created with MaterialApp.router
  • lib/core/theme/ has AppColors, AppTypography, AppTheme
  • lib/core/router/app_router.dart configured
  • lib/core/services/ has required services
  • lib/core/services/ios_network_permission_service.dart created
  • lib/core/errors/failures.dart has typed failures
  • lib/core/constants/ has storage keys, legal URLs, and debug flags
  • lib/core/utils/legal_utils.dart created
  • lib/core/providers.dart exports all providers
  • main.dart updated to use App()
  • main.dart calls triggerIOSNetworkPermission() early
  • build_runner executed successfully
  • flutter analyze passes

Related Skills

  • /init - Run before core (project setup)
  • /auth - Run after core (authentication)
  • /feature-init - Initialize feature scaffolds after core
  • /design - UI patterns reference

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.