用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/kucherenko/petropowers --skill exploration命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Generate realistic synthetic oil & gas data (LAS well logs, SEG-Y seismic, core photos, time-series) with proper physical constraints for testing, demos, and training.
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
正在显示 SKILL.md
基于 SOC 职业分类
| name | exploration |
| description | Guide AI agents through oil & gas exploration workflow. |
Guide AI agents through oil & gas exploration workflow.
Support geoscientists in discovering hydrocarbon prospects through seismic interpretation, well log analysis, and risk assessment.
| Data | Format | Skill Reference |
|---|---|---|
| Seismic volumes | SEG-Y | petropowers:oil-gas-cross-cutting/segy-operations |
| Well logs | LAS | petropowers:oil-gas-cross-cutting/well-log-analysis |
| Geological models | RESQML, proprietary | Custom parsing needed |
| Core samples | Photos, reports | Unstructured analysis |
| Satellite/gravity | GeoTIFF, grids | Geospatial tools |
These tasks are handled by this skill:
These tasks invoke petropowers:oil-gas-delegation:
Before finalizing interpretation:
Exploration data informs drilling decisions:
import segyio
import numpy as np
with segyio.open('seismic.sgy', 'r') as segyfile:
data = segyio.tools.cube(segyfile)
print(f"Shape: {data.shape}")
print(f"Amplitude range: {data.min():.0f} to {data.max():.0f}")
print(f"Inlines: {segyfile.ilines.min()}-{segyfile.ilines.max()}")
print(f"Crosslines: {segyfile.xlines.min()}-{segyfile.xlines.max()}")
import lasio
import numpy as np
log = lasio.read('well.las')
df = log.df()
# Porosity from density
phi = (2.65 - df['RHOB']) / (2.65 - 1.0)
# Water saturation (Archie)
Rw = 0.1 # formation water resistivity
Sw = np.sqrt((Rw) / (phi**2 * df['RT']))
# Net pay (simplified)
net_pay = ((phi > 0.10) & (Sw < 0.6)).sum() * 0.5 # ft per sample
print(f"Net pay: {net_pay:.0f} ft")
print(f"Average porosity: {phi[phi > 0.10].mean():.1%}")
print(f"Average Sw: {Sw[Sw < 1].mean():.1%}")
# Simplified STOIIP calculation
area = 500 # acres
thickness = 50 # ft
porosity = 0.20
water_saturation = 0.25
formation_volume_factor = 1.2
# STOIIP = 7758 * A * h * phi * (1-Sw) / Bo
stoiip = 7758 * area * thickness * porosity * (1 - water_saturation) / formation_volume_factor
print(f"STOIIP: {stoiip:,.0f} bbl")
print(f"STOIIP: {stoiip/1e6:.1f} MMbbl")