CAT
/Skills
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Flutter Drift

madteacher/mad-agents-skills
468 installs100 stars
Summary

If you're wiring Drift into a Flutter app and want to avoid the usual SQLite footguns, this skill walks you through the full cycle: inspecting what's already there, adding dependencies with pub commands instead of hardcoded versions, defining tables, running build_runner, and handling schema migrations with make-migrations and generated tests. It's opinionated about scoping (database.select, not bare select in widgets) and won't let you bump schemaVersion without a migration plan. The workflow is methodical, maybe verbose if you already know Drift cold, but solid if you're debugging generated code errors, adding reactive streams with Riverpod, or setting up web support with the wasm assets.

Install to Claude Code

npx -y skills add madteacher/mad-agents-skills --skill flutter-drift --agent claude-code

Installs into .claude/skills of the current project.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Files
SKILL.mdView on GitHub

Flutter Drift

Use this skill to add or repair Drift-based local persistence in Flutter apps. The skill is an operating workflow: inspect the target app first, choose only the relevant reference files, implement with current Drift APIs, and validate generated code.

Core Workflow

  1. Inspect the app before editing:
    • Check pubspec.yaml, existing database files, build.yaml, state management package, target platforms, and tests.
    • Prefer the app's current architecture and naming over the examples in this skill.
  2. Add or verify dependencies with package commands instead of hardcoding versions:
    • dart pub add drift drift_flutter path_provider dev:drift_dev dev:build_runner
    • Add provider or flutter_riverpod only when the app already uses it or the user asks for that integration.
  3. Create or update the database entry point:
    • Define tables in Dart or .drift files.
    • Add the tables to @DriftDatabase.
    • Open Flutter databases with driftDatabase from package:drift_flutter/drift_flutter.dart unless the project needs a custom executor.
  4. Keep Drift calls scoped to the database object:
    • Use database.select(database.todoItems), database.into(database.todoItems), database.update(database.todoItems), and database.delete(database.todoItems) from widgets, services, and repositories.
    • Use bare select(todoItems) only inside GeneratedDatabase subclasses or DatabaseAccessor classes where the methods and table getters are in scope.
  5. Generate code after changing Drift declarations:
    • Run dart run build_runner build.
    • Treat generator errors as blockers, not optional cleanup.
  6. For schema changes in an existing app, use Drift's guided migration workflow:
    • Configure drift_dev databases in build.yaml.
    • Run dart run drift_dev make-migrations before and after schema changes as needed.
    • Bump schemaVersion, write generated step-by-step migrations, and run generated migration tests.
  7. Validate before finishing:
    • Run dart format on edited Dart files.
    • Run flutter analyze or dart analyze for the package.
    • Run targeted tests, including generated migration tests when migrations changed.

Resource Routing

  • Read references/setup.md when adding Drift, opening a database, configuring web support, or sharing a database across isolates.
  • Read references/tables.md when defining tables, columns, defaults, keys, indexes, constraints, generated columns, or strict tables.
  • Read references/queries.md when implementing selects, filters, sorting, pagination, joins, aggregations, subqueries, custom columns, or unions.
  • Read references/writes.md when implementing inserts, updates, deletes, upserts, companions, transactions, or batch operations.
  • Read references/streams.md when implementing reactive Drift streams, StreamBuilder, StreamProvider, custom select streams, table update listeners, or manual stream invalidation.
  • Read references/migrations.md when schemaVersion, existing user data, build.yaml, make-migrations, generated schema files, or migration tests are involved.
  • Read references/flutter-ui.md when wiring Drift data into Flutter widgets with Provider, Riverpod, StreamBuilder, search, filtering, pagination, or user-facing loading and error states.

Required API Rules

  • Do not call select(database.table) as a top-level function from a widget. Use database.select(database.table) outside database classes.
  • Do not use watch(...), todoUpdates(...), or notifyTableUpdates(...). Use customSelect(...).watch(), tableUpdates(...), and notifyUpdates(...).
  • Do not call delete(table).go(id). Add a where clause and then call go(), or use generated table extension helpers if the project already uses them.
  • Do not use batch.updateAll(...) or pass raw ids to batch.delete(...). Use batch.update(..., where: ...), batch.delete(...) with an insertable row, or batch.deleteWhere(...).
  • Do not mix Provider and Riverpod APIs. Provider.of<AppDatabase>(context) belongs to provider; Provider<AppDatabase>((ref) { ... }) and AsyncValue.when(...) belong to Riverpod.
  • Do not bump schemaVersion without a migration plan for existing databases.
  • Do not rely on raw SQLite writes when UI streams must update. Use Drift write APIs or call notifyUpdates with explicit TableUpdate metadata.

Fallbacks

  • If package downloads are blocked, update source files and leave exact dart pub add or flutter pub add commands for the user, then state that dependency resolution was not validated.
  • If a project cannot run build_runner, do not hand-write generated *.g.dart files. Fix source declarations and report the generator blocker.
  • If migration state is unclear, stop before changing schemaVersion; ask for the current released schema history or database files.
  • If web support is required but sqlite3.wasm and drift_worker.js are missing, add the code path and explicitly report the required web assets.

Validation Checklist

  • pubspec.yaml contains Drift runtime and generator dependencies.
  • Database files have valid part directives, table declarations, @DriftDatabase, constructor, and schemaVersion.
  • All query and write examples are scoped to the correct database/accessor context.
  • Generated code was rebuilt with build_runner.
  • Flutter UI examples handle loading, empty, error, and data states without treating AsyncValue as a List.
  • Migrations changed only with generated schema snapshots, step-by-step migration code, and tests.
  • flutter analyze or dart analyze passes for the edited package, or any remaining analyzer failure is reported with the blocker.
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Mobile Development
First SeenJun 3, 2026
View on GitHub

Recommended

More Mobile Development →
android-jetpack-compose

thebushidocollective/han

android jetpack compose
1.3k
165
android-jetpack-compose-expert

sickn33/antigravity-awesome-skills

android jetpack compose expert
163
39.4k
Expo UI Jetpack Compose

expo/skills

expo ui jetpack compose
2k
mobile-android-design

wshobson/agents

Material Design 3 and Jetpack Compose patterns for building modern, adaptive Android applications.
16k
36.2k
kotlin-tooling-cocoapods-spm-migration

kotlin/kotlin-agent-skills

Migrate KMP projects from CocoaPods (kotlin("native.cocoapods")) to Swift Package Manager (swiftPMDependencies DSL) — replaces pod() with swiftPackage(), transforms cocoapods.* imports to swiftPMImport.*, and reconfigures the Xcode project.
439
836
migrate-xml-views-to-jetpack-compose

android/skills

migrate xml views to jetpack compose
489
5.5k