/test
Runs automated tests to validate plugin integrity across 14 categories. Use before creating PRs, after making changes to skills or templates, or to verify plugin health.
$ npx -y skills add bitwize-music-studio/claude-ai-music-skills --skill test --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/test
Context preview
The summary Claude sees to decide when to auto-load this skill.
Runs automated tests to validate plugin integrity across 14 categories. Use before creating PRs, after making changes to skills or templates, or to verify plugin health.
SKILL.md
test.SKILL.mdname: test
description: Runs automated tests to validate plugin integrity across 14 categories. Use before creating PRs, after making changes to skills or templates, or to verify plugin health.
argument-hint: "[all | config | skills | templates | workflow | suno | research | mastering | sheet-music | release | consistency | terminology | behavior | quality | quick]"
model: haiku
context: fork
allowed-tools:
- Read
- Grep
- Glob
- Bash
Your Task
**Input**: $ARGUMENTS
Run automated tests to validate plugin integrity. Execute each test methodically and report results clearly.
**Default**: Run all tests if no argument provided.
---
Plugin Test Suite
You are the plugin's automated test runner. Execute each test, track pass/fail, and report actionable results.
Quick Automated Tests (`/test quick`)
For fast automated validation, run the pytest suite. Call `get_python_command()` first to get `$PYTHON` (the venv interpreter path — correct on every OS, including native Windows):
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -vThis covers:
- **plugin tests** (`tests/plugin/`) - Frontmatter, templates, references, links, terminology, consistency, config, state, genres, integration
- **unit tests** (`tests/unit/`) - State parsers/indexer, shared utilities, mastering functions
Run specific categories:
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py -v # Skills only
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/ -v # All plugin tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/unit/ -v # All unit tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -m "not slow" -v # Skip slow testsPytest catches common issues fast. For deep behavioral tests, use the full test suite below.
Output Format
════════════════════════════════════════
CATEGORY: Test Category Name
════════════════════════════════════════
[PASS] Test name
[FAIL] Test name
→ Problem: what's wrong
→ File: path/to/file:line
→ Fix: specific fix instruction
────────────────────────────────────────
Category: X passed, Y failed
────────────────────────────────────────At the end:
════════════════════════════════════════
FINAL RESULTS
════════════════════════════════════════
config: X passed, Y failed
skills: X passed, Y failed
templates: X passed, Y failed
...
────────────────────────────────────────
TOTAL: X passed, Y failed, Z skipped
════════════════════════════════════════
---
TEST CATEGORIES
All test definitions are in [test-definitions.md](test-definitions.md).
14 categories: config, skills, templates, workflow, suno, research, mastering, sheet-music, release, consistency, terminology, behavior, quality, e2e.
Read that file before running tests to understand what each test checks.
---
RUNNING TESTS
Commands
| Command | Description | |---------|-------------| | `/test` or `/test all` | Run all tests | | `/test quick` | Run Python test runner (fast automated checks) | | `/test config` | Configuration system tests | | `/test skills` | Skill definitions and docs | | `/test templates` | Template file tests | | `/test workflow` | Album workflow documentation | | `/test suno` | Suno integration tests | | `/test research` | Research workflow tests | | `/test mastering` | Mastering workflow tests | | `/test sheet-music` | Sheet music generation tests | | `/test release` | Release workflow tests | | `/test consistency` | Cross-reference checks | | `/test terminology` | Consistent language tests | | `/test behavior` | Scenario-based tests | | `/test quality` | Code quality checks | | `/test e2e` | End-to-end integration test |
Quick Tests via Pytest
For rapid validation during development, use pytest directly. Call `get_python_command()` first to get `$PYTHON` (the venv interpreter path — correct on every OS):
# Run all tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v
# Run specific test modules
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_templates.py -v
# Verbose with short tracebacks
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v --tb=short
# Quiet mode (for CI/logs)
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -q --tb=lineTest modules in `tests/plugin/`:
- `test_skills.py` - Frontmatter, required fields, model validation
- `test_templates.py` - Template existence and structure
- `test_references.py` - Reference doc existence
- `test_links.py` - Internal markdown links
- `test_terminology.py` - Deprecated terms check
- `test_consistency.py` - Version sync, skill counts
- `test_config.py` - Config file validation
- `test_state.py` - State cache tool validation
- `test_genres.py` - Genre directory cross-reference
- `test_integration.py` - Cross-skill prerequisite chains
Adding New Tests
When bugs are found: 1. Identify which category the test belongs to 2. Add a test that would have caught the bug 3. Run `/test [category]` to verify test fails 4. Fix the bug 5. Run `/test [category]` to verify test passes 6. Commit both the fix and the new test
**Rule:** Every bug fix should add a regression test.
---
EXECUTION TIPS
- Use Grep with `output_mode: content` and `-n` for line numbers
- Use Glob to find files by pattern
- Use Read to check file contents
- Use Bash sparingly (YAML/JSON validation)
- Report exact file:line for failures
- Provide specific, actionable fix instructions
- Group related tests for readability
- Skip tests gracefully if prerequisites missing
Read more
name: test description: Runs automated tests to validate plugin integrity across 14 categories. Use before creating PRs, after making changes to skills or templates, or to verify plugin health. argument-hint: "[all | config | skills | templates | workflow | suno | research | mastering | sheet-music | release | consistency | terminology | behavior | quality | quick]" model: haiku context: fork allowed-tools: - Read - Grep - Glob - Bash
Your Task
**Input**: $ARGUMENTS
Run automated tests to validate plugin integrity. Execute each test methodically and report results clearly.
**Default**: Run all tests if no argument provided.
---
Plugin Test Suite
You are the plugin's automated test runner. Execute each test, track pass/fail, and report actionable results.
Quick Automated Tests (`/test quick`)
For fast automated validation, run the pytest suite. Call `get_python_command()` first to get `$PYTHON` (the venv interpreter path — correct on every OS, including native Windows):
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -vThis covers:
- **plugin tests** (`tests/plugin/`) - Frontmatter, templates, references, links, terminology, consistency, config, state, genres, integration
- **unit tests** (`tests/unit/`) - State parsers/indexer, shared utilities, mastering functions
Run specific categories:
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py -v # Skills only
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/ -v # All plugin tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/unit/ -v # All unit tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -m "not slow" -v # Skip slow testsPytest catches common issues fast. For deep behavioral tests, use the full test suite below.
Output Format
════════════════════════════════════════
CATEGORY: Test Category Name
════════════════════════════════════════
[PASS] Test name
[FAIL] Test name
→ Problem: what's wrong
→ File: path/to/file:line
→ Fix: specific fix instruction
────────────────────────────────────────
Category: X passed, Y failed
────────────────────────────────────────At the end:
════════════════════════════════════════ FINAL RESULTS ════════════════════════════════════════ config: X passed, Y failed skills: X passed, Y failed templates: X passed, Y failed ... ──────────────────────────────────────── TOTAL: X passed, Y failed, Z skipped ════════════════════════════════════════
---
TEST CATEGORIES
All test definitions are in [test-definitions.md](test-definitions.md).
14 categories: config, skills, templates, workflow, suno, research, mastering, sheet-music, release, consistency, terminology, behavior, quality, e2e.
Read that file before running tests to understand what each test checks.
---
RUNNING TESTS
Commands
| Command | Description | |---------|-------------| | `/test` or `/test all` | Run all tests | | `/test quick` | Run Python test runner (fast automated checks) | | `/test config` | Configuration system tests | | `/test skills` | Skill definitions and docs | | `/test templates` | Template file tests | | `/test workflow` | Album workflow documentation | | `/test suno` | Suno integration tests | | `/test research` | Research workflow tests | | `/test mastering` | Mastering workflow tests | | `/test sheet-music` | Sheet music generation tests | | `/test release` | Release workflow tests | | `/test consistency` | Cross-reference checks | | `/test terminology` | Consistent language tests | | `/test behavior` | Scenario-based tests | | `/test quality` | Code quality checks | | `/test e2e` | End-to-end integration test |
Quick Tests via Pytest
For rapid validation during development, use pytest directly. Call `get_python_command()` first to get `$PYTHON` (the venv interpreter path — correct on every OS):
# Run all tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v
# Run specific test modules
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_templates.py -v
# Verbose with short tracebacks
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v --tb=short
# Quiet mode (for CI/logs)
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -q --tb=lineTest modules in `tests/plugin/`:
- `test_skills.py` - Frontmatter, required fields, model validation
- `test_templates.py` - Template existence and structure
- `test_references.py` - Reference doc existence
- `test_links.py` - Internal markdown links
- `test_terminology.py` - Deprecated terms check
- `test_consistency.py` - Version sync, skill counts
- `test_config.py` - Config file validation
- `test_state.py` - State cache tool validation
- `test_genres.py` - Genre directory cross-reference
- `test_integration.py` - Cross-skill prerequisite chains
Adding New Tests
When bugs are found: 1. Identify which category the test belongs to 2. Add a test that would have caught the bug 3. Run `/test [category]` to verify test fails 4. Fix the bug 5. Run `/test [category]` to verify test passes 6. Commit both the fix and the new test
**Rule:** Every bug fix should add a regression test.
---
EXECUTION TIPS
- Use Grep with `output_mode: content` and `-n` for line numbers
- Use Glob to find files by pattern
- Use Read to check file contents
- Use Bash sparingly (YAML/JSON validation)
- Report exact file:line for failures
- Provide specific, actionable fix instructions
- Group related tests for readability
- Skip tests gracefully if prerequisites missing
I love music but never learned an instrument. AI became the creative outlet that was always out of reach. This project started as a way to go deep on Claude Code plugin architecture, agentic workflows, multi-model orchestration, and MCP tooling.
Repo: bitwize-music-studio/claude-ai-music-skills
Other skills on bitwize-music.
- /about
Provides information about the bitwize-music plugin, its version, and its creator. Use when the user asks about the plugin, its purpose, version, or capabilities.
Open skill - /album-art-director
Creates visual concepts for album artwork and generates AI art prompts. Use during planning for concept discussion, or after all tracks are Final for actual artwork generation.
Open skill - /album-conceptualizer
Designs album concepts, tracklist architecture, and thematic planning through 7 structured phases. Use when planning a new album or reworking an existing album concept.
Open skill - /album-dashboard
Shows a structured progress dashboard for an album with percentage complete per phase, blocking items, and status breakdown. Use for a quick visual overview of album progress.
Open skill - /album-ideas
Tracks and manages album ideas including brainstorming, planning, and status updates. Use when the user wants to add, review, or organize their album idea backlog.
Open skill - /clipboard
Copies track content (lyrics, style prompts, streaming lyrics) to the system clipboard. Use when the user needs to paste lyrics or style prompts into Suno or other external tools.
Open skill

