Agent skill

Seismic Waveform Processing

by InternScience in InternScience/scp

Process seismic waveform data including reading MinISEED/SAC files, extracting metadata, and visualizing earthquake signals.

MITAuto-check passedData & Analytics

Install Seismic Waveform Processing

skills CLI
$ npx skills add InternScience/scp --skill seismic-waveform-processing -a claude-code

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

GitHub CLI
$ gh skill install InternScience/scp seismic-waveform-processing --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/InternScience/scp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seismic-waveform-processing .claude/skills/seismic-waveform-processing && 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
seismic-waveform-processing
GitHub stars
169
Used in
1 other repo
Token cost
~1.4k tokens
SKILL.md length
240 words
Files
1
Skills in repo
73
Repo updated
First seen
Licence
MIT

At a glance

Process seismic waveform data including reading MinISEED/SAC files, extracting metadata, and visualizing earthquake signals.

  • Works in 2 steps: MCP Server Definition → Seismic Waveform Processing Workflow
  • Data & Analytics work in your project
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Seismic Waveform Processing is an agent skill from InternScience/scp. Process seismic waveform data including reading MinISEED/SAC files, extracting metadata, and visualizing earthquake signals.

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

It sits in Data & Analytics. The licence is MIT.

When your agent uses it

  • Data & Analytics work in your project

Example prompts

  • “/seismic-waveform-processing”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. MCP Server Definition
  2. Seismic Waveform Processing Workflow

What it can do on your machine

Read from SKILL.md and the folder at commit cea5398. 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

    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.

  • Network

    No URLs in SKILL.md.

    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

Seismic Waveform Processing loads about 1.4k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 240 words of instructions outside code blocks.

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

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 InternScience/scp at commit cea5398, republished under its MIT licence (© InternScience). 240 words, ~1,368 tokens.

Download SKILL.mdSave it as .claude/skills/seismic-waveform-processing/SKILL.md (or your agent's skills folder).
name
seismic-waveform-processing
description
Process seismic waveform data including reading MinISEED/SAC files, extracting metadata, and visualizing earthquake signals.
license
MIT license
metadata.skill-author
PJLab

Seismic Waveform Processing

Usage

1. MCP Server Definition
python
import asyncio
import json
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession

class SeismicClient:
    """SeisOBS-Tool MCP Client"""

    def __init__(self, server_url: str, api_key: str):
        self.server_url = server_url
        self.api_key = api_key
        self.session = None

    async def connect(self):
        """Establish connection and initialize session"""
        try:
            self.transport = streamablehttp_client(
                url=self.server_url,
                headers={"SCP-HUB-API-KEY": self.api_key}
            )
            self.read, self.write, self.get_session_id = await self.transport.__aenter__()
            self.session_ctx = ClientSession(self.read, self.write)
            self.session = await self.session_ctx.__aenter__()
            await self.session.initialize()
            return True
        except Exception as e:
            print(f"✗ connect failure: {e}")
            return False

    async def disconnect(self):
        """Disconnect from server"""
        try:
            if self.session:
                await self.session_ctx.__aexit__(None, None, None)
            if hasattr(self, 'transport'):
                await self.transport.__aexit__(None, None, None)
        except Exception as e:
            print(f"✗ disconnect error: {e}")

    def parse_result(self, result):
        """Parse MCP tool call result"""
        try:
            if hasattr(result, 'content') and result.content:
                content = result.content[0]
                if hasattr(content, 'text'):
                    return json.loads(content.text)
            return str(result)
        except Exception as e:
            return {"error": f"parse error: {e}", "raw": str(result)}
2. Seismic Waveform Processing Workflow

This workflow processes seismic waveform data from MinISEED or SAC files.

Workflow Steps:

  1. Read Waveform Data - Load seismic data from file
  2. Extract Metadata - Retrieve station and instrument information
  3. Visualize Waveform - Generate time-series plot

Implementation:

python
## Initialize client
client = SeismicClient(
    "https://scp.intern-ai.org.cn/api/v1/mcp/33/SeisOBS-Tool",
    "<your-api-key>"
)

if not await client.connect():
    print("connection failed")
    exit()

## Input: Path to seismic data file (URL or local path)
data_path = "https://example.com/seismic_data.mseed"
channel_idx = 0  # Channel index to process

## Step 1: Read waveform data
result = await client.session.call_tool(
    "read_mseed_file",
    arguments={
        "data_path": data_path,
        "channel_idx": channel_idx
    }
)

waveform_data = client.parse_result(result)
print(f"Waveform data shape: {len(waveform_data['st'])} samples")

## Step 2: Extract metadata
result = await client.session.call_tool(
    "read_mseed_file_stats",
    arguments={
        "data_path": data_path,
        "channel_idx": channel_idx,
        "outfile": None
    }
)

metadata = client.parse_result(result)
print(f"Station: {metadata.get('station', 'N/A')}")
print(f"Sampling rate: {metadata.get('sampling_rate', 'N/A')} Hz")

## Step 3: Visualize waveform
result = await client.session.call_tool(
    "plot_single_waveform",
    arguments={
        "data_path": data_path,
        "channel_idx": channel_idx,
        "outfile": None,
        "starttime": None,
        "endtime": None
    }
)

plot_result = client.parse_result(result)
print(f"Waveform plot saved to: {plot_result['st']}")

await client.disconnect()
Tool Descriptions

SeisOBS-Tool Server:

  • read_mseed_file: Read waveform data from MinISEED file

    • Args:
      • data_path (str): Path or URL to MinISEED file
      • channel_idx (int): Channel index to read
    • Returns: Waveform time series data
  • read_mseed_file_stats: Extract metadata from MinISEED file

    • Args:
      • data_path (str): Path or URL to MinISEED file
      • channel_idx (int): Channel index
      • outfile (str, optional): Output file path
    • Returns: Station metadata and instrument information
  • plot_single_waveform: Generate waveform plot

    • Args:
      • data_path (str): Path or URL to MinISEED file
      • channel_idx (int): Channel index
      • outfile (str, optional): Output image path
      • starttime (str, optional): Plot start time
      • endtime (str, optional): Plot end time
    • Returns: Path to generated plot image
Input/Output

Input:

  • data_path: Path or URL to seismic data file (MinISEED or SAC format)
  • channel_idx: Index of the channel to process (0-based)
  • starttime/endtime: Optional time window for plotting

Output:

  • Waveform data array
  • Metadata including station, sampling rate, start time
  • Visualization image (PNG format)
Use Cases
  • Earthquake signal analysis
  • Seismic station quality control
  • Waveform data preprocessing
  • P-wave and S-wave identification
  • Ground motion visualization
Performance Notes
  • File formats: MinISEED (.mseed), SAC (.sac)
  • Execution time: <5 seconds for typical earthquake recordings
  • Data size: Handles files up to 100 MB efficiently

© InternScience, MIT. 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 skills/seismic-waveform-processing of InternScience/scp.

Open the folder on GitHubat commit cea5398

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in InternScience/scp, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Seismic Waveform Processing 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.

Seismic Waveform Processing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Seismic Waveform Processing this skillInternScience/scp1691 repos~1.4kAutomated safety check: PassMIT
Exploratory Data Analysisspacering-net/codeg3.8k15 repos~3.6kAutomated safety check: PassMIT
MatplotlibzLanqing/codex-claude-academic-skills4.6k17 repos~2.9kAutomated safety check: PassMIT
Scikit LearnzLanqing/codex-claude-academic-skills4.6k17 repos~3.9kAutomated safety check: PassBSD-3-Clause
Chart Visualizationbytedance/deer-flow83k2 repos~840Automated safety check: PassMIT
TimesFM Forecastinggoogle-research/timesfm34k—~4.7kAutomated safety check: PassApache-2.0

Similar skills

  • Exploratory Data Analysis

    spacering-net/codeg

    Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.

    3.8k GitHub starsUsed in 15 repos~3.6k tokens
    Data & AnalyticsAuto-check passed
  • Matplotlib

    zLanqing/codex-claude-academic-skills

    Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills.

    4.6k GitHub starsUsed in 17 repos~2.9k tokens
    Data & AnalyticsAuto-check passed
  • Scikit Learn

    zLanqing/codex-claude-academic-skills

    Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.

    4.6k GitHub starsUsed in 17 repos~3.9k tokens
    Data & AnalyticsAuto-check passed
  • Chart Visualization

    bytedance/deer-flow

    Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.

    83k GitHub starsUsed in 2 repos~840 tokens
    Data & AnalyticsAuto-check passed
  • TimesFM Forecasting

    google-research/timesfm

    Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.

    34k GitHub stars~4.7k tokensUpdated 8 days ago
    Data & AnalyticsAuto-check passed
  • Jupyter Notebook

    microsoft/ai-agents-for-beginners

    Official

    A skill your agent uses when the user asks to create, scaffold, or edit Jupyter notebooks (.ipynb) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script…

    77k GitHub starsUsed in 8 repos~1k tokens
    Data & AnalyticsAuto-check passed

More from InternScience/scp

All 73 skills in this repo
  • Given an rsID, query multiple databases (dbSNP, FAVOR, GWAS Catalog, ClinVar, gnomAD, PharmGKB, ClinGen) for comprehensive annotation.

    169 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Drugsda Esmfold

    InternScience/scp

    Use ESMFold model to predict 3D structure of the input protein sequence.

    169 GitHub starsUsed in 2 repos~721 tokens
    Auto-check passed
  • Drugsda Prosst

    InternScience/scp

    Given a protein sequence and its structure, employ ProSST model to predict mutation effects and obtain the top-k mutated sequences.

    169 GitHub starsUsed in 2 repos~949 tokens
    Auto-check passed
  • Calculate atmospheric parameters including Coriolis parameter, geostrophic wind, heat index, potential temperature, and dewpoint for meteorology and climate science.

    169 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Biomedical Web Search

    InternScience/scp

    Search biomedical literature and web content using Tavily search engine for research and clinical information.

    169 GitHub starsUsed in 1 repo~598 tokens
    Auto-check passed
  • Calculate buoyancy forces and acceleration for fluid mechanics and hydrodynamics analysis.

    169 GitHub starsUsed in 1 repo~540 tokens
    Auto-check passed

Questions about Seismic Waveform Processing

What does Seismic Waveform Processing do?

Process seismic waveform data including reading MinISEED/SAC files, extracting metadata, and visualizing earthquake signals. Seismic Waveform Processing is an agent skill from InternScience/scp. Process seismic waveform data including reading MinISEED/SAC files, extracting metadata, and visualizing earthquake signals.

When should I use Seismic Waveform Processing?

Seismic Waveform Processing fits situations like: data & Analytics work in your project.

How do I install Seismic Waveform Processing in Claude Code?

Run `npx skills add InternScience/scp --skill seismic-waveform-processing -a claude-code`. Or copy the skill folder (skills/seismic-waveform-processing in InternScience/scp) into .claude/skills/seismic-waveform-processing in your project. Claude Code loads it when a task matches its description.

How do I install Seismic Waveform Processing in Codex?

Run `npx skills add InternScience/scp --skill seismic-waveform-processing -a codex`. Or copy the skill folder (skills/seismic-waveform-processing in InternScience/scp) into .agents/skills/seismic-waveform-processing in your project. Codex loads it when a task matches its description.

Can I use Seismic Waveform Processing 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 InternScience/scp --skill seismic-waveform-processing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seismic-waveform-processing, .gemini/skills/seismic-waveform-processing, .github/skills/seismic-waveform-processing and .opencode/skills/seismic-waveform-processing in your project.

What does Seismic Waveform Processing need to run?

SKILL.md names no scripts, command-line tools or credentials: Seismic Waveform Processing is instructions for the agent only. Our summary lists: Python 3.

Does Seismic Waveform Processing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Seismic Waveform Processing 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 Seismic Waveform Processing use?

Seismic Waveform Processing is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Seismic Waveform Processing use?

About 1.4k tokens (SKILL.md is roughly 5.5k 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 Seismic Waveform Processing?

Skills that share tags, products or a category with Seismic Waveform Processing: Exploratory Data Analysis (spacering-net/codeg, 3.8k stars), Matplotlib (zLanqing/codex-claude-academic-skills, 4.6k stars), Scikit Learn (zLanqing/codex-claude-academic-skills, 4.6k stars) and Chart Visualization (bytedance/deer-flow, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Seismic Waveform Processing?

InternScience (a GitHub organization) maintains it in InternScience/scp, which has 169 GitHub stars. The repository holds 73 skills in this directory. The repository was last updated on June 3, 2026.

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