Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ formats Python code blocks inside Markdown, so keep doc examples under 100 colum

## When you change the CLI, update the skill and the docs

`plugin/skills/audioshake/SKILL.md` teaches agents to use the CLI. `plugin/` is
`plugin/skills/audioshake-cli/SKILL.md` teaches agents to use the CLI. `plugin/` is
a Claude Code plugin, listed in the `audioshake/claude-plugins` marketplace,
which fetches only that folder. It must match the CLI exactly. Whenever
a change touches any of these:
Expand All @@ -52,7 +52,7 @@ a change touches any of these:

then in the same PR:

1. Update `plugin/skills/audioshake/SKILL.md` (tables, examples, gotchas).
1. Update `plugin/skills/audioshake-cli/SKILL.md` (tables, examples, gotchas).
2. Update `docs/cli.md` and, for library changes, `docs/library.md`.
3. Add a line to the top section of `CHANGELOG.md`. Until 0.1.0 ships, that is
the 0.1.0 entry itself, written as what the release does, not how it changed.
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,13 +93,13 @@ behind it. The rules that most often come up in review:

## Docs travel with the change

`plugin/skills/audioshake/SKILL.md` teaches AI agents to use the CLI and ships
`plugin/skills/audioshake-cli/SKILL.md` teaches AI agents to use the CLI and ships
as a Claude Code plugin from `plugin/`, so it must match the CLI exactly.
When your change touches a command, an option, a default, the `--json` shape,
the output layout, an exit code, authentication or model aliases, update in
the same PR:

1. `plugin/skills/audioshake/SKILL.md`, and bump `version` in
1. `plugin/skills/audioshake-cli/SKILL.md`, and bump `version` in
`plugin/.claude-plugin/plugin.json` when its guidance changes.
2. `docs/cli.md`, and `docs/library.md` for library changes.
3. `CHANGELOG.md`: add a line to the top section, written as what the release
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ and library. Install it from the AudioShake marketplace inside Claude Code:

```
/plugin marketplace add audioshake/claude-plugins
/plugin install audioshake@audioshake
/plugin install audioshake-cli@audioshake
```

Then ask for stems, an instrumental, isolated dialogue or lyrics from a file and
Expand Down
4 changes: 2 additions & 2 deletions plugin/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "audioshake",
"displayName": "AudioShake",
"name": "audioshake-cli",
"displayName": "AudioShake CLI",
"description": "AudioShake is a platform for state-of-the-art AI source separation, transcription, and content analysis — powering post-production workflows, karaoke, dubbing, speech enhancement, music copyright compliance, improving ASR accuracy, and AI training data preparation — at scale, and in production.",
"version": "0.3.11",
"author": { "name": "AudioShake" },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: audioshake
name: audioshake-cli
description: Use the `audioshake` CLI and Python library to run AudioShake models on audio or video files: stem separation (vocals, drums, bass, guitar, piano...), dialogue and effects isolation, speech denoise/dereverb, multi-speaker separation, music detection/removal, lyric transcription and alignment. Trigger when the user wants stems, an instrumental, an a cappella, isolated dialogue, speaker separation, lyrics or word timings from media, or asks about AudioShake tasks, models or credits.
---

Expand Down
6 changes: 3 additions & 3 deletions tests/test_skill_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from audioshake.cli import main

ROOT = Path(__file__).resolve().parent.parent
SKILL_PATH = ROOT / "plugin" / "skills" / "audioshake" / "SKILL.md"
SKILL_PATH = ROOT / "plugin" / "skills" / "audioshake-cli" / "SKILL.md"
# Set to 1 in CI, which runs from the repository: there a missing skill must fail
# rather than skip, or the check that keeps it in step with the CLI would
# silently stop running.
Expand Down Expand Up @@ -56,7 +56,7 @@ def _option_forms(param: click.Parameter) -> list[str]:
@pytest.mark.parametrize("name,command", COMMANDS, ids=[c[0] for c in COMMANDS])
def test_every_command_is_documented(name, command):
leaf = name.split()[-1]
assert leaf in SKILL, f"`{name}` is missing from plugin/skills/audioshake/SKILL.md"
assert leaf in SKILL, f"`{name}` is missing from plugin/skills/audioshake-cli/SKILL.md"
assert leaf in CLI_DOC, f"`{name}` is missing from docs/cli.md"


Expand All @@ -66,7 +66,7 @@ def test_every_option_is_documented(where, param):
if param.name == "version":
return
assert any(form in SKILL for form in forms), (
f"{where} option {forms} is missing from plugin/skills/audioshake/SKILL.md"
f"{where} option {forms} is missing from plugin/skills/audioshake-cli/SKILL.md"
)
assert any(form in CLI_DOC for form in forms), (
f"{where} option {forms} is missing from docs/cli.md"
Expand Down
Loading