From grimoire
Plans astronomical observing campaigns: selects targets, schedules around sky brightness/airmass/telescope constraints, calculates exposure times for target S/N, and designs calibration and contingency strategies.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:design-observational-campaignThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Plan an observing campaign by scheduling targets within sky and telescope constraints, calculating required exposure times for target signal-to-noise, designing calibration frames, and building a contingency plan for variable conditions.
Plan an observing campaign by scheduling targets within sky and telescope constraints, calculating required exposure times for target signal-to-noise, designing calibration frames, and building a contingency plan for variable conditions.
Adopted by: ESO (European Southern Observatory), NOAO, STScI (Hubble Space Telescope), and all major observatories use formal Phase 1 (proposal) and Phase 2 (scheduling) observation planning frameworks. ALMA requires detailed observing parameter justification including expected sensitivity, angular resolution, and atmospheric constraint specification. Gemini, Keck, and VLT all enforce systematic observation design as a prerequisite for time allocation. Impact: Howell (2006) demonstrates that exposure time calculation is the single most important pre-observation step — an under-exposed observation is useless (insufficient S/N to detect the target), while over-exposure wastes precious telescope time and saturates the detector. Proper scheduling to minimize airmass maximizes data quality; Kitchin (2013) shows that observing at airmass 2.0 (30° elevation) rather than 1.0 (zenith) increases sky background by a factor of 2 and attenuates signal by a further factor of ~2-3 due to increased atmospheric extinction.
Before any scheduling:
For CCD photometry, the signal-to-noise ratio is:
S/N = N_star / √(N_star + n_pix × (N_sky + N_dark + N_read²/G²))
Where:
Simplified for bright-sky-background-limited case:
t_exp ≈ (S/N)² × N_sky / N_star²
Estimate N_star using the instrument's quantum efficiency, filter transmission, and magnitude of the target (convert to flux using Vega or AB zero-points).
Use ESO Exposure Time Calculator (ETC), SIGNAL (CFHT), or ITC tools for your telescope/instrument — always use the official ETC before proposing.
For each target, record:
Prioritize targets:
Airmass X = sec(z) where z is the zenith angle:
Rule: observe each target within 30° of the meridian (minimum airmass point), but not closer than 1h before or after transit for safety.
Moon avoidance:
Use Stellarium, pyephem, astropy, or online visibility tools (e.g., ESO Visibility Tool) to schedule.
For every science observation, acquire:
Observing conditions are variable:
npx claudepluginhub jeffreytse/grimoire --plugin grimoireProcesses astronomy and astrophysics data with the Astropy Python library — celestial coordinates, physical units, FITS files, cosmological calculations, time systems, tables, and WCS.
Provides astropy for astronomical data analysis: coordinate transformations, unit conversions, FITS file I/O, cosmological calculations, time systems, and WCS.
Performs astronomical calculations and data analysis with Astropy: coordinate transforms, FITS file I/O, units/quantities, cosmology, time handling, and table operations.