Agent skill

flutter_soloud Setup

by alnitak in 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.

MITAuto-check: notesMobile

Install flutter_soloud Setup

skills CLI
$ npx skills add alnitak/flutter_soloud --skill flutter-soloud-setup -a claude-code

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

GitHub CLI
$ gh skill install alnitak/flutter_soloud flutter-soloud-setup --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/alnitak/flutter_soloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/flutter-soloud-setup .claude/skills/flutter-soloud-setup && 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
flutter-soloud-setup
GitHub stars
424
Token cost
~3.6k tokens
SKILL.md length
1,429 words
Files
3 (incl. references)
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Adding flutter_soloud to a Flutter project
  • SKILL.md covers Minimal example, Adding the package, Platform setup and The API shape, plus 5 more sections
  • Calls flutter, dart and apt
  • Setting up web, Linux or mobile prerequisites for audio playback

What it does

flutter_soloud is an FFI plugin around the SoLoud C++ engine whose native code is compiled by Dart build hooks, so setup is mostly a pubspec entry (`flutter pub add flutter_soloud`) plus a few platform details. Everything goes through the singleton `SoLoud.instance`, which must be initialized before use and deinitialized on shutdown, unlike packages that create a player per instance.

Platform notes cover a script tag in `web/index.html` that chooses a multi-threaded or single-threaded WASM build depending on cross-origin isolation, Linux audio through ALSA, PulseAudio or JACK loaded at runtime with FFmpeg libraries needed for formats like M4A and AAC, Android `minSdk` 21, and iOS 13.0 and macOS 10.15 minimums. The description also mentions excluding the Xiph libraries to shrink binaries, setting up logging and enumerating or switching output devices, but the excerpt is truncated before those sections.

When your agent uses it

  • Adding flutter_soloud to a Flutter project
  • Setting up web, Linux or mobile prerequisites for audio playback
  • Shrinking a Flutter app's size by dropping the Xiph libraries
  • Switching the audio output device

Example prompts

  • “Add flutter_soloud to my Flutter app and initialize it in main.”
  • “Set up flutter_soloud for web, including the script tag and the headers it needs.”
  • “Make flutter_soloud work on Linux and tell me which audio libraries must be installed.”

Requirements

  • A Flutter project
  • On Linux, ALSA or PulseAudio runtime libraries, and FFmpeg for extended formats

What it can do on your machine

Read from SKILL.md and the folder at commit 289697e. 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
    • dart
    • apt
    • dnf

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

  • Network

    Links to these hosts (documentation or services it may open):

    • dart.dev
    • github.com

    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

