MCP HubMCP Hub
Retour aux compétences

test

bitwize-music-studio
Mis à jour Yesterday
1 vues
209
37
209
Voir sur GitHub
Métatestingautomation

À propos

Cette compétence exécute des tests automatisés pour valider l'intégrité des plugins à travers 14 catégories incluant la configuration, les compétences, les modèles et les flux de travail. Utilisez-la avant de créer des PRs ou après avoir effectué des modifications pour garantir la santé des plugins. Elle propose à la fois des tests complets et une option rapide pour une validation accélérée via pytest.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add bitwize-music-studio/claude-ai-music-skills -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/bitwize-music-studio/claude-ai-music-skills
Git CloneAlternatif
git clone https://github.com/bitwize-music-studio/claude-ai-music-skills.git ~/.claude/skills/test

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

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:

~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v

This 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:

~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py -v       # Skills only
~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/ -v                      # All plugin tests
~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/unit/ -v                        # All unit tests
~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -m "not slow" -v               # Skip slow tests

Pytest 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.

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

CommandDescription
/test or /test allRun all tests
/test quickRun Python test runner (fast automated checks)
/test configConfiguration system tests
/test skillsSkill definitions and docs
/test templatesTemplate file tests
/test workflowAlbum workflow documentation
/test sunoSuno integration tests
/test researchResearch workflow tests
/test masteringMastering workflow tests
/test sheet-musicSheet music generation tests
/test releaseRelease workflow tests
/test consistencyCross-reference checks
/test terminologyConsistent language tests
/test behaviorScenario-based tests
/test qualityCode quality checks
/test e2eEnd-to-end integration test

Quick Tests via Pytest

For rapid validation during development, use pytest directly:

# Run all tests
~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v

# Run specific test modules
~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_templates.py -v

# Verbose with short tracebacks
~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v --tb=short

# Quiet mode (for CI/logs)
~/.bitwize-music/venv/bin/python3 -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -q --tb=line

Test 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

Dépôt GitHub

bitwize-music-studio/claude-ai-music-skills
Chemin: skills/test
0
ai-musicai-music-toolsaudio-masteringclaudeclaude-codeclaude-code-plugin

Compétences associées

content-collections

Méta

Cette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.

Voir la compétence

polymarket

Méta

Cette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.

Voir la compétence

creating-opencode-plugins

Méta

Cette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.

Voir la compétence

sglang

Méta

SGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.

Voir la compétence