Dataframely
Quantco/dataframely
Best practices for polars data processing with dataframely. An agent skill from Quantco/dataframely.
Use Hypothesis for property-based testing to automatically generate comprehensive test cases, find edge cases, and write more robust tests with minimal example shrinking.
$ npx skills add anam-org/metaxy --skill hypothesis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install anam-org/metaxy hypothesis --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/hypothesis .claude/skills/hypothesis && 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 "hypothesis" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/hypothesis into .claude/skills/hypothesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hypothesis", 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/hypothesisType 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 hypothesis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install anam-org/metaxy hypothesis --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/hypothesis .agents/skills/hypothesis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hypothesis" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/hypothesis into .agents/skills/hypothesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hypothesis", 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 hypothesis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install anam-org/metaxy hypothesis --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/hypothesis .cursor/skills/hypothesis && 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 "hypothesis" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/hypothesis into .cursor/skills/hypothesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hypothesis", 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/hypothesis--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 hypothesis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install anam-org/metaxy hypothesis --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/hypothesis .gemini/skills/hypothesis && 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 "hypothesis" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/hypothesis into .gemini/skills/hypothesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hypothesis", 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 hypothesisInstalls 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 hypothesis -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/hypothesis .github/skills/hypothesis && 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 "hypothesis" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/hypothesis into .github/skills/hypothesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hypothesis", 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 hypothesis -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 hypothesis --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/hypothesis .opencode/skills/hypothesis && 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 "hypothesis" agent skill from https://github.com/anam-org/metaxy/tree/main/.claude/skills/hypothesis into .opencode/skills/hypothesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hypothesis", 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.
hypothesisUse Hypothesis for property-based testing to automatically generate comprehensive test cases, find edge cases, and write more robust tests with minimal example shrinking.
Hypothesis is an agent skill from 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. Includes Polars parametric testing integration.
Its SKILL.md is about 1.7k 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 Data & Analytics, covering DataFrames and Test generation. It works with Polars. The repository describes itself as: Pluggable metadata management framework for versioned incremental multimodal data/ML pipelines. The licence is Apache-2.0.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
hypothesis.readthedocs.iodocs.pola.rsFrom 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.
Hypothesis loads about 1.7k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 283 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). 283 words, ~1,721 tokens.
.claude/skills/hypothesis/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Property-based testing framework that generates test cases automatically, finds minimal failing examples through shrinking, and verifies invariants.
Official Docs: https://hypothesis.readthedocs.io/en/latest/
Key Features:
from hypothesis import given
from hypothesis import strategies as st
@given(st.integers())
def test_property(x):
"""Test properties that should always hold"""
assert abs(x) >= 0
@given(st.lists(st.integers()))
def test_list_property(lst):
sorted_lst = sorted(lst)
assert len(sorted_lst) == len(lst)
# Check monotonic property
for i in range(len(sorted_lst) - 1):
assert sorted_lst[i] <= sorted_lst[i + 1]Full reference: https://hypothesis.readthedocs.io/en/latest/data.html
Common strategies:
st.integers(), st.floats(), st.text(), st.booleans()st.lists(), st.dictionaries(), st.tuples(), st.sets()st.dates(), st.datetimes(), st.timedeltas()st.one_of(), st.sampled_from(), st.recursive()st.from_type(MyClass)from hypothesis import strategies as st
from hypothesis.strategies import composite
@composite
def user_strategy(draw):
age = draw(st.integers(min_value=18, max_value=100))
name = draw(st.text(min_size=1))
return {"name": name, "age": age, "is_adult": age >= 18}
@given(user_strategy())
def test_user(user):
assert user["is_adult"] == (user["age"] >= 18)st.integers().filter(lambda x: x % 2 == 0) # Filter
st.integers().map(str) # Transform
st.one_of(st.integers(), st.text()) # Choose between strategies
st.sampled_from([1, 2, 3, 4, 5]) # Pick from collection
st.from_type(MyClass) # Infer from type hints
st.builds(MyClass, arg1=st.integers()) # Build instancesfrom hypothesis import given, settings
from hypothesis import strategies as st
@given(st.integers())
@settings(
max_examples=1000, # Default: 100
deadline=None, # Remove time limit
derandomize=True, # Deterministic ordering
)
def test_example(x):
pass
# Profiles for different environments
settings.register_profile("dev", max_examples=10)
settings.register_profile("ci", max_examples=1000, deadline=None)
# Activate: HYPOTHESIS_PROFILE=ci pytestFull settings reference: https://hypothesis.readthedocs.io/en/latest/settings.html
from hypothesis import given, assume, note, example, seed
@given(st.integers(), st.integers())
def test_division(x, y):
assume(y != 0) # Skip invalid cases (prefer .filter() instead)
note(f"Testing {x} / {y}") # Add debug info
assert (x / y) * y == x
@given(st.integers())
@example(0) # Always test specific cases
@seed(12345) # Reproducible run
def test_something(x):
passFor testing complex stateful systems with rule-based state machines.
from hypothesis.stateful import RuleBasedStateMachine, rule, invariant
from hypothesis import strategies as st
class MyStateMachine(RuleBasedStateMachine):
def __init__(self):
super().__init__()
self.data = []
@rule(value=st.integers())
def add(self, value):
self.data.append(value)
@invariant()
def check_invariant(self):
assert isinstance(self.data, list)
TestMachine = MyStateMachine.TestCaseFull stateful testing guide: https://hypothesis.readthedocs.io/en/latest/stateful.html
Polars provides built-in parametric testing strategies for generating DataFrames.
Official docs: https://docs.pola.rs/api/python/stable/reference/api/polars.testing.parametric.dataframes.html
from hypothesis import given
import polars as pl
from polars.testing.parametric import dataframes, column
# Generate DataFrames with specific column schemas
@given(
dataframes(
cols=[
column("id", dtype=pl.Int64),
column("name", dtype=pl.String),
column("value", dtype=pl.Float64),
],
min_size=1,
max_size=100,
)
)
def test_dataframe_property(df: pl.DataFrame):
"""Test properties of DataFrame operations"""
assert df.shape[0] >= 1
assert set(df.columns) == {"id", "name", "value"}
assert df["id"].dtype == pl.Int64
# With Narwhals wrapper
import narwhals as nw
@given(dataframes(cols=[column("a", dtype=pl.Int64)]))
def test_narwhals_operation(df: pl.DataFrame):
nw_df = nw.from_native(df)
result = nw_df.select(nw.col("a") * 2)
assert result.shape[0] == nw_df.shape[0]Key functions:
dataframes(): Generate DataFrames with specified columnscolumn(name, dtype, ...): Define column schemas with constraintsseries(): Generate standalone SeriesColumn constraints:
null_probability: Control null value frequencymin_size/max_size: Control row countallow_null: Enable/disable nullsunique: Generate unique valuesstrategy: Custom strategy for column valuesst.integers(min_value=0) not st.integers().filter(lambda x: x >= 0)@example(): Test specific edge cases explicitlyassume() overuse: Makes tests slow; use filtered strategies.hypothesis/ in .gitignore: Stores example database locallyCommon issues and solutions:
suppress_health_check@seed() or @settings(derandomize=True)max_examples or use profilesdeadline or set to Nonehypothesis write mymodule.myfunction© 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/hypothesis of anam-org/metaxy.
Open the folder on GitHubat commit 8337842
Hypothesis 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 |
|---|---|---|---|---|---|---|
| Hypothesis this skillanam-org/metaxy | 124 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| DataframelyQuantco/dataframely | 619 | — | ~2.4k | Automated safety check: Pass | BSD-3-Clause | |
| Hybrid-Engine Data Analysiscode-yeongyu/oh-my-openagent | 70k | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| Polarsdavila7/claude-code-templates | 32k | 14 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Optimuskgmims-harvard/OptimusKG | 146 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Polars BioClawBio/ClawBio | 1.2k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 |
Quantco/dataframely
Best practices for polars data processing with dataframely. An agent skill from Quantco/dataframely.
code-yeongyu/oh-my-openagent
Analyzes CSV, Parquet and JSON data with DuckDB, Polars, numpy and matplotlib, preferring a persistent kernel over repeated one-shot processes.
davila7/claude-code-templates
Fast DataFrame library (Apache Arrow). An agent skill from davila7/claude-code-templates.
mims-harvard/OptimusKG
Guide for using OptimusKG, the biomedical knowledge graph, through the optimuskg Python client.
ClawBio/ClawBio
Fast genomic interval operations (overlap, nearest, merge, coverage, cluster, complement, subtract, count-overlaps), multi-format bioinformatics I/O, DataFusion SQL, and pileup on Polars DataFrames…
K-Dense-AI/scientific-agent-skills
Performs genomic interval overlap, nearest, merge, coverage, complement and subtraction on Polars DataFrames, and reads or writes BED, VCF, BCF, BAM, CRAM, GFF, GTF, FASTA and FASTQ data.
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
Self-reflect on the current session to identify mistakes and propose improvements to .claude configuration (CLAUDE.md, hooks, skills).
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
Write YAML front matter for documentation pages with appropriate titles and descriptions for social cards.
anam-org/metaxy
Effectively use Narwhals to write dataframe-agnostic code that works seamlessly across multiple Python dataframe libraries.
anam-org/metaxy
Use Sybil for testing code examples in documentation and docstrings.
Works with
Categories
Use Hypothesis for property-based testing to automatically generate comprehensive test cases, find edge cases, and write more robust tests with minimal example shrinking. Hypothesis is an agent skill from 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.
Hypothesis fits situations like: tasks that involve DataFrames; tasks that involve Test generation.
Run `npx skills add anam-org/metaxy --skill hypothesis -a claude-code`. Or copy the skill folder (.claude/skills/hypothesis in anam-org/metaxy) into .claude/skills/hypothesis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add anam-org/metaxy --skill hypothesis -a codex`. Or copy the skill folder (.claude/skills/hypothesis in anam-org/metaxy) into .agents/skills/hypothesis 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 hypothesis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hypothesis, .gemini/skills/hypothesis, .github/skills/hypothesis and .opencode/skills/hypothesis in your project.
SKILL.md names no scripts, command-line tools or credentials: Hypothesis is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 2 domains. As links in the text: hypothesis.readthedocs.io and docs.pola.rs. 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.
Hypothesis 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 1.7k tokens (SKILL.md is roughly 6.9k 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 Hypothesis: Dataframely (Quantco/dataframely, 619 stars), Hybrid-Engine Data Analysis (code-yeongyu/oh-my-openagent, 70k stars), Polars (davila7/claude-code-templates, 32k stars) and Optimuskg (mims-harvard/OptimusKG, 146 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.