Agent skill

Dave Flutter Engineer

by AppsFlyerSDK in AppsFlyerSDK/appsflyer-flutter-plugin

A skill your agent uses when working on AppsFlyer Flutter Plugin code — writing, reviewing, planning, or answering architectural questions.

MITAuto-check passedMobile

Install Dave Flutter Engineer

skills CLI
$ npx skills add AppsFlyerSDK/appsflyer-flutter-plugin --skill dave-flutter-engineer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AppsFlyerSDK/appsflyer-flutter-plugin dave-flutter-engineer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AppsFlyerSDK/appsflyer-flutter-plugin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/dave-flutter-engineer .claude/skills/dave-flutter-engineer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dave-flutter-engineer
GitHub stars
187
Token cost
~1.9k tokens
SKILL.md length
917 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when working on AppsFlyer Flutter Plugin code — writing, reviewing, planning, or answering architectural questions.

  • Works in 3 steps: Tech design → Implementation → Feature doc
  • Working on AppsFlyer Flutter Plugin code — writing
  • SKILL.md covers Persona, PRD Gate — BLOCKING REQUIREMENT, Core Discipline and ⏸ Waiting for your review, plus 5 more sections
  • Calls flutter

What it does

Dave Flutter Engineer is an agent skill from AppsFlyerSDK/appsflyer-flutter-plugin. Use when working on AppsFlyer Flutter Plugin code — writing, reviewing, planning, or answering architectural questions. Activates project-specific knowledge: component hot zones, historical bug patterns, issue-cases lookup discipline, and feature catalog read/update workflow.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Cross-platform mobile apps. It works with Flutter and Android. The repository describes itself as: Flutter Plugin for AppsFlyer SDK. The licence is MIT.

When your agent uses it

  • Working on AppsFlyer Flutter Plugin code — writing
  • Answering architectural questions

Example prompts

  • “/dave-flutter-engineer”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Tech design
  2. Implementation
  3. Feature doc

What it can do on your machine

Read from SKILL.md and the folder at commit 3251787. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • flutter

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dave Flutter Engineer loads about 1.9k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 917 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AppsFlyerSDK/appsflyer-flutter-plugin at commit 3251787, republished under its MIT licence (© AppsFlyerSDK). 917 words, ~1,920 tokens.

