Adk Verify Snippets
google/adk-python
Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…
Write and organize tests for scientific Python packages using pytest.
$ npx skills add Yikai-Liao/symusic --skill python-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Yikai-Liao/symusic python-testing --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/Yikai-Liao/symusic.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/python-testing .claude/skills/python-testing && 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 "python-testing" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/python-testing into .claude/skills/python-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-testing", 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/Yikai-Liao/symusic/tree/main/.agents/skills/python-testingType 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 Yikai-Liao/symusic --skill python-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Yikai-Liao/symusic python-testing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/python-testing .agents/skills/python-testing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "python-testing" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/python-testing into .agents/skills/python-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-testing", 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 Yikai-Liao/symusic --skill python-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Yikai-Liao/symusic python-testing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/python-testing .cursor/skills/python-testing && 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 "python-testing" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/python-testing into .cursor/skills/python-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-testing", 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/Yikai-Liao/symusic.git --path .agents/skills/python-testing--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 Yikai-Liao/symusic --skill python-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Yikai-Liao/symusic python-testing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/python-testing .gemini/skills/python-testing && 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 "python-testing" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/python-testing into .gemini/skills/python-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-testing", 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 Yikai-Liao/symusic python-testingInstalls 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 Yikai-Liao/symusic --skill python-testing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/python-testing .github/skills/python-testing && 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 "python-testing" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/python-testing into .github/skills/python-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-testing", 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 Yikai-Liao/symusic --skill python-testing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Yikai-Liao/symusic python-testing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yikai-Liao/symusic.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/python-testing .opencode/skills/python-testing && 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 "python-testing" agent skill from https://github.com/Yikai-Liao/symusic/tree/main/.agents/skills/python-testing into .opencode/skills/python-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-testing", 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.
python-testingWrite and organize tests for scientific Python packages using pytest.
Python Testing is an agent skill from Yikai-Liao/symusic. Write and organize tests for scientific Python packages using pytest. Covers fixtures, parametrization, numerical testing with NumPy utilities, property-based testing with Hypothesis, and CI integration.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files and assets (for example `assets/conftest-example.py`, `assets/github-actions-tests.yml` and `references/common-pitfalls.md`).
It sits in Testing & QA, covering Unit testing. It works with Python, pytest and NumPy. The repository describes itself as: A swift and unified toolkit for symbolic music processing. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3cdd0ee. 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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pytestpipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
learn.scientific-python.orgdocs.pytest.orgpytest-cov.readthedocs.iopytest-mock.readthedocs.iohypothesis.readthedocs.ionumpy.orgdocs.python-guide.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.
Python Testing loads about 3.3k tokens when it runs, and up to ~9.7k if it reads all its reference files. Until then it costs about 55 tokens; SKILL.md has 1,069 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 Yikai-Liao/symusic at commit 3cdd0ee, republished under its MIT licence (© Yikai-Liao). 1,069 words, ~3,324 tokens.
.claude/skills/python-testing/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.A comprehensive guide to writing effective tests for scientific Python packages using pytest, following the Scientific Python Community guidelines and testing tutorial. This skill focuses on modern testing patterns, fixtures, parametrization, and best practices specific to scientific computing.
Common Testing Tasks - Quick Decisions:
# 1. Basic test → Use simple assert
def test_function():
assert result == expected
# 2. Floating-point comparison → Use approx
from pytest import approx
assert result == approx(0.333, rel=1e-6)
# 3. Testing exceptions → Use pytest.raises
with pytest.raises(ValueError, match="must be positive"):
function(-1)
# 4. Multiple inputs → Use parametrize
@pytest.mark.parametrize("input,expected", [(1,1), (2,4), (3,9)])
def test_square(input, expected):
assert input**2 == expected
# 5. Reusable setup → Use fixture
@pytest.fixture
def sample_data():
return np.array([1, 2, 3, 4, 5])
# 6. NumPy arrays → Use approx or numpy.testing
assert np.mean(data) == approx(3.0)Decision Tree:
pytest is the de facto standard for testing Python packages because it:
assert statementStandard test directory layout:
my-package/
├── src/
│ └── my_package/
│ ├── __init__.py
│ ├── analysis.py
│ └── utils.py
├── tests/
│ ├── conftest.py
│ ├── test_analysis.py
│ └── test_utils.py
└── pyproject.tomlKey principles:
src/)test_*.py (pytest discovery)test_* (pytest discovery)__init__.py in tests directory (avoid importability issues)See assets/pyproject-pytest.toml for a complete pytest configuration example.
Basic configuration in pyproject.toml:
[tool.pytest.ini_options]
minversion = "7.0"
addopts = [
"-ra", # Show summary of all test outcomes
"--showlocals", # Show local variables in tracebacks
"--strict-markers", # Error on undefined markers
"--strict-config", # Error on config issues
]
testpaths = ["tests"]Following the Scientific Python testing recommendations, effective testing provides multiple benefits and should follow key principles:
1. Any test case is better than none
When in doubt, write the test that makes sense at the time:
Don't get bogged down in taxonomy when learning—focus on writing tests that work.
2. As long as that test is correct
It's surprisingly easy to write tests that pass when they should fail:
3. Start with Public Interface Tests
Begin by testing from the perspective of a user:
4. Organize Tests into Suites
Divide tests by type and execution time for efficiency:
Benefits:
The recommended approach is outside-in, starting from the user's perspective:
This approach ensures you're building the right thing before optimizing implementation details.
# tests/test_basic.py
def test_simple_math():
"""Test basic arithmetic."""
assert 4 == 2**2
def test_string_operations():
"""Test string methods."""
result = "hello world".upper()
assert result == "HELLO WORLD"
assert "HELLO" in result# tests/test_scientific.py
import numpy as np
from pytest import approx
from my_package.analysis import compute_mean, fit_linear
def test_compute_mean():
"""Test mean calculation."""
data = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
result = compute_mean(data)
assert result == approx(3.0)
def test_fit_linear():
"""Test linear regression."""
x = np.array([0, 1, 2, 3, 4])
y = np.array([0, 2, 4, 6, 8])
slope, intercept = fit_linear(x, y)
assert slope == approx(2.0)
assert intercept == approx(0.0)See references/test-patterns.md for detailed patterns including:
See references/scientific-patterns.md for scientific-specific patterns:
# Run all tests
pytest
# Run specific file
pytest tests/test_analysis.py
# Run specific test
pytest tests/test_analysis.py::test_mean
# Run tests matching pattern
pytest -k "mean or median"
# Verbose output
pytest -v
# Show local variables in failures
pytest -l # or --showlocals
# Stop at first failure
pytest -x
# Show stdout/stderr
pytest -s# Drop into debugger on failure
pytest --pdb
# Drop into debugger at start of each test
pytest --trace
# Run last failed tests
pytest --lf
# Run failed tests first, then rest
pytest --ff
# Show which tests would be run (dry run)
pytest --collect-only# Install pytest-cov
pip install pytest-cov
# Run with coverage
pytest --cov=my_package
# With coverage report
pytest --cov=my_package --cov-report=html
# With missing lines
pytest --cov=my_package --cov-report=term-missing
# Fail if coverage below threshold
pytest --cov=my_package --cov-fail-under=90See assets/pyproject-pytest.toml for complete coverage configuration.
Ready-to-use templates are available in the assets/ directory:
See references/common-pitfalls.md for solutions to:
tests/ directory separate from sourcetest_*.pytest_*pyproject.tomlpytest.approx for floating-point comparisonspytest.raisespytest.warns@pytest.mark.slowSee assets/github-actions-tests.yml for a complete GitHub Actions workflow example.
Testing scientific Python code with pytest, following Scientific Python community principles, provides:
Key testing principles:
Remember: Any test is better than none, but well-organized tests following these principles create trustworthy, maintainable scientific software that the community can rely on.
© Yikai-Liao, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (references, assets) in .agents/skills/python-testing of Yikai-Liao/symusic.
Open the folder on GitHubat commit 3cdd0ee
Python Testing 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 |
|---|---|---|---|---|---|---|
| Python Testing this skillYikai-Liao/symusic | 189 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Adk Verify Snippetsgoogle/adk-python | 22k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Hermetic Python Unit TestsdimensionalOS/dimos | 4.6k | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| ONNX Runtime Test Runnermicrosoft/onnxruntime | 22k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Simple Modern Uvjlevy/simple-modern-uv | 301 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Test Coverage Reviewareed1192/finance-news-aggregator | 149 | — | ~2.6k | Automated safety check: Pass | MIT |
google/adk-python
Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…
dimensionalOS/dimos
Rules for writing, fixing and reviewing pytest unit tests that are hermetic: behavior-focused, deterministic, isolated and cheap to run.
microsoft/onnxruntime
Runs and debugs ONNX Runtime tests: Google Test executables for C++ and unittest or pytest for Python, with filters and build-directory guidance.
jlevy/simple-modern-uv
Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.
areed1192/finance-news-aggregator
Audit, plan, write, and verify unit tests for Python projects using pytest.
microsoft/onnxruntime
Runs the ONNX Runtime transformers Python tests against a GPU wheel and proves the cuDNN flash attention path was used rather than a silent fallback.
Yikai-Liao/symusic
Master the uv package manager for fast Python dependency management, virtual environments, and modern Python project workflows.
Yikai-Liao/symusic
Analyzes code diffs and files to identify bugs, security vulnerabilities (SQL injection, XSS, insecure deserialization), code smells, N+1 queries, naming issues, and architectural concerns, then…
Yikai-Liao/symusic
Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques.
Yikai-Liao/symusic
Create and publish distributable scientific Python packages following Scientific Python community best practices.
Yikai-Liao/symusic
Parses error messages, traces execution flow through stack traces, correlates log entries to identify failure points, and applies systematic hypothesis-driven methodology to isolate and resolve bugs.
Yikai-Liao/symusic
Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates.
Categories
Write and organize tests for scientific Python packages using pytest. Python Testing is an agent skill from Yikai-Liao/symusic. Write and organize tests for scientific Python packages using pytest.
Python Testing fits situations like: tasks that involve Unit testing.
Run `npx skills add Yikai-Liao/symusic --skill python-testing -a claude-code`. Or copy the skill folder (.agents/skills/python-testing in Yikai-Liao/symusic) into .claude/skills/python-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Yikai-Liao/symusic --skill python-testing -a codex`. Or copy the skill folder (.agents/skills/python-testing in Yikai-Liao/symusic) into .agents/skills/python-testing 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 Yikai-Liao/symusic --skill python-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/python-testing, .gemini/skills/python-testing, .github/skills/python-testing and .opencode/skills/python-testing in your project.
Going by SKILL.md and its folder, Python Testing needs Python for the scripts in its folder and the command-line tools its instructions call (pytest and pip). Our summary lists: Python 3.
SKILL.md names 7 domains. As links in the text: learn.scientific-python.org, docs.pytest.org, pytest-cov.readthedocs.io, pytest-mock.readthedocs.io, hypothesis.readthedocs.io, numpy.org and docs.python-guide.org. 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.
Python Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Python Testing: Adk Verify Snippets (google/adk-python, 22k stars), Hermetic Python Unit Tests (dimensionalOS/dimos, 4.6k stars), ONNX Runtime Test Runner (microsoft/onnxruntime, 22k stars) and Simple Modern Uv (jlevy/simple-modern-uv, 301 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Yikai-Liao (a GitHub user) maintains it in Yikai-Liao/symusic, which has 189 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 11, 2026.
Source: Yikai-Liao/symusic on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.