Draft Release Notes
jamiepine/voicebox
Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.
Guides triaging a kernel-sound-watch hit comment on the "Kernel sound-tree watch" issue (40) — the weekly workflow's per-tag report of .github/kernel-watchlist.txt grep hits against a new…
$ npx skills add antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install antoinecellerier/speaker-tuning-to-easyeffects kernel-watch-triage --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/antoinecellerier/speaker-tuning-to-easyeffects.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/kernel-watch-triage .claude/skills/kernel-watch-triage && 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 "kernel-watch-triage" agent skill from https://github.com/antoinecellerier/speaker-tuning-to-easyeffects/tree/master/.claude/skills/kernel-watch-triage into .claude/skills/kernel-watch-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kernel-watch-triage", 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/antoinecellerier/speaker-tuning-to-easyeffects/tree/master/.claude/skills/kernel-watch-triageType 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 antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install antoinecellerier/speaker-tuning-to-easyeffects kernel-watch-triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinecellerier/speaker-tuning-to-easyeffects.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/kernel-watch-triage .agents/skills/kernel-watch-triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kernel-watch-triage" agent skill from https://github.com/antoinecellerier/speaker-tuning-to-easyeffects/tree/master/.claude/skills/kernel-watch-triage into .agents/skills/kernel-watch-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kernel-watch-triage", 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 antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install antoinecellerier/speaker-tuning-to-easyeffects kernel-watch-triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinecellerier/speaker-tuning-to-easyeffects.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/kernel-watch-triage .cursor/skills/kernel-watch-triage && 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 "kernel-watch-triage" agent skill from https://github.com/antoinecellerier/speaker-tuning-to-easyeffects/tree/master/.claude/skills/kernel-watch-triage into .cursor/skills/kernel-watch-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kernel-watch-triage", 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/antoinecellerier/speaker-tuning-to-easyeffects.git --path .claude/skills/kernel-watch-triage--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 antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install antoinecellerier/speaker-tuning-to-easyeffects kernel-watch-triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinecellerier/speaker-tuning-to-easyeffects.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/kernel-watch-triage .gemini/skills/kernel-watch-triage && 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 "kernel-watch-triage" agent skill from https://github.com/antoinecellerier/speaker-tuning-to-easyeffects/tree/master/.claude/skills/kernel-watch-triage into .gemini/skills/kernel-watch-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kernel-watch-triage", 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 antoinecellerier/speaker-tuning-to-easyeffects kernel-watch-triageInstalls 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 antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/antoinecellerier/speaker-tuning-to-easyeffects.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/kernel-watch-triage .github/skills/kernel-watch-triage && 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 "kernel-watch-triage" agent skill from https://github.com/antoinecellerier/speaker-tuning-to-easyeffects/tree/master/.claude/skills/kernel-watch-triage into .github/skills/kernel-watch-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kernel-watch-triage", 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 antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install antoinecellerier/speaker-tuning-to-easyeffects kernel-watch-triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/antoinecellerier/speaker-tuning-to-easyeffects.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/kernel-watch-triage .opencode/skills/kernel-watch-triage && 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 "kernel-watch-triage" agent skill from https://github.com/antoinecellerier/speaker-tuning-to-easyeffects/tree/master/.claude/skills/kernel-watch-triage into .opencode/skills/kernel-watch-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kernel-watch-triage", 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.
kernel-watch-triageGuides triaging a kernel-sound-watch hit comment on the "Kernel sound-tree watch" issue (40) — the weekly workflow's per-tag report of .github/kernel-watchlist.txt grep hits against a new…
Kernel Watch Triage is an agent skill from antoinecellerier/speaker-tuning-to-easyeffects. Guides triaging a kernel-sound-watch hit comment on the "Kernel sound-tree watch" issue (40) — the weekly workflow's per-tag report of .github/kernel-watchlist.txt grep hits against a new tiwai/sound pull tag. Load this when asked to "analyse/check the latest kernel watchlist hit", when a kernel-sound-watch comment needs a verdict, or before appending a Triage section to one. Covers reading the commit range cheaply, judging a hit against the watch that fired it, verifying claims against the kernel source rather…
Its SKILL.md is about 2.6k 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 Development, covering Changelog and release notes. It works with GitHub, Linux and Git. The repository describes itself as: Convert OEM Dolby Atmos speaker tuning data to EasyEffects presets or PipeWire filter-chains for Linux. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3000a2a. 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:
gitpython3ghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
git.kernel.orgFrom 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.
Kernel Watch Triage loads about 2.6k tokens when it runs. Until then it costs about 153 tokens; SKILL.md has 1,207 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 antoinecellerier/speaker-tuning-to-easyeffects at commit 3000a2a, republished under its MIT licence (© antoinecellerier). 1,207 words, ~2,586 tokens.
.claude/skills/kernel-watch-triage/SKILL.md (or your agent's skills folder).The output is a ### Triage (YYYY-MM-DD) section appended to the hit comment
itself, in the format under "Record the verdict" below. That edit is the whole
point: nothing else distinguishes an unassessed hit from a cleared one. The
workflow never re-reads hit comments, so editing them is safe.
This is bookkeeping, not a reply: no draft-for-review cycle. The citation
rules in /issue-replies still apply: external SHAs need explicit markdown
URLs to github.com/torvalds/linux, and only this repo's SHAs auto-link.
Copy this checklist and tick items off. Each maps to a section below.
Triage progress:
- [ ] 1. Read the commit range — fetch the tags into the local clone
- [ ] 2. Re-grep every watch term over full messages, zeros included
- [ ] 3. Read each hit's diff; verify what its message claims
- [ ] 4. Resolve PCI vs codec SSID for any tested device involved
- [ ] 5. Skim the non-hit subjects for a class nothing watches yet
- [ ] 6. Check the blast radius on our own tables
- [ ] 7. Append the Triage section; touch the watchlist only if something movedThe comment already carries the grep hits, a scan_sound_tag.py commit scan,
and the full pull text folded below. It carries no commit body or diff, and
that is what you fetch.
Use the local torvalds/linux clone at ~/src/linux, and fetch the
range into it yourself. Pull tags live in tiwai's tree and may not be
merged to mainline yet, so the clone carries tiwai's tree as its sound
remote:
git -C ~/src/linux fetch sound \
refs/tags/<base>:refs/tags/<base> refs/tags/<tag>:refs/tags/<tag>It only adds refs and objects, so the working tree and master are left
alone. Run it in the background: git.kernel.org ignores --filter, so
the range's objects arrive in full. Then git log/grep over the range is
instant, and git show fetches any older blob it lacks from origin.
If the remote is missing, add it once. git fetch over HTTPS works on
git.kernel.org; only its web pages sit behind an anti-bot wall.
git -C ~/src/linux remote add sound \
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
git -C ~/src/linux config remote.sound.tagOpt --no-tagsUse the googlesource HTTP mirror only when git fetch fails, with one range
request and not one per commit.
<mirror>/+log/<base>..<tag>?format=JSON&n=10000 returns every commit with
its full message, as tools/scan_sound_tag.py does.
.github/kernel-watchlist.txt groups terms under # watch: headers naming
the issue or the standing lesson that owns them. Find the header whose term
fired, and let it decide what "relevant" means. A commit that matched
ideapad but limits mic boost is a clear pass. Say so rather than listing
it unexplained.
Re-run the grep yourself over the range's full messages, per term, and record
the count for every term, zeros included. The comment names hit commits
without saying which term matched, and a term can fire from a Fixes: line or
a body mention rather than the subject. The re-grep turns "no commit
touches #39" into "tas2781 fired, but only via two Lenovo ALC287 quirks".
Give a verdict for every watch, including the silent ones, such as "untouched; ids byte-identical to the previous tag". A reader has to be able to tell a checked watch from a forgotten one.
A commit message can claim more than the diff delivers. 7e77c09e23da says it
reorders two Lenovo quirk entries "restoring internal speaker functionality".
The diff swaps two adjacent entries carrying the same fixup, so no machine's
behaviour changes.
Check any ordering or matching claim against snd_hda_pick_fixup in
sound/hda/common/auto_parser.c:
match_codec_ssid flag is set,
and against the PCI SSID otherwise. HDA_CODEC_QUIRK sets the flag, and
SND_PCI_QUIRK does not. A codec-SSID sweep runs afterwards as a fallback.17aa:0000 under SOF,
skips the PCI comparison entirely. Every entry there, SND_PCI_QUIRK
included, is then compared against the codec SSID. So a PCI-keyed entry
can match such a machine, on its codec id.PCI SSID ≠ codec SSID, and a machine collides with a different quirk under
each. Pull the pair from the device report before claiming a tested device is
or isn't affected, and say which id you matched on. --speaker-info names
both: Codec subsystem: under HDA codecs, and Controller subsystem: under
PCI audio subsystem. The README tested table's hidden codec and subsystem
comment on each device row may hold either.
Skim all subjects in the range for a shape we have no term for: a new smart-amp part, a new speaker-path failure mode, a first machine on a platform we watch. The comment's folded "Speaker-path commits" list matches subject lines only, and the watchlist only knows the classes we already track. An unwatched class first appears this way, which is why the watch reads commits at all rather than the pull text alone.
For anything that touches a speaker path, ask which of our surfaces should have carried it:
lib/data/speaker_pin_quirks.py holds pin-adding fixups only.
tools/update_speaker_pin_quirks.py regenerates it weekly, taking
membership from HDA_FIXUP_PINS tables plus the hand-verified
_FUNC_FIXUP_PINS allowlist of HDA_FIXUP_FUNC helpers. A new pin-writing
helper is silently missed, because the updater's own guard only catches
renames of listed ones. Audit the allowlist against upstream while you are
in the tree:
python3 - <<'PY'
import re
src = open('sound/hda/codecs/realtek/alc269.c').read()
found = {m.group(1) for m in re.finditer(
r'^static void (\w+)\(struct hda_codec \*codec,.*?\n\}\n', src, re.S|re.M)
if re.search(r'0x9017[0-9a-f]{4}', m.group(0))}
print(sorted(found)) # compare against _FUNC_FIXUP_PINS
PYlib/hardware/amps.py _AMP_FAMILIES: check for a missing amplifier,
the AW88399 shape. Its membership bar is r-smart-amp-families in
docs/research/hardware-and-drivers.md.
lib/data/speaker_route_quirks.py holds fixups that reroute one speaker pin
off a widget with no volume amplifier: snd_hda_override_conn_list with no
pincfg write, plus alc289_fixup_asus_ga401's preferred_dacs.
tools/update_speaker_route_quirks.py regenerates it weekly the same way,
taking membership from the hand-verified _FUNC_FIXUP_ROUTES allowlist
only. It has the same one-sided guard, so a new routing helper is silently
missed too. Audit while you are in the tree:
python3 - <<'PY'
import re
src = open('sound/hda/codecs/realtek/alc269.c').read()
found = {m.group(1) for m in re.finditer(
r'^static void (\w+)\(struct hda_codec \*codec,.*?\n\}\n', src, re.S|re.M)
if 'snd_hda_override_conn_list' in m.group(0)
and not re.search(r'0x9017[0-9a-f]{4}', m.group(0))}
print(sorted(found)) # compare against _FUNC_FIXUP_ROUTES + its
PY # recorded exclusionspreferred_dacs-only helpers don't show up in that sweep. All five in
mainline were hand-read 2026-09-01, and every one but GA401 was excluded.
The membership bar and each exclusion's reason are in
docs/research/hardware-and-drivers.md, r-speaker-dac-misrouted. Re-read a
helper only when the range you are triaging adds or edits one.
_FILE_MOVES in tools/update_speaker_pin_quirks.py: both tables carry a
commit= link resolved by GitHub's blame, which follows a rename but not a
split. A commit in the range that moves or splits
sound/hda/codecs/realtek/alc269.c needs a new hop there. Without one, the
symptom is the updater's mass-edit rail refusing that commit, never a wrong
link: a stderr warning names it, and new rows are left commit="".
README tested table: grep the SSIDs in the range against it.
### Triage (YYYY-MM-DD) section to the hit comment with
gh api -X PATCH repos/<owner>/<repo>/issues/comments/<id> -F body=@file.
Keep the visible part short, because the issue accumulates one per tag:<details><summary>Evidence</summary> block: per-term
counts, match paths, the sweep, and the blast-radius checks..github/kernel-watchlist.txt only if the triage opened or closed
an investigation, in the commit that does so. Don't add a term already
covered by a broader one in the file: alc287
already hits most Lenovo quirks. A redundant term doubles every future hit
comment..claude/rules/changelog.md
excludes research-log notes. A code fix the triage prompts is judged on its
own merits.© antoinecellerier, 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 .claude/skills/kernel-watch-triage of antoinecellerier/speaker-tuning-to-easyeffects.
Open the folder on GitHubat commit 3000a2a
Kernel Watch Triage 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 |
|---|---|---|---|---|---|---|
| Kernel Watch Triage this skillantoinecellerier/speaker-tuning-to-easyeffects | 143 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Draft Release Notesjamiepine/voicebox | 57k | — | ~941 | Automated safety check: Pass | MIT | |
| Mole Release Notes Publishertw93/Mole | 70k | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| Release Bumpjamiepine/voicebox | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Cut Releasejfernandez/bpftop | 2.7k | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT |
jamiepine/voicebox
Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.
tw93/Mole
Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.
jamiepine/voicebox
Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.
jfernandez/bpftop
Cut a new versioned release of bpftop — pick the version, open a version-bump PR, sign-tag the merge commit on main, and draft GitHub release notes in the project's established format.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
redis/go-redis
Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.
antoinecellerier/speaker-tuning-to-easyeffects
Audits the user-facing terminal copy changed over a git range for factual truth rather than readability, by fanning out reviewers partitioned by evidence source and triaging what survives.
antoinecellerier/speaker-tuning-to-easyeffects
Audits the instruction files (CLAUDE.md, .claude/rules, .claude/skills, tools/measuredax/CLAUDEWINDOWS.md) for accuracy and bloat against .claude/rules/instructions.md, and proposes a concrete edit…
antoinecellerier/speaker-tuning-to-easyeffects
Reviews the user-facing docs — README.md and the user guides under docs/README.md "Using it" — by running them past subagent reviewers role-playing fixed personas: a first-time visitor, a user…
antoinecellerier/speaker-tuning-to-easyeffects
Guides triaging GitHub issues and drafting or posting replies in this repo.
antoinecellerier/speaker-tuning-to-easyeffects
Reviews the scripts' user-facing terminal output by running it past subagent reviewers role-playing a first-time user, then reports severity-ranked findings.
antoinecellerier/speaker-tuning-to-easyeffects
Validates a change to the audio output path against measured on-device ground truth.
Categories
Guides triaging a kernel-sound-watch hit comment on the "Kernel sound-tree watch" issue (40) — the weekly workflow's per-tag report of .github/kernel-watchlist.txt grep hits against a new…. Kernel Watch Triage is an agent skill from antoinecellerier/speaker-tuning-to-easyeffects.txt grep hits against a new tiwai/sound pull tag.
Kernel Watch Triage fits situations like: tasks that involve Changelog and release notes.
Run `npx skills add antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a claude-code`. Or copy the skill folder (.claude/skills/kernel-watch-triage in antoinecellerier/speaker-tuning-to-easyeffects) into .claude/skills/kernel-watch-triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a codex`. Or copy the skill folder (.claude/skills/kernel-watch-triage in antoinecellerier/speaker-tuning-to-easyeffects) into .agents/skills/kernel-watch-triage 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 antoinecellerier/speaker-tuning-to-easyeffects --skill kernel-watch-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kernel-watch-triage, .gemini/skills/kernel-watch-triage, .github/skills/kernel-watch-triage and .opencode/skills/kernel-watch-triage in your project.
Going by SKILL.md and its folder, Kernel Watch Triage needs the command-line tools its instructions call (git, python3 and gh). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: git.kernel.org; the agent is likely to contact it when it follows the instructions. 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.
Kernel Watch Triage 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.6k tokens (SKILL.md is roughly 10k 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 Kernel Watch Triage: Draft Release Notes (jamiepine/voicebox, 57k stars), Mole Release Notes Publisher (tw93/Mole, 70k stars), Release Bump (jamiepine/voicebox, 57k stars) and Cut Release (jfernandez/bpftop, 2.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
antoinecellerier (a GitHub user) maintains it in antoinecellerier/speaker-tuning-to-easyeffects, which has 143 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.
Source: antoinecellerier/speaker-tuning-to-easyeffects on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.