Add Flutter Docusaurus Locale
matthiasn/lotti
Add, complete, or audit a locale across a Flutter application's ARB catalogs and a localized Docusaurus manual, including generated localization code, locale selectors, native platform declarations…
Teaches positional (3D) audio in fluttersoloud — play3d/play3dClocked/play3dScheduled, listener position/orientation/velocity, per-source attenuation and Doppler, and the per-frame update pattern.
$ npx skills add alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alnitak/flutter_soloud flutter-soloud-3d-audio --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/alnitak/flutter_soloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/flutter-soloud-3d-audio .claude/skills/flutter-soloud-3d-audio && 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-soloud-3d-audio" agent skill from https://github.com/alnitak/flutter_soloud/tree/main/skills/flutter-soloud-3d-audio into .claude/skills/flutter-soloud-3d-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-soloud-3d-audio", 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/alnitak/flutter_soloud/tree/main/skills/flutter-soloud-3d-audioType 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 alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alnitak/flutter_soloud flutter-soloud-3d-audio --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alnitak/flutter_soloud.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/flutter-soloud-3d-audio .agents/skills/flutter-soloud-3d-audio && 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-soloud-3d-audio" agent skill from https://github.com/alnitak/flutter_soloud/tree/main/skills/flutter-soloud-3d-audio into .agents/skills/flutter-soloud-3d-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-soloud-3d-audio", 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 alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alnitak/flutter_soloud flutter-soloud-3d-audio --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alnitak/flutter_soloud.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/flutter-soloud-3d-audio .cursor/skills/flutter-soloud-3d-audio && 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-soloud-3d-audio" agent skill from https://github.com/alnitak/flutter_soloud/tree/main/skills/flutter-soloud-3d-audio into .cursor/skills/flutter-soloud-3d-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-soloud-3d-audio", 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/alnitak/flutter_soloud.git --path skills/flutter-soloud-3d-audio--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 alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alnitak/flutter_soloud flutter-soloud-3d-audio --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alnitak/flutter_soloud.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/flutter-soloud-3d-audio .gemini/skills/flutter-soloud-3d-audio && 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-soloud-3d-audio" agent skill from https://github.com/alnitak/flutter_soloud/tree/main/skills/flutter-soloud-3d-audio into .gemini/skills/flutter-soloud-3d-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-soloud-3d-audio", 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 alnitak/flutter_soloud flutter-soloud-3d-audioInstalls 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 alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alnitak/flutter_soloud.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/flutter-soloud-3d-audio .github/skills/flutter-soloud-3d-audio && 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-soloud-3d-audio" agent skill from https://github.com/alnitak/flutter_soloud/tree/main/skills/flutter-soloud-3d-audio into .github/skills/flutter-soloud-3d-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-soloud-3d-audio", 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 alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alnitak/flutter_soloud flutter-soloud-3d-audio --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alnitak/flutter_soloud.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/flutter-soloud-3d-audio .opencode/skills/flutter-soloud-3d-audio && 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-soloud-3d-audio" agent skill from https://github.com/alnitak/flutter_soloud/tree/main/skills/flutter-soloud-3d-audio into .opencode/skills/flutter-soloud-3d-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-soloud-3d-audio", 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-soloud-3d-audioTeaches positional (3D) audio in fluttersoloud — play3d/play3dClocked/play3dScheduled, listener position/orientation/velocity, per-source attenuation and Doppler, and the per-frame update pattern.
Flutter Soloud 3D Audio is an agent skill from 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. Use when the user asks for spatial audio, positional sound effects, distance-based volume falloff, sounds attached to game entities, Doppler effects, or left/right panning based on world position.
Its SKILL.md is about 2.2k 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 and Music and audio generation. It works with Flutter. The repository describes itself as: Flutter low-level audio plugin using SoLoud C++ library and FFI. The licence is MIT.
Read from SKILL.md and the folder at commit 289697e. 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:
dartFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
solhsa.comFrom 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 Soloud 3D Audio loads about 2.2k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 880 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 alnitak/flutter_soloud at commit 289697e, republished under its MIT licence (© alnitak). 880 words, ~2,169 tokens.
.claude/skills/flutter-soloud-3d-audio/SKILL.md (or your agent's skills folder).flutter_soloud wraps the SoLoud C++ engine's built-in 3D audio. Every voice started with play3d has a 3D position and velocity; a single global "listener" (usually your camera or player) hears them. The coordinate system is right-handed (Y up, X right, Z toward the viewer). Unlike audioplayers/just_audio there is no asset "player" object per sound: you get a SoundHandle per playing instance and mutate its 3D state through SoLoud.instance setters. Also unlike the web Audio API, SoLoud does not move anything for you — positions and velocities are snapshots you must update yourself each tick.
import 'package:flutter_soloud/flutter_soloud.dart';
Future<void> main() async {
await SoLoud.instance.init();
final sound = await SoLoud.instance.loadAsset('assets/sfx/whoosh.mp3');
// Listener at origin, looking down -Z, head up along +Y.
SoLoud.instance.set3dListenerParameters(
0, 0, 0, // position
0, 0, -1, // at (looking direction)
0, 1, 0, // up
0, 0, 0, // velocity (needed for Doppler)
);
// Play at (10, 0, -5) moving toward the listener at 5 units/s.
final handle = SoLoud.instance.play3d(
sound,
10, 0, -5, // posX, posY, posZ (positional!)
velX: -5, // velocity, for Doppler
looping: true,
);
// Required to hear distance falloff — default attenuation is NONE.
SoLoud.instance.set3dSourceAttenuation(handle, 2, 1); // linear
SoLoud.instance.set3dSourceMinMaxDistance(handle, 1, 50);
}All methods are on SoLoud.instance (singleton), all positions/velocities are double in your world units. Playback methods return SoundHandle synchronously (not a Future) — different from the Future<...>-returning patterns in other packages.
Playback (all throw SoLoudNotInitializedException if you skipped init):
SoundHandle play3d(AudioSource sound, double posX, double posY, double posZ, {double velX = 0, double velY = 0, double velZ = 0, int busId = 0, double volume = 1, bool paused = false, bool looping = false, Duration loopingStartAt = Duration.zero, Duration? loopingEndAt, int? loopingStartOffsetAt, int? loopingEndOffsetAt, double scale = 1}) — one-shot, lowest latency; start is quantized to output-buffer boundaries.SoundHandle play3dClocked(AudioSource sound, Duration soundTime, double posX, double posY, double posZ, {...}) — pass your app's monotonically increasing "physics time"; the engine spaces rapid-fire sounds sample-accurately so they don't clump at the next buffer boundary. Costs ~2 buffers of latency. Use for machine-gun / rhythmic 3D SFX.SoundHandle play3dScheduled(AudioSource sound, Duration atTime, double posX, double posY, double posZ, {Duration? duration, ...}) — starts at an absolute engine time (SoLoud.instance.getEngineTime()), sample-accurate; duration auto-stops it at atTime + duration.Listener (one global listener; default position is (0,0,0)):
set3dListenerParameters(posX, posY, posZ, atX, atY, atZ, upX, upY, upZ, velocityX, velocityY, velocityZ) — 12 positional doubles, no named parameters.set3dListenerPosition(x, y, z) / set3dListenerAt(x, y, z) / set3dListenerUp(x, y, z) / set3dListenerVelocity(x, y, z) — individual setters. at is the look direction; up is the head-up vector.Per-source (take the SoundHandle returned by play3d*):
set3dSourceParameters(handle, posX, posY, posZ, velocityX, velocityY, velocityZ) — positional doubles.set3dSourcePosition(handle, x, y, z) / set3dSourceVelocity(handle, x, y, z).set3dSourceMinMaxDistance(handle, minDistance, maxDistance) — defaults are 1 and 1000000. Inside min the sound is at full volume; beyond max it no longer gets quieter.set3dSourceAttenuation(handle, int attenuationModel, double attenuationRolloffFactor) — models: 0 NO_ATTENUATION, 1 INVERSE_DISTANCE, 2 LINEAR_DISTANCE, 3 EXPONENTIAL_DISTANCE. Default is 0 (none) with rolloff 1.set3dSourceDopplerFactor(handle, double dopplerFactor) — 0 disables, 1 normal, >1 exaggerated.Global Doppler tuning:
set3dSoundSpeed(double speed) / double get3dSoundSpeed() — default 343 (meters/second in dry air at ~20 °C). SoLoud doesn't know your unit scale, so if 1 world unit ≠ 1 meter, scale the sound speed accordingly or Doppler will be wrong.Nothing moves unless you move it. In your game loop / Ticker / onTick:
void update(double dt) {
// Listener follows the camera/player every frame.
SoLoud.instance.set3dListenerParameters(
cam.x, cam.y, cam.z,
cam.forwardX, cam.forwardY, cam.forwardZ,
cam.upX, cam.upY, cam.upZ,
cam.velX, cam.velY, cam.velZ, // for Doppler
);
// Each moving emitter updates position AND velocity.
for (final e in movingEmitters) {
SoLoud.instance.set3dSourceParameters(
e.handle, e.x, e.y, e.z, e.vx, e.vy, e.vz,
);
}
}0 (NO_ATTENUATION). If you play3d and never call set3dSourceAttenuation, you get left/right panning from position but no volume falloff with distance — the #1 "3D doesn't work" report. Pick a model (linear 2 is a good default for games) and set sensible min/max distances (e.g. 1–50 for meter-scale worlds; leaving max at the 1000000 default makes falloff imperceptible).play3d put it until you call set3dSourcePosition/set3dSourceParameters. No automatic binding to a game object; update every tick while the voice is alive.at and up must not be parallel (and should be roughly orthogonal and normalized). If both are e.g. (0,1,0) the listener orientation is degenerate and panning/orientation glitches or collapses.set3dListenerParameters takes 12 positional doubles — no named arguments, and the source setters are positional too. Don't pass named args copied from the web docs; it won't compile.play3d returns SoundHandle synchronously. No await. The async part is init() and loadAsset/loadFile.sound.soundEvents / allInstancesFinished if you reuse handles.setMaxActiveVoiceCount to change). At the limit, the oldest instance of the same sound is stolen; if none of that sound is playing, the new play silently produces a handle addressing no voice.play3d start is buffer-quantized. Rapidly triggered SFX (gunfire) clump to buffer boundaries — use play3dClocked (or play3dScheduled with getEngineTime()) for sample-accurate spacing.set3dSoundSpeed default 343 assumes meters. If your world is in pixels or generic units, audible Doppler warble at game speeds means your velocities are huge relative to 343 — raise the sound speed or scale down.example/tests/tests/three_d_audio.dart. The example app (example/lib/) has no dedicated 3D demo screen.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:
dart run flutter_soloud:skills --checkIt 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
Just SKILL.md in skills/flutter-soloud-3d-audio of alnitak/flutter_soloud.
Open the folder on GitHubat commit 289697e
Flutter Soloud 3D Audio 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 Soloud 3D Audio this skillalnitak/flutter_soloud | 425 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Add Flutter Docusaurus Localematthiasn/lotti | 1.2k | — | ~1.2k | Automated safety check: Pass | GPL-3.0 | |
| Tm Launcher DesignFar-Se/tabame | 372 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Flutter Initbear2u/my-skills | 933 | — | ~2.5k | Automated safety check: Pass | None | |
| Mobile App UI Designceorkm/mobile-app-ui-design | 403 | — | ~2k | Automated safety check: Pass | None | |
| Marionette Flutter Drive Appleancodepl/marionette_mcp | 482 | — | ~11k | Automated safety check: Pass | Apache-2.0 |
matthiasn/lotti
Add, complete, or audit a locale across a Flutter application's ARB catalogs and a localized Docusaurus manual, including generated localization code, locale selectors, native platform declarations…
Far-Se/tabame
Create or revise Tabame's Flutter launcher designs: frames, search bars, result rows, palettes, typography, and action dialogs.
bear2u/my-skills
A skill your agent uses when user wants to create a new Flutter project (Todo/Habit/Note/Expense/Custom domain) with Clean Architecture, Riverpod 3.0, Drift, and modern Flutter stack
ceorkm/mobile-app-ui-design
Design high-quality mobile app UI/UX screens, flows, and components.
leancodepl/marionette_mcp
Set up and drive a running Flutter app (debug or profile) with Marionette — an AI agent's hands and eyes for the app.
JustLookAtNow/pt_mate
Capture and show two Flutter UI screenshots for this project: one landscape/large-screen preview and one portrait/mobile preview, without using Flutter Web.
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.
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.
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.
alnitak/flutter_soloud
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.
alnitak/flutter_soloud
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.
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.
Works with
Categories
Teaches positional (3D) audio in fluttersoloud — play3d/play3dClocked/play3dScheduled, listener position/orientation/velocity, per-source attenuation and Doppler, and the per-frame update pattern. Flutter Soloud 3D Audio is an agent skill from 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.
Flutter Soloud 3D Audio fits situations like: the user asks for spatial audio; positional sound effects; distance-based volume falloff; sounds attached to game entities.
Run `npx skills add alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a claude-code`. Or copy the skill folder (skills/flutter-soloud-3d-audio in alnitak/flutter_soloud) into .claude/skills/flutter-soloud-3d-audio in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alnitak/flutter_soloud --skill flutter-soloud-3d-audio -a codex`. Or copy the skill folder (skills/flutter-soloud-3d-audio in alnitak/flutter_soloud) into .agents/skills/flutter-soloud-3d-audio 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 alnitak/flutter_soloud --skill flutter-soloud-3d-audio -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-3d-audio, .gemini/skills/flutter-soloud-3d-audio, .github/skills/flutter-soloud-3d-audio and .opencode/skills/flutter-soloud-3d-audio in your project.
Going by SKILL.md and its folder, Flutter Soloud 3D Audio needs the command-line tools its instructions call (dart).
SKILL.md names 1 domain. As links in the text: solhsa.com. 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 Soloud 3D Audio is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.7k 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 Soloud 3D Audio: Add Flutter Docusaurus Locale (matthiasn/lotti, 1.2k stars), Tm Launcher Design (Far-Se/tabame, 372 stars), Flutter Init (bear2u/my-skills, 933 stars) and Mobile App UI Design (ceorkm/mobile-app-ui-design, 403 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alnitak (a GitHub user) maintains it in alnitak/flutter_soloud, which has 425 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.