flutter_soloud Setup loads about 3.6k tokens when it runs, and up to ~7.1k if it reads all its reference files. Until then it costs about 143 tokens; SKILL.md has 1,429 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~143
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.1k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:53
    g is installed on the user system (e.g. `sudo apt install ffmpeg libavcodec-extra` on Debian/Ubuntu, `sudo pacman -S ffm
  • NoteRuns commands with sudoSKILL.md:108
    g. `vcpkg install ...:arm64-windows` or `sudo apt install ...`) or `<platform>_force_build_libs: true` in `pubspec.yaml`

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 alnitak/flutter_soloud at commit 289697e, republished under its MIT licence (© alnitak). 1,429 words, ~3,621 tokens.

Download SKILL.mdSave it as .claude/skills/flutter-soloud-setup/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
flutter-soloud-setup
description
Teaches how to add flutter_soloud to a Flutter app, configure each platform (web script tag and COOP/COEP headers, Linux audio backends ALSA/PulseAudio/JACK, Android/iOS/macOS minimum versions), initialize and deinitialize the engine, shrink binaries by excluding the Xiph libs, set up logging, and enumerate/switch output devices or Linux audio backends. Use when a user asks to install flutter_soloud, initialize SoLoud, set up web/background-audio prerequisites, configure Linux audio backends, reduce binary size, or switch the audio output device.
version
4

flutter_soloud setup

flutter_soloud is an FFI plugin around the SoLoud C++ engine: the native code is compiled automatically by Dart build hooks when you depend on the package, so setup is mostly pubspec + a few platform bits (one <script> tag on web, minimum SDK versions). Unlike audioplayers/just_audio there is no per-player instance — everything goes through the singleton SoLoud.instance, which must be init()ed before use and deinit()ed on shutdown.

Minimal example

dart
import 'package:flutter_soloud/flutter_soloud.dart';

Future<void> main() async {
  // Optional: pick the output device before init.
  final devices = SoLoud.instance.listPlaybackDevices(); // works pre-init

  await SoLoud.instance.init(
    // device: devices.firstWhere((d) => d.isDefault),
    // linuxAudioBackend: LinuxAudioBackend.auto, // auto, alsa, pulseAudio, jack
    sampleRate: 44100,
    bufferSize: 2048,
    channels: Channels.stereo,
    lowLatency: true,
    automaticCleanup: false,
  );

  final sound = await SoLoud.instance.loadAsset('assets/audio/click.mp3');
  SoLoud.instance.play(sound);

  // Later, on shutdown:
  SoLoud.instance.deinit();
}

Adding the package

sh
flutter pub add flutter_soloud

Native C/C++ sources are compiled by Dart build hooks (hooks/code_assets/native_toolchain_c are transitive deps of the package). No CMake, CocoaPods script phases, or compiler flags are needed.

Platform setup

  • Web — add to the <body> of web/index.html:
    html
    <script src="assets/packages/flutter_soloud/web/init_soloud.js" defer></script>
    The script auto-picks between the multi-threaded (AudioWorklet) and single-threaded (ScriptProcessorNode) WASM builds based on whether the page is cross-origin isolated. Details in references/web.md.
  • Linux — audio playback uses miniaudio with dynamic runtime loading for ALSA (libasound.so.2), PulseAudio (libpulse.so), and JACK (libjack.so). No extra C/C++ development packages or compile-time headers are required to build. Ensure runtime libraries are present on the host system (e.g. libasound2, libpulse0). To decode extended OS-native formats (M4A, MP4 audio tracks, AAC, AC-3, and E-AC-3), the engine dynamically loads FFmpeg shared libraries (libavcodec and libavformat) at runtime; ensure FFmpeg is installed on the user system (e.g. sudo apt install ffmpeg libavcodec-extra on Debian/Ubuntu, sudo pacman -S ffmpeg on Arch, sudo dnf install ffmpeg-free on Fedora). Core formats (MP3, WAV, OGG, FLAC) work without FFmpeg.
  • Android — minSdk = 21 (the plugin sets this in its own build.gradle; your app-level minSdkVersion must be >= 21).
  • iOS — deployment target iOS 13.0+; macOS — 10.15+. Native assets are compiled and bundled for both CocoaPods and SPM projects.

The API shape

All of these live on the singleton SoLoud.instance (import 'package:flutter_soloud/flutter_soloud.dart').

  • Future<void> init({PlaybackDevice? device, bool automaticCleanup = false, int sampleRate = 44100, int bufferSize = 2048, Channels channels = Channels.stereo, bool lowLatency = true, AndroidAAudioAttributes androidAAudioAttributes = AndroidAAudioAttributes.mediaMusic, int? devicePeriodFrames, int? renderAheadFrames, LinuxAudioBackend linuxAudioBackend = LinuxAudioBackend.auto}) — initializes the engine. Throws on failure (e.g. SoLoudCppException, SoLoudNoPlaybackDevicesFoundCppException); it does not return a PlayerErrors status, so await it in try/catch.
  • void deinit() / Future<void> deinitAsync() — stops the engine and disposes all resources including sounds. deinit blocks the calling thread; prefer deinitAsync where you can await it.
  • bool get isInitialized — synchronous readiness check.
  • List<PlaybackDevice> listPlaybackDevices() — safe to call before init(). Returns PlaybackDevice(id, isDefault, name).
  • Future<void> changeDevice({PlaybackDevice? newDevice}) — switches output while running; omit newDevice to select the system default. Await it — the swap runs off the UI isolate.
  • Future<void> setLinuxAudioBackend(LinuxAudioBackend backend) — Linux only: selects or dynamically switches the audio backend (LinuxAudioBackend.auto [ALSA -> PulseAudio -> JACK], .alsa, .pulseAudio, .jack). Safe to call before init() or while the engine is running.
  • Future<void> stopAudioDevice({bool force = false}) / Future<void> startAudioDevice() — stop/start only the output device; loaded sounds, voices, and filter state are preserved and playback resumes where it left off.
  • AudioDeviceState getAudioDeviceState() — cheap sync read: uninitialized | stopped | started | starting | stopping. Safe before init().
  • void setAudioDeviceIdleTimeout(Duration? timeout) — when no unpaused voices remain: Duration.zero stops the device ASAP, a positive duration keeps it alive that long (default 500 ms), null keeps it running indefinitely (Android wakelock). No effect on web.

Divergences from what models trained on audioplayers/just_audio assume:

  • One global engine, no AudioPlayer() instances. Call SoLoud.instance.init() once, early; every other call throws SoLoudNotInitializedException before that.
  • play() is synchronous and returns a SoundHandle immediately — it cannot report device-start failures; subscribe to SoLoud.instance.audioDeviceStartFailures for those.
  • init() while already initialized deinitializes and reinitializes, stopping all sounds and unloading all files.
  • init() options that are native-only (silently ignored on web): lowLatency, androidAAudioAttributes (Android-only, and only when lowLatency: false), devicePeriodFrames, renderAheadFrames.
  • automaticCleanup: true makes the engine purge its temp directory of loaded sound files occasionally — relevant for apps that load many files from the network.
Render-Ahead Ring (ultra-low latency with large mix buffers)

On native platforms (Android, iOS, macOS, Windows, Linux), you can decouple the hardware output period from the engine mix buffer by setting renderAheadFrames > 0:

dart
await SoLoud.instance.init(
  bufferSize: 2048,           // Large DSP/mixing quantum for CPU headroom
  devicePeriodFrames: 512,    // Hardware device callback period (~11 ms @ 44.1kHz)
  renderAheadFrames: 1536,    // Mix-ahead depth (e.g. bufferSize - devicePeriodFrames)
);
  • How it works: The engine pre-mixes audio renderAheadFrames ahead into an internal ring buffer. When reactive calls like play() or playScheduled() occur, audio is mixed retroactively into the not-yet-played section of the ring, giving near-instantaneous keypress-to-sound latency (~11 ms) without risking audio underruns from tiny mix buffers.
  • Inspection getters:
    • bool get isRenderAheadEnabled — true when enabled on native platforms.
    • Duration getPlayheadTime() — true playhead time reaching the speaker right now (equals getEngineTime() when disabled or on web).
    • Duration getOutputLatency() — estimated output latency (ring depth + device period; Duration.zero when disabled or on web).
  • Caveats: Ignored on web. Ended-voice callbacks may fire up to renderAheadFrames earlier than without the ring. Unseekable/un-snapshotable streams (released push streams, pull streams, speechText) degrade gracefully to standard buffer boundaries.
Show full SKILL.md (719 more words)Show less

Traps

  • Don't await a return code from init(). It returns Future<void> and throws; older docs suggest a PlayerErrors return. Trust the code.
  • Calling init() again (e.g. after hot restart) wipes all loaded sounds — guard with isInitialized if you only want to init once.
  • Web without the <script> tag fails at init() with confusing WASM-module errors. The tag must be present, and the WASM assets only load from assets/packages/flutter_soloud/web/….
  • Web: don't pass --web-header COOP/COEP flags together with flutter run --wasm — the dev server already sends COOP/COEP for WasmGC and the conflicting duplicated headers block the plugin's worker threads (ERR_BLOCKED_BY_RESPONSE). See references/web.md.
  • changeDevice is desktop-mostly: Android, iOS, and Web support only the default output device; listPlaybackDevices() there returns just the default.
  • A device stopped via stopAudioDevice() or the idle timeout stays stopped across changeDevice() — the replacement device only starts if the old one was running.
  • Linux audio server missing at runtime — if ALSA or PulseAudio is not running on the system, init() or device enumeration may find no devices. Ensure libasound2 or libpulse0 is installed and the sound daemon is active. You can switch backends via setLinuxAudioBackend() or pass linuxAudioBackend at init() if one backend behaves better on the target desktop.
  • On web, loadUrl() hits CORS (Access-Control-Allow-Origin missing) unless the server allows it, and local files can't be read — use loadMem() instead.
  • Windows on ARM (arm64) and Linux on ARM (Raspberry Pi) require system libs or source build: Bundled prebuilt binaries for Windows and Linux are x86_64 only. For ARM desktop targets, set <platform>_use_system_libs: true (e.g. vcpkg install ...:arm64-windows or sudo apt install ...) or <platform>_force_build_libs: true in pubspec.yaml.
  • Don't distribute desktop apps with <platform>_use_system_libs: true: System libraries are not bundled into the app package; if missing on the end user's machine, the app will crash at startup. Use the default bundled prebuilts for app distribution.
  • <platform>_force_build_libs: true significantly increases build time: It clones 4 Git repos and compiles them via CMake across all target architectures (4 for Android, 2 for Apple). Artifacts are cached in flutter_soloud's .dart_tool/ (persisting across flutter clean in your app), but clean CI jobs will compile from scratch. Leave at default false unless you need custom compilation.

Xiph audio libraries (Ogg, Vorbis, Opus, FLAC)

The Xiph audio decoders provide compressed audio playback, streaming, and master output capture (600–3000 KB per binary). To keep the pub package lightweight, tested precompiled static and shared libraries are hosted in the companion repository flutter_soloud_prebuilds.

By default, Dart Native Assets build hooks automatically download the matching prebuilt archive on first build and cache it under .dart_tool/flutter_soloud/xiph/prebuild/:

  • Android: 4 ABIs (arm64-v8a, armeabi-v7a, x86, x86_64)
  • iOS: Universal arm64 device + arm64/x86_64 simulator static libraries
  • macOS: Universal Apple Silicon (arm64) + Intel (x86_64) static libraries
  • Windows: x64 and arm64 DLLs and import libraries
  • Linux: x86_64 and aarch64 shared .so libraries

This ensures that packaged apps (Android AAB/APK, iOS IPA, macOS APP, Windows EXE) work out of the box with zero external build dependencies.

You can customize this in the app's pubspec.yaml under hooks.user_defines.flutter_soloud:

  • Pin a specific prebuild release version (default is latest):

    yaml
    hooks:
      user_defines:
        flutter_soloud:
          prebuild_tag: 'v1.0.1' # Optional: pin to a specific release tag
  • Link against system-installed packages (desktop only):

    yaml
    hooks:
      user_defines:
        flutter_soloud:
          linux_use_system_libs: true
          macos_use_system_libs: true
          windows_use_system_libs: true
  • Force building from source via CMake into .dart_tool/:

    yaml
    hooks:
      user_defines:
        flutter_soloud:
          linux_force_build_libs: true
          macos_force_build_libs: true
          windows_force_build_libs: true
          android_force_build_libs: true
          ios_force_build_libs: true
  • Exclude Xiph libraries entirely (shrinking binary size):

    yaml
    hooks:
      user_defines:
        flutter_soloud:
          no_xiph_libs: true

    When excluded, setBufferStream()/readSamplesFrom*() with Opus/Vorbis/FLAC throw SoLoudXiphLibsNotAvailableException; WAV, MP3, and synthesis work normally. On web, edit web/compile_wasm.sh in the package (NO_XIPH_LIBS="1") and rebuild the WASM yourself (requires Emscripten, Linux/macOS).

Logging

The plugin logs via package:logging (logger name flutter_soloud.SoLoud). Nothing is printed until you attach a listener:

dart
import 'package:logging/logging.dart';
import 'dart:developer' as dev;

Logger.root.level = Level.FINE;
Logger.root.onRecord.listen((r) => dev.log(r.message, name: r.loggerName));

More depth

  • references/web.md — the two WASM builds, COOP/COEP headers, dev-server pitfalls, CORS.
  • references/audio_context.md — background playback with audio_service + audio_session (media notification, lock-screen controls, ducking), with required iOS/Android manifest changes.
  • Demos: example/lib/output_device/output_device.dart (device enumeration and switching), example/lib/audio_context/audio_context.dart (full audio_service integration), example/lib/main.dart (minimal init/play).

Keeping this skill current

This skill ships inside the flutter_soloud package, so upgrading flutter_soloud can carry a newer revision of it than the copy installed in the project. To check, run:

sh
dart run flutter_soloud:skills --check

It reports the installed and bundled skill versions and exits non-zero when an update is available. Offer to update with dart run flutter_soloud:skills (which touches only the skills, never pubspec or build files).

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

Files

SKILL.md and 2 other files (references) in skills/flutter-soloud-setup of alnitak/flutter_soloud.

  • SKILL.md
  • references/audio_context.md
  • references/web.md

Open the folder on GitHubat commit 289697e

Compare with similar skills

flutter_soloud Setup 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.

flutter_soloud Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
flutter_soloud Setup this skillalnitak/flutter_soloud424—~3.6kAutomated safety check: NotesMIT
Fkit SetupJoker-x-dev/FlutterKit127—~720Automated safety check: PassMIT
Flutter Embedding Native Viewsbtwld/superdeck129—~2.1kAutomated safety check: PassBSD-3-Clause
Sentry Flutter SDKgetsentry/sentry-for-ai268—~7.1kAutomated safety check: PassApache-2.0
OdevioOdevio/Odevio-CLI423—~7.6kAutomated safety check: PassMIT
Maui AI DebuggingRedth/Maui.Gtk101—~4.1kAutomated safety check: PassMIT

Similar skills

  • Fkit Setup

    Joker-x-dev/FlutterKit

    将 FlutterKit 脚手架初始化为新的应用项目,统一修改应用显示名称、Dart 包名、Android Application ID、Apple Bundle ID、Linux/Windows 标识、Web 名称、运行时品牌文案、Logo、桌面图标和启动页。用户拉取模板后要求改名、改包名、替换品牌资源或完成首次项目配置时使用。

    127 GitHub stars~720 tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Embeds native Android, iOS, or macOS views into a Flutter app.

    129 GitHub stars~2.1k tokensUpdated 10 days ago
    MobileAuto-check passed
  • Sentry Flutter SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Flutter and Dart. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~7.1k tokensUpdated today
    MobileAuto-check passed
  • Odevio

    Odevio/Odevio-CLI

    Take a Flutter project to an iPhone or the App Store with Odevio - build, sign and publish iOS apps from Windows, Linux or macOS with no Mac and no Xcode.

    423 GitHub stars~7.6k tokensUpdated 13 days ago
    MobileAuto-check passed
  • Maui AI Debugging

    Redth/Maui.Gtk

    End-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent.

    101 GitHub stars~4.1k tokensUpdated 5 mo ago
    MobileAuto-check passed
  • Accessibility

    VeryGoodOpenSource/vgv-ai-flutter-plugin

    Audits or remediates Flutter widgets against WCAG 2.2 conformance levels A, AA, or AAA across iOS, Android, Web, macOS, Windows, and Linux, covering Semantics labels and screen reader output under…

    169 GitHub stars~4.2k tokensUpdated yesterday
    Frontend & DesignAuto-check passed

More from alnitak/flutter_soloud

All 14 skills in this repo
  • Flutter SoLoud Audio Filters

    alnitak/flutter_soloud

    Explains how to add and tune flutter_soloud's 13 audio filters at global, per-sound and mixing-bus level, including activation order and parameter fades.

    424 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • flutter_soloud Mixing Buses

    alnitak/flutter_soloud

    Teaches flutter_soloud mixing buses for routing groups of sounds through shared sub-mixes with collective volume and filters, such as separate music, SFX and UI sliders.

    424 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Teaches the push buffer-stream API of flutter_soloud for playing audio that arrives in chunks, such as icecast radio, WebSocket PCM feeds or streaming TTS, instead of a complete file.

    424 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Shows how to build audio visualizers in Flutter with flutter_soloud, using live FFT and wave data or offline waveform extraction, plus volume readings for level meters.

    424 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Flutter Soloud 3D Audio

    alnitak/flutter_soloud

    Teaches positional (3D) audio in fluttersoloud — play3d/play3dClocked/play3dScheduled, listener position/orientation/velocity, per-source attenuation and Doppler, and the per-frame update pattern.

    424 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • flutter_soloud Idioms

    alnitak/flutter_soloud

    Explains the mental model for the flutter_soloud audio plugin: the SoLoud.instance singleton, AudioSource versus SoundHandle, synchronous play and platform limits.

    424 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about flutter_soloud Setup

What does flutter_soloud Setup do?

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. flutter_soloud is an FFI plugin around the SoLoud C++ engine whose native code is compiled by Dart build hooks, so setup is mostly a pubspec entry (`flutter pub add flutter_soloud`) plus a few platform details.instance`, which must be initialized before use and deinitialized on shutdown, unlike packages that create a player per instance.

When should I use flutter_soloud Setup?

flutter_soloud Setup fits situations like: adding flutter_soloud to a Flutter project; setting up web, Linux or mobile prerequisites for audio playback; shrinking a Flutter app's size by dropping the Xiph libraries; switching the audio output device.

How do I install flutter_soloud Setup in Claude Code?

Run `npx skills add alnitak/flutter_soloud --skill flutter-soloud-setup -a claude-code`. Or copy the skill folder (skills/flutter-soloud-setup in alnitak/flutter_soloud) into .claude/skills/flutter-soloud-setup in your project. Claude Code loads it when a task matches its description.

How do I install flutter_soloud Setup in Codex?

Run `npx skills add alnitak/flutter_soloud --skill flutter-soloud-setup -a codex`. Or copy the skill folder (skills/flutter-soloud-setup in alnitak/flutter_soloud) into .agents/skills/flutter-soloud-setup in your project. Codex loads it when a task matches its description.

Can I use flutter_soloud Setup 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 alnitak/flutter_soloud --skill flutter-soloud-setup -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-soloud-setup, .gemini/skills/flutter-soloud-setup, .github/skills/flutter-soloud-setup and .opencode/skills/flutter-soloud-setup in your project.

What does flutter_soloud Setup need to run?

Going by SKILL.md and its folder, flutter_soloud Setup needs the command-line tools its instructions call (flutter, dart, apt and dnf). Our summary lists: A Flutter project; On Linux, ALSA or PulseAudio runtime libraries, and FFmpeg for extended formats.

Does flutter_soloud Setup access the network?

SKILL.md names 2 domains. As links in the text: dart.dev and github.com. This is read from the text; nothing was executed.

Is flutter_soloud Setup safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does flutter_soloud Setup use?

flutter_soloud Setup 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 flutter_soloud Setup use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.5k tokens, read only when the agent opens those files.

What are the alternatives to flutter_soloud Setup?

Skills that share tags, products or a category with flutter_soloud Setup: Fkit Setup (Joker-x-dev/FlutterKit, 127 stars), Flutter Embedding Native Views (btwld/superdeck, 129 stars), Sentry Flutter SDK (getsentry/sentry-for-ai, 268 stars) and Odevio (Odevio/Odevio-CLI, 423 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains flutter_soloud Setup?

alnitak (a GitHub user) maintains it in alnitak/flutter_soloud, which has 424 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 6, 2026.

Source: alnitak/flutter_soloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.