Agent skill

Conditioning

by benchflow-ai in benchflow-ai/skillsbench

Data conditioning techniques for gravitational wave detector data.

Apache-2.0Auto-check passed

Install Conditioning

skills CLI
$ npx skills add benchflow-ai/skillsbench --skill conditioning -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benchflow-ai/skillsbench conditioning --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benchflow-ai/skillsbench.git skills-src && mkdir -p .claude/skills && cp -r skills-src/tasks/gravitational-wave-detection/environment/skills/conditioning .claude/skills/conditioning && rm -rf skills-src

Use ~/.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/

Facts

Skill name
conditioning
GitHub stars
1.8k
Token cost
~1.3k tokens
SKILL.md length
376 words
Files
1
Skills in repo
178
Repo updated
First seen
Licence
Apache-2.0

At a glance

Data conditioning techniques for gravitational wave detector data.

  • Works in 4 steps: High-pass filtering (remove… → Resampling (downsample to appropriate… → Crop filter wraparound (remove edge… → …
  • Preprocessing raw detector strain data before matched filtering
  • SKILL.md covers Overview, High-Pass Filtering, Resampling and Crop Filter Wraparound, plus 5 more sections
  • Calls pip

What it does

Conditioning is an agent skill from benchflow-ai/skillsbench. Data conditioning techniques for gravitational wave detector data. Use when preprocessing raw detector strain data before matched filtering, including high-pass filtering, resampling, removing filter wraparound artifacts, and estimating power spectral density (PSD). Works with PyCBC TimeSeries data.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: SkillsBench evaluates how well skills work and how effective agents are at using them. The licence is Apache-2.0.

When your agent uses it

  • Preprocessing raw detector strain data before matched filtering
  • Including high-pass filtering
  • Removing filter wraparound artifacts
  • Estimating power spectral density (PSD)

Example prompts

  • “/conditioning”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. High-pass filtering (remove low-frequency noise below ~15 Hz)
  2. Resampling (downsample to appropriate sampling rate)
  3. Crop filter wraparound (remove edge artifacts from filtering)
  4. PSD estimation (calculate power spectral density for matched filtering)

What it can do on your machine

Read from SKILL.md and the folder at commit 9a1f4dd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • pycbc.org
    • colab.research.google.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Conditioning loads about 1.3k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 376 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from benchflow-ai/skillsbench at commit 9a1f4dd, republished under its Apache-2.0 licence (© benchflow-ai). 376 words, ~1,344 tokens.

Download SKILL.mdSave it as .claude/skills/conditioning/SKILL.md (or your agent's skills folder).
name
conditioning
description
Data conditioning techniques for gravitational wave detector data. Use when preprocessing raw detector strain data before matched filtering, including high-pass filtering, resampling, removing filter wraparound artifacts, and estimating power spectral density (PSD). Works with PyCBC TimeSeries data.

Gravitational Wave Data Conditioning

Data conditioning is essential before matched filtering. Raw gravitational wave detector data contains low-frequency noise, instrumental artifacts, and needs proper sampling rates for computational efficiency.

Overview

The conditioning pipeline typically involves:

  1. High-pass filtering (remove low-frequency noise below ~15 Hz)
  2. Resampling (downsample to appropriate sampling rate)
  3. Crop filter wraparound (remove edge artifacts from filtering)
  4. PSD estimation (calculate power spectral density for matched filtering)

High-Pass Filtering

Remove low-frequency noise and instrumental artifacts:

python
from pycbc.filter import highpass

# High-pass filter at 15 Hz (typical for LIGO/Virgo data)
strain_filtered = highpass(strain, 15.0)

# Common cutoff frequencies:
# 15 Hz: Standard for ground-based detectors
# 20 Hz: Higher cutoff, more aggressive noise removal
# 10 Hz: Lower cutoff, preserves more low-frequency content

Why 15 Hz? Ground-based detectors like LIGO/Virgo have significant low-frequency noise. High-pass filtering removes this noise while preserving the gravitational wave signal (typically >20 Hz for binary mergers).

Resampling

Downsample the data to reduce computational cost:

python
from pycbc.filter import resample_to_delta_t

# Resample to 2048 Hz (common for matched filtering)
delta_t = 1.0 / 2048
strain_resampled = resample_to_delta_t(strain_filtered, delta_t)

# Or to 4096 Hz for higher resolution
delta_t = 1.0 / 4096
strain_resampled = resample_to_delta_t(strain_filtered, delta_t)

# Common sampling rates:
# 2048 Hz: Standard, computationally efficient
# 4096 Hz: Higher resolution, better for high-mass systems

Note: Resampling should happen AFTER high-pass filtering to avoid aliasing. The Nyquist frequency (half the sampling rate) must be above the signal frequency of interest.

Crop Filter Wraparound

Remove edge artifacts introduced by filtering:

python
# Crop 2 seconds from both ends to remove filter wraparound
conditioned = strain_resampled.crop(2, 2)

# The crop() method removes time from start and end:
# crop(start_seconds, end_seconds)
# Common values: 2-4 seconds on each end

# Verify the duration
print(f"Original duration: {strain_resampled.duration} s")
print(f"Cropped duration: {conditioned.duration} s")

Why crop? Digital filters introduce artifacts at the edges of the time series. These artifacts can cause false triggers in matched filtering.

Power Spectral Density (PSD) Estimation

Calculate the PSD needed for matched filtering:

python
from pycbc.psd import interpolate, inverse_spectrum_truncation

# Estimate PSD using Welch's method
# seg_len: segment length in seconds (typically 4 seconds)
psd = conditioned.psd(4)

# Interpolate PSD to match data frequency resolution
psd = interpolate(psd, conditioned.delta_f)

# Inverse spectrum truncation for numerical stability
# This limits the effective filter length
psd = inverse_spectrum_truncation(
    psd,
    int(4 * conditioned.sample_rate),
    low_frequency_cutoff=15
)

# Check PSD properties
print(f"PSD length: {len(psd)}")
print(f"PSD delta_f: {psd.delta_f}")
print(f"PSD frequency range: {psd.sample_frequencies[0]:.2f} - {psd.sample_frequencies[-1]:.2f} Hz")
PSD Parameters Explained
  • Segment length (4 seconds): Longer segments give better frequency resolution but fewer averages. 4 seconds is a good balance.
  • Low frequency cutoff (15 Hz): Should match your high-pass filter cutoff. Frequencies below this are not well-characterized.
Show full SKILL.md (155 more words)Show less

Best Practices

  1. Always high-pass filter first: Remove low-frequency noise before resampling
  2. Choose appropriate sampling rate: 2048 Hz is standard, 4096 Hz for high-mass systems
  3. Crop enough time: 2 seconds is minimum, but may need more for longer templates
  4. Match PSD cutoff to filter: PSD low-frequency cutoff should match high-pass filter frequency
  5. Verify data quality: Plot the conditioned strain to check for issues

Dependencies

bash
pip install pycbc

References

Common Issues

Problem: PSD estimation fails with "must contain at least one sample" error

  • Solution: Ensure data is long enough after cropping (need several segments for Welch method)

Problem: Filter wraparound artifacts in matched filtering

  • Solution: Increase crop amount or check that filtering happened before cropping

Problem: Poor SNR due to low-frequency noise

  • Solution: Increase high-pass filter cutoff frequency or check PSD inverse spectrum truncation

© benchflow-ai, 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

Files

Just SKILL.md in tasks/gravitational-wave-detection/environment/skills/conditioning of benchflow-ai/skillsbench.

Open the folder on GitHubat commit 9a1f4dd

Compare with similar skills

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

Conditioning compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Conditioning this skillbenchflow-ai/skillsbench1.8k—~1.3kAutomated safety check: PassApache-2.0
Elliott Wave Signal EngineHKUDS/Vibe-Trading35k—~482Automated safety check: PassMIT
Exploiting Race Condition Vulnerabilitiesmukul975/Anthropic-Cybersecurity-Skills34k—~2.3kAutomated safety check: PassApache-2.0
Hunt Exceptional Conditionssickn33/agentic-awesome-skills47k1 repos~1.3kAutomated safety check: PassMIT
Hunt Race Conditionsickn33/agentic-awesome-skills47k1 repos~5.7kAutomated safety check: PassMIT
Mapping Mitre Attack Techniquesmukul975/Anthropic-Cybersecurity-Skills34k—~1.8kAutomated safety check: PassApache-2.0

Similar skills

  • Elliott Wave Signal Engine

    HKUDS/Vibe-Trading

    Detects Elliott Wave structures in price data with a Zigzag swing finder and Fibonacci checks, and turns completed waves into long, short or flat signals.

    35k GitHub stars~482 tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Exploiting Race Condition Vulnerabilities

    mukul975/Anthropic-Cybersecurity-Skills

    Detects and exploits race condition (TOCTOU) vulnerabilities in web applications using Burp Suite's Turbo Intruder extension and its single-packet attack technique to fire parallel requests that…

    34k GitHub stars~2.3k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Hunt Exceptional Conditions

    sickn33/agentic-awesome-skills

    Hunt mishandling of exceptional conditions. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Hunt Race Condition

    sickn33/agentic-awesome-skills

    Hunting skill for race condition vulnerabilities. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~5.7k tokens
    DevelopmentAuto-check passed
  • Mapping Mitre Attack Techniques

    mukul975/Anthropic-Cybersecurity-Skills

    Maps observed adversary behaviors, security alerts, and detection rules to MITRE ATT&CK techniques and sub-techniques to quantify detection coverage and guide control prioritization.

    34k GitHub stars~1.8k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis.

    40k GitHub stars~980 tokensUpdated 3 days ago
    SecurityAuto-check passed

More from benchflow-ai/skillsbench

All 178 skills in this repo
  • Lean4 Memories

    benchflow-ai/skillsbench

    This skill should be used when working on Lean 4 formalization projects to maintain persistent memory of successful proof patterns, failed approaches, project conventions, and user preferences…

    1.8k GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Senior Data Engineer

    benchflow-ai/skillsbench

    World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, real-time streaming, and data infrastructure.

    1.8k GitHub stars~5.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Ac Branch Pi Model

    benchflow-ai/skillsbench

    AC branch pi-model power flow equations (P/Q and |S|) with transformer tap ratio and phase shift, matching acopf-math-model.md and MATPOWER branch fields.

    1.8k GitHub stars~1.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Civ6lib

    benchflow-ai/skillsbench

    Civilization 6 district mechanics library. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • D3 Visualization

    benchflow-ai/skillsbench

    Build deterministic, verifiable data visualizations with D3.js (v6).

    1.8k GitHub stars~1.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Dc Power Flow

    benchflow-ai/skillsbench

    DC power flow analysis for power systems. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~717 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Conditioning

What does Conditioning do?

Data conditioning techniques for gravitational wave detector data. Conditioning is an agent skill from benchflow-ai/skillsbench. Data conditioning techniques for gravitational wave detector data.

When should I use Conditioning?

Conditioning fits situations like: preprocessing raw detector strain data before matched filtering; including high-pass filtering; removing filter wraparound artifacts; estimating power spectral density (PSD).

How do I install Conditioning in Claude Code?

Run `npx skills add benchflow-ai/skillsbench --skill conditioning -a claude-code`. Or copy the skill folder (tasks/gravitational-wave-detection/environment/skills/conditioning in benchflow-ai/skillsbench) into .claude/skills/conditioning in your project. Claude Code loads it when a task matches its description.

How do I install Conditioning in Codex?

Run `npx skills add benchflow-ai/skillsbench --skill conditioning -a codex`. Or copy the skill folder (tasks/gravitational-wave-detection/environment/skills/conditioning in benchflow-ai/skillsbench) into .agents/skills/conditioning in your project. Codex loads it when a task matches its description.

Can I use Conditioning in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benchflow-ai/skillsbench --skill conditioning -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conditioning, .gemini/skills/conditioning, .github/skills/conditioning and .opencode/skills/conditioning in your project.

What does Conditioning need to run?

Going by SKILL.md and its folder, Conditioning needs the command-line tools its instructions call (pip). Our summary lists: Python 3.

Does Conditioning access the network?

SKILL.md names 2 domains. As links in the text: pycbc.org and colab.research.google.com. This is read from the text; nothing was executed.

Is Conditioning safe to install?

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.

What licence does Conditioning use?

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

How many tokens does Conditioning use?

About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Conditioning?

Skills that share tags, products or a category with Conditioning: Elliott Wave Signal Engine (HKUDS/Vibe-Trading, 35k stars), Exploiting Race Condition Vulnerabilities (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Hunt Exceptional Conditions (sickn33/agentic-awesome-skills, 47k stars) and Hunt Race Condition (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Conditioning?

benchflow-ai (a GitHub organization) maintains it in benchflow-ai/skillsbench, which has 1,832 GitHub stars. The repository holds 178 skills in this directory. The repository was last updated on July 23, 2026.

Source: benchflow-ai/skillsbench on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.