flutter_soloud Setup
alnitak/flutter_soloud
Walks through adding the flutter_soloud audio engine to a Flutter app, with per-platform setup, initialization, binary-size and logging options, and output device switching.
Interoperates with native platform APIs on Android, iOS, and the web.
$ npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install btwld/superdeck flutter-interoperating-with-native-apis --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/btwld/superdeck.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/flutter-interoperating-with-native-apis .claude/skills/flutter-interoperating-with-native-apis && rm -rf skills-srcUse ~/.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/
Install the "flutter-interoperating-with-native-apis" agent skill from https://github.com/btwld/superdeck/tree/main/.agents/skills/flutter-interoperating-with-native-apis into .claude/skills/flutter-interoperating-with-native-apis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-interoperating-with-native-apis", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/btwld/superdeck/tree/main/.agents/skills/flutter-interoperating-with-native-apisType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install btwld/superdeck flutter-interoperating-with-native-apis --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/btwld/superdeck.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/flutter-interoperating-with-native-apis .agents/skills/flutter-interoperating-with-native-apis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "flutter-interoperating-with-native-apis" agent skill from https://github.com/btwld/superdeck/tree/main/.agents/skills/flutter-interoperating-with-native-apis into .agents/skills/flutter-interoperating-with-native-apis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-interoperating-with-native-apis", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install btwld/superdeck flutter-interoperating-with-native-apis --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/btwld/superdeck.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/flutter-interoperating-with-native-apis .cursor/skills/flutter-interoperating-with-native-apis && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "flutter-interoperating-with-native-apis" agent skill from https://github.com/btwld/superdeck/tree/main/.agents/skills/flutter-interoperating-with-native-apis into .cursor/skills/flutter-interoperating-with-native-apis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-interoperating-with-native-apis", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/btwld/superdeck.git --path .agents/skills/flutter-interoperating-with-native-apis--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install btwld/superdeck flutter-interoperating-with-native-apis --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/btwld/superdeck.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/flutter-interoperating-with-native-apis .gemini/skills/flutter-interoperating-with-native-apis && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "flutter-interoperating-with-native-apis" agent skill from https://github.com/btwld/superdeck/tree/main/.agents/skills/flutter-interoperating-with-native-apis into .gemini/skills/flutter-interoperating-with-native-apis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-interoperating-with-native-apis", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install btwld/superdeck flutter-interoperating-with-native-apisInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/btwld/superdeck.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/flutter-interoperating-with-native-apis .github/skills/flutter-interoperating-with-native-apis && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "flutter-interoperating-with-native-apis" agent skill from https://github.com/btwld/superdeck/tree/main/.agents/skills/flutter-interoperating-with-native-apis into .github/skills/flutter-interoperating-with-native-apis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-interoperating-with-native-apis", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install btwld/superdeck flutter-interoperating-with-native-apis --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/btwld/superdeck.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/flutter-interoperating-with-native-apis .opencode/skills/flutter-interoperating-with-native-apis && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "flutter-interoperating-with-native-apis" agent skill from https://github.com/btwld/superdeck/tree/main/.agents/skills/flutter-interoperating-with-native-apis into .opencode/skills/flutter-interoperating-with-native-apis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-interoperating-with-native-apis", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
flutter-interoperating-with-native-apisInteroperates with native platform APIs on Android, iOS, and the web.
Flutter Interoperating With Native APIs is an agent skill from btwld/superdeck. Interoperates with native platform APIs on Android, iOS, and the web. Use when accessing device-specific features not available in Dart or calling existing native code.
Its SKILL.md is about 2.1k 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, Android, iOS and Dart. The repository describes itself as: Presentation slides for Flutter with Flutter. The licence is BSD-3-Clause.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 815a746. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
flutterdartFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Flutter Interoperating With Native APIs loads about 2.1k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 926 words of instructions outside code blocks.
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.
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.
The full file from btwld/superdeck at commit 815a746, republished under its BSD-3-Clause licence (© btwld). 926 words, ~2,065 tokens.
.claude/skills/flutter-interoperating-with-native-apis/SKILL.md (or your agent's skills folder).dart:ffi library used to bind Dart directly to native C/C++ APIs.MethodChannel, BasicMessageChannel) connecting the Dart client (UI) to the host platform (Kotlin/Java, Swift/Objective-C, C++).View, iOS UIView) directly into the Flutter widget tree.package:web and dart:js_interop.Use FFI to execute high-performance native code or utilize existing C/C++ libraries without the overhead of asynchronous Platform Channels.
package_ffi template. This utilizes build.dart hooks to compile native code, eliminating the need for OS-specific build files (CMake, build.gradle, podspec).flutter create --template=package_ffi <package_name>plugin_ffi template.flutter create --template=plugin_ffi <plugin_name>extern "C" and prevent linker discarding during link-time optimization (LTO).extern "C" __attribute__((visibility("default"))) __attribute__((used))build.dart hook produces the exact same filename across all target architectures (e.g., arm64 vs x86_64) and SDKs (iphoneos vs iphonesimulator). Do not append architecture suffixes to the .dylib or .framework names.package:ffigen to generate Dart bindings from your C headers (.h). Configure this in ffigen.yaml.Use Platform Channels when you need to interact with platform-specific APIs (e.g., Battery, Bluetooth, OS-level services) using the platform's native language.
Always prefer package:pigeon over raw MethodChannel implementations for complex or frequently used APIs.
@HostApi()).makeBackgroundTaskQueue()).Isolate, ensure it is registered using BackgroundIsolateBinaryMessenger.ensureInitialized(rootIsolateToken).Use Platform Views to embed native UI components (e.g., Google Maps, native video players) into the Flutter widget tree.
Evaluate the trade-offs between the two rendering modes and select the appropriate one:
PlatformViewLink + AndroidViewSurface). This appends the native view to the hierarchy but may reduce Flutter's rendering performance.AndroidView). This renders the native view into a texture. Note: Quick scrolling may drop frames, and SurfaceView is problematic.FlutterPlatformViewFactory and FlutterPlatformView in Swift or Objective-C.UiKitView widget on the Dart side.ShaderMask and ColorFiltered widgets cannot be applied to iOS Platform Views.Flutter Web supports compiling to WebAssembly (Wasm) for improved performance and multi-threading.
flutter build web --wasm.Cross-Origin-Embedder-Policy: credentialless (or require-corp)Cross-Origin-Opener-Policy: same-originpackage:web and dart:js_interop.dart:html, dart:js, or package:js. These are incompatible with Wasm compilation.HtmlElementView.fromTagName to inject arbitrary HTML elements (like <video>) into the Flutter Web DOM.Use this workflow when binding to a C/C++ library.
flutter create --template=package_ffi <name>.src/ directory.extern "C" and visibility attributes.ffigen.yaml to point to your header files.dart run ffigen to generate Dart bindings.hook/build.dart if linking against pre-compiled or system libraries.flutter test -> review errors -> fix.Use this workflow when you need to call Kotlin/Swift APIs from Dart.
pigeon to dev_dependencies.pigeons/messages.dart and define data classes and @HostApi() abstract classes.MainActivity.kt or your Plugin class.AppDelegate.swift or your Plugin class.Use this workflow when embedding a native UI component (e.g., a native map or camera view).
AndroidView (or PlatformViewLink) for Android, and UiKitView for iOS based on defaultTargetPlatform.PlatformView that returns the native Android View.PlatformViewFactory and register it in configureFlutterEngine.FlutterPlatformView that returns the native UIView.FlutterPlatformViewFactory and register it in application:didFinishLaunchingWithOptions:.© btwld, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/flutter-interoperating-with-native-apis of btwld/superdeck.
Open the folder on GitHubat commit 815a746
Flutter Interoperating With Native APIs 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Flutter Interoperating With Native APIs this skillbtwld/superdeck | 129 | — | ~2.1k | Automated safety check: Pass | BSD-3-Clause | |
| flutter_soloud Setupalnitak/flutter_soloud | 424 | — | ~3.6k | Automated safety check: Notes | MIT | |
| Flutter Appccplugins/awesome-claude-code-plugins | 967 | — | ~1.1k | Automated safety check: Notes | Apache-2.0 | |
| Fkit SetupJoker-x-dev/FlutterKit | 127 | — | ~720 | Automated safety check: Pass | MIT | |
| Fkit NativeJoker-x-dev/FlutterKit | 127 | — | ~285 | Automated safety check: Pass | MIT | |
| Iphone Duo Fluttermirzaaghazadeh/iphone-duo-skills | 137 | — | ~1.6k | Automated safety check: Pass | Custom licence |
alnitak/flutter_soloud
Walks through adding the flutter_soloud audio engine to a Flutter app, with per-platform setup, initialization, binary-size and logging options, and output device switching.
ccplugins/awesome-claude-code-plugins
Bootstrap a new Flutter mobile app with clean architecture, Riverpod, FVM-pinned SDK, current packages, and no deprecated APIs.
Joker-x-dev/FlutterKit
将 FlutterKit 脚手架初始化为新的应用项目,统一修改应用显示名称、Dart 包名、Android Application ID、Apple Bundle ID、Linux/Windows 标识、Web 名称、运行时品牌文案、Logo、桌面图标和启动页。用户拉取模板后要求改名、改包名、替换品牌资源或完成首次项目配置时使用。
Joker-x-dev/FlutterKit
管理 FlutterKit 多端运行时资源、应用图标、原生启动页、Android/iOS/Web/桌面端配置和发布构建。用户要求生成图标、启动页、FlutterGen 资源、同步原生底座、排查原生缓存或执行多端打包时使用。
mirzaaghazadeh/iphone-duo-skills
Adapt a Flutter app to iPhone Duo, Apple's first foldable iPhone — what MediaQuery gives you today, why displayFeatures does not work here, and how to bridge the iOS 27.1 reserved-region, hinge and…
first-fluke/oh-my-agent
Mobile specialist for Flutter, React Native, and cross-platform mobile development.
btwld/superdeck
Create, review, or edit SuperDeck Markdown presentations and Flutter presentation apps.
btwld/superdeck
Adds home screen widgets to a Flutter app for Android and iOS.
btwld/superdeck
Implements animated effects, transitions, and motion in a Flutter app.
btwld/superdeck
Architects a Flutter application using the recommended layered approach (UI, Logic, Data).
btwld/superdeck
Builds Flutter forms with validation and user input handling.
btwld/superdeck
Builds Flutter layouts using the constraint system and layout widgets.
Categories
Interoperates with native platform APIs on Android, iOS, and the web. Flutter Interoperating With Native APIs is an agent skill from btwld/superdeck. Interoperates with native platform APIs on Android, iOS, and the web.
Flutter Interoperating With Native APIs fits situations like: accessing device-specific features not available in Dart; calling existing native code.
Run `npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a claude-code`. Or copy the skill folder (.agents/skills/flutter-interoperating-with-native-apis in btwld/superdeck) into .claude/skills/flutter-interoperating-with-native-apis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a codex`. Or copy the skill folder (.agents/skills/flutter-interoperating-with-native-apis in btwld/superdeck) into .agents/skills/flutter-interoperating-with-native-apis in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add btwld/superdeck --skill flutter-interoperating-with-native-apis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flutter-interoperating-with-native-apis, .gemini/skills/flutter-interoperating-with-native-apis, .github/skills/flutter-interoperating-with-native-apis and .opencode/skills/flutter-interoperating-with-native-apis in your project.
Going by SKILL.md and its folder, Flutter Interoperating With Native APIs needs the command-line tools its instructions call (flutter and dart).
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.
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.
Flutter Interoperating With Native APIs is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Flutter Interoperating With Native APIs: flutter_soloud Setup (alnitak/flutter_soloud, 424 stars), Flutter App (ccplugins/awesome-claude-code-plugins, 967 stars), Fkit Setup (Joker-x-dev/FlutterKit, 127 stars) and Fkit Native (Joker-x-dev/FlutterKit, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
btwld (a GitHub organization) maintains it in btwld/superdeck, which has 129 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on September 28, 2026.
Source: btwld/superdeck on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.