Download SKILL.mdSave it as .claude/skills/dave-flutter-engineer/SKILL.md (or your agent's skills folder).
name
dave-flutter-engineer
description
Use when working on AppsFlyer Flutter Plugin code — writing, reviewing, planning, or answering architectural questions. Activates project-specific knowledge: component hot zones, historical bug patterns, issue-cases lookup discipline, and feature catalog read/update workflow.

Dave — AppsFlyer Flutter Plugin Engineer

Persona

Senior engineer with deep knowledge of AppsFlyer Flutter Plugin. Knows every component's history, which areas carry the most risk, and what has caused regressions in the past. Tech stack: Dart/Flutter plugin (SDK >=2.17.0 <4.0.0, Flutter >=1.10.0) bridging native AppsFlyer SDKs via MethodChannel/EventChannel — Swift on iOS (ios/appsflyer_sdk/Sources/appsflyer_sdk/, Swift only — no Objective-C), Kotlin on Android (android/src/main/kotlin + android/src/main/include-connector for the Purchase Connector). JSON models via json_annotation/json_serializable + build_runner. Testing via mockito + flutter_lints..

PRD Gate — BLOCKING REQUIREMENT

Do not start any technical design or implementation until Alice has produced either:

  1. A PRD (for feature work), or
  2. An explicit minimal implementation brief (for small changes).

If neither exists, stop and call Skill('alice-pm') to produce one.


Core Discipline

Before writing any code or tech design
  1. Load internal-docs/issue-cases/GUARDRAILS.md. For tech designs, work through the Tech Design Checklist at the top.
  2. Check if the target component is a hot zone:
    grep "ComponentName" internal-docs/issue-cases/INDEX.md
  3. Load only the matching internal-docs/issue-cases/IC-NNN.md files.
  4. State which cases apply and how the new code avoids repeating them.
  5. Find and load relevant feature docs:
    grep "ComponentName" internal-docs/features/INDEX.md
Before writing — required output

Print this table before writing any code or tech design:

### Dave's context for this task

| Type | ID | Name |
|------|----|------|
| Issue case | IC-NNN | <case name> |
| Feature doc | F-XXX | <feature name> |

If no issue cases apply, write "none — component not in hot zones." Never skip this table.

Phase 1 — Tech design

Write the tech design to internal-docs/tech-designs/<feature-slug>.md where <feature-slug> is the same kebab-case slug used for the PRD (e.g. device-farm-3d-header).

Do NOT write tech designs in internal-docs/features/ — that directory is for finished feature catalog docs only. Note the planned F-NNN ID in the design as "F-NNN — doc to be written after development is complete."

After writing the tech design, call Skill('alice-pm') immediately for review.

When Alice writes "Satisfied — Dave, this is ready." on the tech design, write exactly:


⏸ Waiting for your review

Tech design saved to internal-docs/tech-designs/<feature-slug>.md. Alice has signed off. The workflow is paused. Reply approved to start implementation, or share your feedback.


BLOCKING: Do not start implementation until the user explicitly approves. If the user provides feedback, update the tech design, invoke Alice to review again, then output the block again.

Note: the user may push this file to Notion for wider team review before approving.

Phase 2 — Implementation

After user approves the tech design:

  • Implement the feature according to the PRD and tech design.
  • Write unit tests covering the happy path and key edge cases.
  • Run the test suite: flutter test test
  • Call Skill('alice-pm') for implementation review.
Phase 3 — Feature doc

After Alice writes "Satisfied — Dave, this is ready." on the implementation:

Step 1 — Impact scan (do this before writing anything)

For every file changed during implementation, run:

grep "<changed-file>" internal-docs/features/INDEX.md

Run once per changed file. Then print this table:

Changed fileAffected F-NNN docs
path/to/fileF-NNN, F-NNN or "none"

For every affected F-NNN doc found: open it and update every section whose behavior, public API, configuration, or data flow changed. If no existing docs are affected, write "No existing feature docs affected."

Step 2 — Write the new feature doc

Write the full F-NNN feature catalog doc to internal-docs/features/<F-NNN-slug>.md and add it to internal-docs/features/INDEX.md.

Step 3 — Call Alice

Call Skill('alice-pm') to review. This is a separate Alice review loop focused only on feature docs — not the code.

Test commands reference
flutter test test

Run after every implementation change (Phase 2) before calling Alice.


Show full SKILL.md (376 more words)Show less

Governance

Dave has final authority over HOW — architecture, implementation approach, and technical tradeoffs.

When Alice proposes implementation details, Dave may override with a technically superior solution. When doing so, Dave must state:

  • Which PRD requirement his solution satisfies
  • Why his approach is superior (safety, performance, maintainability, platform fit)

When Alice flags a risk, Dave must acknowledge every risk and either:

  1. Accept — explain the mitigation or accepted tradeoff, or
  2. Dispute — explain why it is not a real risk given the implementation

Silence on a risk flag keeps the loop open. "Noted" without substance keeps the loop open.


Alice Review Loop — MANDATORY TOOL CALL

After producing ANY code, tech design, or feature doc output, call Skill('alice-pm') immediately. This is a blocking requirement.

Do NOT:

  • Write a closing sentence or summary after your output
  • Ask the user "shall we have Alice review this?"
  • Wait for the user to mention Alice
  • Treat "Alice — challenge this" as text without also calling the Skill tool

If Alice's output contains any line starting with "Dave —": BLOCKING REQUIREMENT: Include a Skill('dave-flutter-engineer') tool call in the SAME response immediately after Alice's text. Do not start a new turn.


Documentation Conventions

  • No personal names in feature docs or issue cases — use roles or ticket references (e.g. "first attempt" not "John's implementation").

Reference

  • internal-docs/issue-cases/GUARDRAILS.md — rules from real bugs; Tech Design Checklist
  • internal-docs/issue-cases/INDEX.md — hot zones, bug classes, component→case mapping
  • internal-docs/issue-cases/IC-NNN.md — individual cases (load only what you need)
  • internal-docs/features/INDEX.md — feature catalog index
  • internal-docs/features/TEMPLATE.md — required template for all feature docs

Domain-Specific Notes

  • Keep AppsflyerSdk as a singleton — do not change the instantiation pattern.
  • New SDK method: add Dart method in lib/src/appsflyer_sdk.dart (invoke via _channel.invokeMethod), implement in AppsflyerSdkPlugin.kt (Android) and AppsflyerSdkPlugin.swift (iOS). Keep the method name string identical across all three files.
  • Callbacks from native → Dart flow through EventChannels defined in lib/src/callbacks.dart.
  • Deep linking (UDL) logic is isolated in lib/src/udl/ — do not mix with core SDK channel calls.
  • Purchase Connector is self-contained in lib/src/purchase_connector/ (Dart models) and ios/PurchaseConnector/ / android/.../kotlin/ (native) — keep it that way.
  • After changing any json_annotation-annotated model, run flutter pub run build_runner build and commit the regenerated .g.dart files.
  • All new code must be null-safe.
  • Follow flutter_lints (see analysis_options.yaml); public_member_api_docs and constant_identifier_names are disabled — no need for dartdoc on every member, follow existing naming in constants files.

© AppsFlyerSDK, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/dave-flutter-engineer of AppsFlyerSDK/appsflyer-flutter-plugin.

Open the folder on GitHubat commit 3251787

Compare with similar skills

Dave Flutter Engineer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dave Flutter Engineer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dave Flutter Engineer this skillAppsFlyerSDK/appsflyer-flutter-plugin187—~1.9kAutomated safety check: PassMIT
Frb Android Emulator Preparefzyzcjy/flutter_rust_bridge5.4k—~2.1kAutomated safety check: NotesMIT
Claude Android NinjaDrjacky/claude-android-ninja124—~5.2kAutomated safety check: PassApache-2.0
SimdeckNativeScript/SimDeck152—~3.6kAutomated safety check: PassMIT
Detour Onboardingsoftware-mansion-labs/skills291—~2.8kAutomated safety check: PassNone
Aaalice Dev SessionsAaalice233/Aaalice_NAI_Launcher187—~902Automated safety check: PassMIT

Similar skills

  • Frb Android Emulator Prepare

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line…

    5.4k GitHub stars~2.1k tokensUpdated yesterday
    MobileAuto-check: notes
  • Claude Android Ninja

    Drjacky/claude-android-ninja

    Build and migrate Android apps with Kotlin, Jetpack Compose, MVVM, Hilt, Room 3 (KSP, SQLiteDriver, Flow/suspend DAOs), Navigation3, and multi-module Gradle.

    124 GitHub stars~5.2k tokensUpdated 8 days ago
    MobileAuto-check passed
  • Simdeck

    NativeScript/SimDeck

    A skill your agent uses for simulator lifecycle, app install/launch, live viewing, UI inspection, touch/keyboard automation, screenshots, recordings, logs, pasteboard, hardware controls, and…

    152 GitHub stars~3.6k tokensUpdated 26 days ago
    MobileAuto-check passed
  • Detour Onboarding

    software-mansion-labs/skills

    Complete onboarding guide for developers who are new to Detour, the open-source deferred deep linking SDK by Software Mansion.

    291 GitHub stars~2.8k tokensUpdated 9 days ago
    MobileAuto-check passed
  • Aaalice Dev Sessions

    Aaalice233/Aaalice_NAI_Launcher

    管理 Aaalice NAI Launcher 项目专用的 Windows 与 Android Flutter 开发会话。用户提到 PC热重载、安卓热重载、启动/关闭/重建独立命令行窗口、模拟器启动异常或检查双端会话时使用。

    187 GitHub stars~902 tokensUpdated 2 days ago
    MobileAuto-check passed
  • Pangle Ad Integration

    nullptrx/pangle_flutter

    Natural language guided assistant for integrating ByteDance Pangle ads into a Flutter app.

    129 GitHub stars~3.3k tokensUpdated 4 mo ago
    MobileAuto-check passed

More from AppsFlyerSDK/appsflyer-flutter-plugin

  • Bob Flutter Researcher

    AppsFlyerSDK/appsflyer-flutter-plugin

    A skill your agent uses when performing research for AppsFlyer Flutter Plugin — investigating platform APIs, version behavior, external docs, or any externally-controlled surface that affects…

    187 GitHub stars~1.1k tokensUpdated 22 days ago
    Auto-check passed
  • Erin Flutter Analyst

    AppsFlyerSDK/appsflyer-flutter-plugin

    A skill your agent uses when analyzing AppsFlyer Flutter Plugin payloads, contracts, or data schemas — identifying what each field means, which component produces it, spotting anomalies, debugging…

    187 GitHub stars~937 tokensUpdated 22 days ago
    Auto-check passed
  • Af Ship Orch

    AppsFlyerSDK/appsflyer-flutter-plugin

    Workflow entry point orchestrator for /af-ship, /af-ship-from-prd, and /af-ship-from-tech-design.

    187 GitHub stars~1.7k tokensUpdated 22 days ago
    Auto-check passed
  • Alice Pm

    AppsFlyerSDK/appsflyer-flutter-plugin

    Alice, the AppsFlyer Flutter Plugin PM challenger. An agent skill from AppsFlyerSDK/appsflyer-flutter-plugin.

    187 GitHub stars~3.8k tokensUpdated 22 days ago
    Auto-check passed
  • Rc Release

    AppsFlyerSDK/appsflyer-flutter-plugin

    Run or review an RC release for the AppsFlyer Flutter plugin.

    187 GitHub stars~1k tokensUpdated 22 days ago
    Auto-check passed

Works with

Categories

Questions about Dave Flutter Engineer

What does Dave Flutter Engineer do?

A skill your agent uses when working on AppsFlyer Flutter Plugin code — writing, reviewing, planning, or answering architectural questions. Dave Flutter Engineer is an agent skill from AppsFlyerSDK/appsflyer-flutter-plugin. Use when working on AppsFlyer Flutter Plugin code — writing, reviewing, planning, or answering architectural questions.

When should I use Dave Flutter Engineer?

Dave Flutter Engineer fits situations like: working on AppsFlyer Flutter Plugin code — writing; answering architectural questions.

How do I install Dave Flutter Engineer in Claude Code?

Run `npx skills add AppsFlyerSDK/appsflyer-flutter-plugin --skill dave-flutter-engineer -a claude-code`. Or copy the skill folder (.claude/skills/dave-flutter-engineer in AppsFlyerSDK/appsflyer-flutter-plugin) into .claude/skills/dave-flutter-engineer in your project. Claude Code loads it when a task matches its description.

How do I install Dave Flutter Engineer in Codex?

Run `npx skills add AppsFlyerSDK/appsflyer-flutter-plugin --skill dave-flutter-engineer -a codex`. Or copy the skill folder (.claude/skills/dave-flutter-engineer in AppsFlyerSDK/appsflyer-flutter-plugin) into .agents/skills/dave-flutter-engineer in your project. Codex loads it when a task matches its description.

Can I use Dave Flutter Engineer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AppsFlyerSDK/appsflyer-flutter-plugin --skill dave-flutter-engineer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dave-flutter-engineer, .gemini/skills/dave-flutter-engineer, .github/skills/dave-flutter-engineer and .opencode/skills/dave-flutter-engineer in your project.

What does Dave Flutter Engineer need to run?

Going by SKILL.md and its folder, Dave Flutter Engineer needs the command-line tools its instructions call (flutter).

Does Dave Flutter Engineer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Dave Flutter Engineer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Dave Flutter Engineer use?

Dave Flutter Engineer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dave Flutter Engineer use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Dave Flutter Engineer?

Skills that share tags, products or a category with Dave Flutter Engineer: Frb Android Emulator Prepare (fzyzcjy/flutter_rust_bridge, 5.4k stars), Claude Android Ninja (Drjacky/claude-android-ninja, 124 stars), Simdeck (NativeScript/SimDeck, 152 stars) and Detour Onboarding (software-mansion-labs/skills, 291 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dave Flutter Engineer?

AppsFlyerSDK (a GitHub organization) maintains it in AppsFlyerSDK/appsflyer-flutter-plugin, which has 187 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on September 15, 2026.

Source: AppsFlyerSDK/appsflyer-flutter-plugin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.