Claude Code skills for taming Pipewire/Wireplumber audio on Linux — manage default devices, persistent device-priority rules, per-app routing, mic level checks, and EasyEffects bindings.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin claude-pipewire-skillsRemove a Wireplumber preference rule — by filename, by matched device name, or by description. Restarts Wireplumber so the change takes effect immediately. Use when a rule is no longer wanted or is causing wrong-device routing.
Diagnose and tune a microphone for speech-to-text dictation — evaluate level, apply RNNoise/noise-cancellation virtual source, set a higher software gain, and optionally persist the noise-cancelled source as the default. Use when the user dictates frequently and wants the mic to "just work" for STT.
STUB — manage EasyEffects presets and bindings. Apply/remove input or output presets (compressor, EQ, RNNoise GUI, etc.) and bind a preset to a specific device so it auto-loads on connect.
List Pipewire audio sinks and sources with their IDs, descriptions, default-status, and current state. Use when the user asks "what mics/speakers are connected", needs IDs to feed into other skills, or is debugging why an expected device is missing.
List all custom Wireplumber rules currently active on the system — device priorities, routing rules, profile overrides. Use to see what's been set before adding/removing.
Sample a microphone for a few seconds and report peak/RMS level, clipping, and silence. Use to confirm a mic is actually picking up audio and roughly at the right gain. Quick diagnostic — for full dictation tuning use dictation-mic-tune.
Create persistent Wireplumber rules that auto-prefer specific microphones when connected — e.g. "if the Jabra headset is connected, always make it the default mic; otherwise fall back to the laptop array". Use when the user is tired of manually switching mics.
Set up combined-sink / fan-out output routing — e.g. "when the Jabra is connected, also play audio through it without changing the default speakers". Use for the case the GUI can't handle: simultaneous output to multiple sinks, or conditional routing tied to device connect state.
Set the default Pipewire audio input (source / microphone) right now. Use for one-off mic switches; for "always prefer this mic when connected" use microphone-preference-rules instead.
Set the default Pipewire audio output (sink) — speakers, headphones, HDMI, Bluetooth, etc. Use when the user wants to switch where system audio plays right now, without writing a persistent rule.
Get, set, mute, or unmute volume on any Pipewire sink or source. Supports software gain >100% (up to ~150% cleanly). Use for one-off volume changes; persistent device-specific volume defaults belong in a Wireplumber rule.
Claude Code skills for taming Pipewire / Wireplumber audio on Linux. Pipewire is powerful but its CLI surface is sprawling and the GUI mixers can't express the rules you actually want — like "always prefer this mic when it's connected" or "play to the speakers and the headset simultaneously". These skills fill that gap.
Aimed at users who use voice dictation heavily and want their mics, gain staging, and noise cancellation configured proactively rather than reactively.
list-audio-devices — enumerate sinks and sources with their IDs and node.name keys.set-default-output — switch the current default sink.set-default-input — switch the current default source / microphone.volume-control — get / set / mute on any sink or source, including software gain >100%.microphone-preference-rules — write Wireplumber rules so a preferred mic is auto-selected on connect, with a fallback when it disappears.list-preference-rules — show every custom rule currently active and what it does.delete-preference-rule — remove a rule cleanly and restart Wireplumber.route-on-device-connect — combined-sink / fan-out routing for "play to A and B" cases the GUI can't handle.mic-level-check — quick peak/RMS/clipping diagnostic on any source.dictation-mic-tune — measure → apply RNNoise filter chain → set gain → persist as a default-ready source.easy-effects-bindings — STUB for managing EasyEffects presets and per-device bindings.claude plugins install claude-pipewire-skills@danielrosehill
Or at project scope from inside a specific repo:
claude plugins install claude-pipewire-skills@danielrosehill --scope project
wpctl, pw-cli, pw-dump (ship with Pipewire).parecord and sox for level analysis.dictation-mic-tune: an RNNoise LADSPA plugin (e.g. rnnoise-ladspa-plugin on Debian/Ubuntu, or noise-suppression-for-voice from upstream).MIT
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Share bugs, ideas, or general feedback.
Design fluency for frontend development. 1 skill with 23 commands (/impeccable polish, /impeccable audit, /impeccable critique, etc.) and curated anti-pattern detection.
Behavioral guidelines to reduce common LLM coding mistakes, derived from Andrej Karpathy's observations on LLM coding pitfalls
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Complete developer toolkit for Claude Code
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim