Claude Code Plugins

Community-maintained marketplace

Feedback
2
0

This skill should be used when the user asks to "analyze astronomical data", "process FITS files", "create sky maps", "work with cosmological simulations", "fit spectral data", "calculate redshifts", "analyze light curves", "work with astronomical catalogs", "perform astrometry", "process images from telescopes", or mentions astronomical instruments, surveys, or astrophysical phenomena. Provides guidance for scientific astrophysics workflows and best practices.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Astrophysics Analysis
description This skill should be used when the user asks to "analyze astronomical data", "process FITS files", "create sky maps", "work with cosmological simulations", "fit spectral data", "calculate redshifts", "analyze light curves", "work with astronomical catalogs", "perform astrometry", "process images from telescopes", or mentions astronomical instruments, surveys, or astrophysical phenomena. Provides guidance for scientific astrophysics workflows and best practices.
version 1.0.0

Astrophysics Analysis Skill

Overview

This skill provides specialized guidance for astrophysics analysis workflows, astronomical data processing, and scientific computing tasks common in astronomy research. It covers observational astronomy, cosmological analysis, and astrophysical simulations.

Core Capabilities

Astronomical Data Formats

Handle standard astronomy file formats:

  • FITS files: Read and write Flexible Image Transport System files using astropy.io.fits
  • HDF5: Process large simulation datasets with h5py
  • VOTable: Work with Virtual Observatory tables using astropy.io.votable
  • ASCII catalogs: Parse space-separated and CSV astronomical catalogs

Observational Analysis

Perform common observational astronomy tasks:

  • Photometry: Aperture and PSF photometry using photutils
  • Spectroscopy: Spectral extraction, calibration, and line fitting with specutils
  • Astrometry: World coordinate system handling and coordinate transformations
  • Time series: Light curve analysis and period finding

Cosmological Computations

Execute cosmological calculations:

  • Distance measures: Luminosity distance, angular diameter distance, comoving distance
  • Cosmological parameters: Work with standard cosmologies (Planck, WMAP)
  • Power spectra: Matter and CMB power spectrum analysis
  • Redshift calculations: Photometric and spectroscopic redshift handling

Recommended Python Stack

Use these established astrophysics libraries:

# Core astronomy
import astropy
from astropy import units as u
from astropy.coordinates import SkyCoord
from astropy.io import fits
from astropy.cosmology import Planck18

# Visualization
import matplotlib.pyplot as plt
from astropy.visualization import ZScaleInterval, ImageNormalize

# Data analysis
import numpy as np
from scipy import optimize, interpolate

# Specialized tools
import photutils  # Photometry
import specutils  # Spectroscopy
import healpy     # HEALPix sky maps

Common Workflows

Loading FITS Data

from astropy.io import fits
from astropy.wcs import WCS

# Open FITS file
with fits.open('image.fits') as hdul:
    data = hdul[0].data
    header = hdul[0].header
    wcs = WCS(header)

Coordinate Transformations

from astropy.coordinates import SkyCoord
from astropy import units as u

# Create sky coordinate
coord = SkyCoord(ra=10.5*u.deg, dec=-30.2*u.deg, frame='icrs')

# Transform to galactic
galactic = coord.galactic
print(f"l={galactic.l:.2f}, b={galactic.b:.2f}")

Cosmological Distances

from astropy.cosmology import Planck18
import astropy.units as u

z = 0.5  # redshift
d_L = Planck18.luminosity_distance(z)
d_A = Planck18.angular_diameter_distance(z)
d_C = Planck18.comoving_distance(z)

Spectral Line Fitting

from specutils import Spectrum1D
from specutils.fitting import fit_lines
from astropy.modeling import models

# Create Gaussian model for emission line
g_init = models.Gaussian1D(amplitude=1*u.Jy, mean=6563*u.AA, stddev=2*u.AA)
g_fit = fit_lines(spectrum, g_init)

Best Practices

Units and Quantities

Always use astropy units for physical quantities:

from astropy import units as u

# Attach units
wavelength = 5000 * u.AA
flux = 1e-17 * u.erg / u.s / u.cm**2 / u.AA

# Convert between units
wavelength_nm = wavelength.to(u.nm)

Error Handling

Propagate uncertainties through calculations:

from astropy.nddata import StdDevUncertainty
from uncertainties import ufloat

# Using uncertainties package
flux = ufloat(1.5e-17, 0.2e-17)  # value +/- error

Reproducibility

Document analysis parameters and random seeds:

import numpy as np
np.random.seed(42)  # For reproducible results

# Log parameters
params = {
    'aperture_radius': 5.0,  # arcsec
    'background_annulus': (10.0, 15.0),
    'sigma_clip': 3.0
}

Memory Management

Handle large datasets efficiently:

# Use memmap for large FITS files
with fits.open('large_image.fits', memmap=True) as hdul:
    # Process in chunks
    chunk = hdul[0].data[1000:2000, 1000:2000]

Data Sources

Access astronomical archives:

  • MAST: Hubble, JWST, TESS data via astroquery.mast
  • ESO Archive: VLT, ALMA data via astroquery.eso
  • SDSS: Sloan Digital Sky Survey via astroquery.sdss
  • Vizier: Catalog access via astroquery.vizier
  • Simbad: Object information via astroquery.simbad

Example Archive Query

from astroquery.simbad import Simbad
from astroquery.vizier import Vizier

# Query Simbad for object
result = Simbad.query_object("M31")

# Query Vizier catalog
v = Vizier(columns=['*'])
catalogs = v.query_region("M31", radius=1*u.deg, catalog="II/246")

Visualization Standards

Create publication-quality figures:

import matplotlib.pyplot as plt
from astropy.visualization import ZScaleInterval, ImageNormalize

# Astronomical image display
norm = ImageNormalize(data, interval=ZScaleInterval())
plt.imshow(data, norm=norm, cmap='gray', origin='lower')
plt.colorbar(label='Counts')

Performance Considerations

Optimize computation for large datasets:

  • Use NumPy vectorized operations instead of loops
  • Consider Dask for out-of-core computation
  • Use JAX for GPU-accelerated numerical work
  • Profile code with cProfile before optimization

When to Use This Skill

Activate this skill for tasks involving:

  • Processing telescope observations
  • Analyzing galaxy spectra or photometry
  • Working with cosmological simulations
  • Calculating astronomical quantities with proper units
  • Querying astronomical databases and catalogs
  • Creating sky maps or coordinate transformations
  • Fitting models to astrophysical data