360 Secure SkillHub
360 安全技能中心

test

作为插件测试运行器,支持 all、quick 及 config、skills、templates 等类别,使用 pytest 与文档检查验证 frontmatter、模板、引用、链接、术语、一致性和集成,输出分类统计与失败修复建议。

bitwize-music-studio
热度 0.00
最近更新 2026-10-19 07:31:00
分类:开发依赖:代码执行 / 读写文件应用场景:代码审查 / 调试排错 / 工作流 / 自动化脚本 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add bitwize-music-studio/claude-ai-music-skills/test
Metadata
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/ -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:

$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 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

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=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