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…
Use syrupy for pytest snapshot testing to ensure the immutability of computed results, manage snapshots, customize serialization, and handle complex data structures with built-in matchers and filters.
$ npx skills add anam-org/metaxy --skill syrupy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install anam-org/metaxy syrupy --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/anam-org/metaxy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/syrupy .claude/skills/syrupy && 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 "syrupy" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/syrupy into .claude/skills/syrupy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "syrupy", 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/anam-org/metaxy/tree/main/.claude/skills/syrupyType 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 anam-org/metaxy --skill syrupy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install anam-org/metaxy syrupy --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/anam-org/metaxy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/syrupy .agents/skills/syrupy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "syrupy" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/syrupy into .agents/skills/syrupy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "syrupy", 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 anam-org/metaxy --skill syrupy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install anam-org/metaxy syrupy --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/anam-org/metaxy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/syrupy .cursor/skills/syrupy && 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 "syrupy" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/syrupy into .cursor/skills/syrupy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "syrupy", 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/anam-org/metaxy.git --path .claude/skills/syrupy--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 anam-org/metaxy --skill syrupy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install anam-org/metaxy syrupy --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/anam-org/metaxy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/syrupy .gemini/skills/syrupy && 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 "syrupy" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/syrupy into .gemini/skills/syrupy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "syrupy", 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 anam-org/metaxy syrupyInstalls 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 anam-org/metaxy --skill syrupy -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/anam-org/metaxy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/syrupy .github/skills/syrupy && 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 "syrupy" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/syrupy into .github/skills/syrupy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "syrupy", 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 anam-org/metaxy --skill syrupy -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install anam-org/metaxy syrupy --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/anam-org/metaxy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/syrupy .opencode/skills/syrupy && 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 "syrupy" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/syrupy into .opencode/skills/syrupy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "syrupy", 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.
syrupyUse syrupy for pytest snapshot testing to ensure the immutability of computed results, manage snapshots, customize serialization, and handle complex data structures with built-in matchers and filters.
Syrupy is an agent skill from anam-org/metaxy. Use syrupy for pytest snapshot testing to ensure the immutability of computed results, manage snapshots, customize serialization, and handle complex data structures with built-in matchers and filters.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `EXAMPLES.md`).
It sits in Testing & QA, covering Unit testing. It works with pytest and Python. The repository describes itself as: Pluggable metadata management framework for versioned incremental multimodal data/ML pipelines. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8337842. 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.
Shell commands in SKILL.md call:
pytestFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
syrupy-project.github.ioFrom 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.
Syrupy loads about 2.6k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 795 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 anam-org/metaxy at commit 8337842, republished under its Apache-2.0 licence (© anam-org). 795 words, ~2,607 tokens.
.claude/skills/syrupy/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Syrupy is a zero-dependency pytest snapshot testing plugin that enables asserting the immutability of computed results through simple, idiomatic assertions.
Docs: https://syrupy-project.github.io/syrupy/
Syrupy is a snapshot testing library that:
__snapshots__ directoriesThree Design Principles:
assert x == snapshot)Target Use Case: Testing complex data structures, API responses, UI components, or any computed results that should remain stable over time.
The snapshot fixture accepts several options per assertion:
matcher: Control how objects are serializedexclude: Filter out properties from snapshotsinclude: Include only specific propertiesextension_class: Use a different serialization formatdiff: Capture only differences from a basename: Custom name for the snapshotassert data == snapshot(matcher=my_matcher, exclude=my_filter, name="custom_name")Syrupy provides several snapshot extensions for different use cases:
.ambr files__repr__.json extension)syrupy.extensions.jsonUsage Example:
import pytest
from syrupy.extensions.json import JSONSnapshotExtension
@pytest.fixture
def snapshot_json(snapshot):
return snapshot.use_extension(JSONSnapshotExtension)
def test_api_call(client, snapshot_json):
resp = client.post("/endpoint")
assert resp.status_code == 200
assert snapshot_json == resp.json()Handling Dynamic Data in JSON:
from datetime import datetime
from syrupy.matchers import path_type
def test_api_call(client, snapshot_json):
resp = client.post("/user", json={"name": "Jane"})
matcher = path_type({"id": (int,), "registeredAt": (datetime,)})
assert snapshot_json(matcher=matcher) == resp.json()Matchers control how specific values are serialized during snapshot creation.
Match specific paths in data structures to types:
from syrupy.matchers import path_type
import datetime
matcher = path_type({"date_created": (datetime,), "user.id": (int,), "nested.*.timestamp": (datetime,)})Match paths and replace with specific values:
from syrupy.matchers import path_value
matcher = path_value({"id": "REDACTED_ID", "token": "***"})Filters control which properties are included/excluded from snapshots.
The exclude parameter accepts a custom filter function with this signature:
def my_filter(prop, path):
"""
Args:
prop: The current property (any hashable value: int, str, object, etc.)
path: Ordered sequence of traversed locations, e.g.,
(("a", dict), ("b", dict)) when navigating {"a": {"b": {"c": 1}}}
Returns:
True to exclude the property, False to include it
"""
return should_excludeExample:
def limit_foo_attrs(prop, path):
allowed_attrs = {"only", "serialize", "these", "attrs"}
return isinstance(path[-1][1], Foo) and prop in allowed_attrs
def test_bar(snapshot):
actual = Foo(...)
assert actual == snapshot(exclude=limit_foo_attrs)Filter by property names (shallow):
from syrupy.filters import props
# Exclude specific properties
exclude = props("id", "timestamp", "random_value")
# Include only specific properties
include = props("name", "type", "data")
# Works with indexed iterables
exclude = props("id", "1") # Excludes "id" and index 1Filter by full property paths using dot-delimited strings:
from syrupy.filters import paths
# Exclude nested paths
exclude = paths("user.password", "response.headers.authorization", "items.*.id")
# Works with list indices
exclude = paths("date", "list.1")Syrupy adds several pytest command-line options:
--snapshot-update: Update snapshots with current values--snapshot-warn-unused: Warn about unused snapshots--snapshot-details: Show detailed snapshot information--snapshot-default-extension: Change default extension class--snapshot-no-colors: Disable colored outputdef test_multiple_cases(snapshot):
assert case_1 == snapshot(name="case_1")
assert case_2 == snapshot(name="case_2")Note: Custom names must be unique within a test function.
Create a snapshot instance with default values:
def test_api_responses(snapshot):
api_snapshot = snapshot.with_defaults(
extension_class=JSONSnapshotExtension, exclude=props("timestamp", "request_id")
)
assert response1 == api_snapshot
assert response2 == api_snapshot # Uses same defaultsCreate custom snapshot serializers by extending AbstractSnapshotExtension:
from syrupy.extensions.base import AbstractSnapshotExtension
class MyExtension(AbstractSnapshotExtension):
def serialize(self, data, **kwargs):
# Custom serialization logic
return str(data)
def matches(self, *, serialized_data, snapshot_data):
# Custom comparison logic
return serialized_data == snapshot_data--snapshot-update to create__snapshots__/--snapshot-update if changes are expectedRemove unused snapshots:
pytest --snapshot-update --snapshot-warn-unusedAll Python built-in types are supported:
int, float, str, bool, Nonelist, tuple, set, dictdatetime, bytes, custom objects (via __repr__)Options for custom object snapshots:
__repr__ methodUse JSON extension with filters:
@pytest.fixture
def api_snapshot(snapshot):
return snapshot.use_extension(JSONSnapshotExtension).with_defaults(
exclude=props("timestamp", "request_id", "session")
)Use matchers for non-deterministic values:
from syrupy.matchers import path_type
import uuid
import datetime
assert response == snapshot(
matcher=path_type(
{
"id": (uuid.UUID,),
"created_at": (datetime.datetime,),
"*.timestamp": (datetime.datetime,),
}
)
)Capture only changes from a baseline:
def test_incremental_changes(snapshot):
baseline = {"config": {...}}
modified = apply_changes(baseline)
assert modified == snapshot(diff=baseline)--snapshot-update--snapshot-details for verbose output__snapshots__/ directory for actual filesexclude to isolate problematic fieldssnapshot.assert_match() to assert x == snapshot© anam-org, Apache-2.0. 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 1 other file in .claude/skills/syrupy of anam-org/metaxy.
Open the folder on GitHubat commit 8337842
Syrupy 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 |
|---|---|---|---|---|---|---|
| Syrupy this skillanam-org/metaxy | 124 | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| 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.
anam-org/metaxy
This skill should be used when the user asks to "define a feature", "create a BaseFeature class", "track feature versions", "set up metadata store", "field-level lineage", "FieldSpec", "FeatureDep"…
anam-org/metaxy
This skill should be used when the user asks to "add a tach module", "configure tach layers", "define module boundaries", "set up interfaces", "run tach check", "check module boundaries", "tach…
anam-org/metaxy
Self-reflect on the current session to identify mistakes and propose improvements to .claude configuration (CLAUDE.md, hooks, skills).
anam-org/metaxy
Write YAML front matter for documentation pages with appropriate titles and descriptions for social cards.
anam-org/metaxy
Use Hypothesis for property-based testing to automatically generate comprehensive test cases, find edge cases, and write more robust tests with minimal example shrinking.
anam-org/metaxy
Effectively use Narwhals to write dataframe-agnostic code that works seamlessly across multiple Python dataframe libraries.
Categories
Use syrupy for pytest snapshot testing to ensure the immutability of computed results, manage snapshots, customize serialization, and handle complex data structures with built-in matchers and filters. Syrupy is an agent skill from anam-org/metaxy. Use syrupy for pytest snapshot testing to ensure the immutability of computed results, manage snapshots, customize serialization, and handle complex data structures with built-in matchers and filters.
Syrupy fits situations like: tasks that involve Unit testing.
Run `npx skills add anam-org/metaxy --skill syrupy -a claude-code`. Or copy the skill folder (.claude/skills/syrupy in anam-org/metaxy) into .claude/skills/syrupy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add anam-org/metaxy --skill syrupy -a codex`. Or copy the skill folder (.claude/skills/syrupy in anam-org/metaxy) into .agents/skills/syrupy 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 anam-org/metaxy --skill syrupy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/syrupy, .gemini/skills/syrupy, .github/skills/syrupy and .opencode/skills/syrupy in your project.
Going by SKILL.md and its folder, Syrupy needs the command-line tools its instructions call (pytest). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: syrupy-project.github.io. 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.
Syrupy is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Syrupy: 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.
anam-org (a GitHub organization) maintains it in anam-org/metaxy, which has 124 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 30, 2026.
Source: anam-org/metaxy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.