con un clic
Energy Data Visualizer (user)
npx skills add https://github.com/vamseeachanta/worldenergydata --skill energy-data-visualizerCopia y pega este comando en Claude Code para instalar la habilidad
Energy Data Visualizer (user)
npx skills add https://github.com/vamseeachanta/worldenergydata --skill energy-data-visualizerCopia y pega este comando en Claude Code para instalar la habilidad
Analyze drilling performance and metrics using API 12-digit well numbering system. Use for drilling time analysis, cost benchmarking, well comparison, sidetracks tracking, and drilling efficiency metrics across GOM fields.
Extract and process BSEE (Bureau of Safety and Environmental Enforcement) data including production, WAR (Well Activity Reports), and APD (Application for Permit to Drill) data. Use for querying production data, well activities, drilling permits, completions, and workovers by API number, block, lease, or field with automatic data normalization and caching.
Perform offshore field development economic analysis with NPV, MIRR, IRR, and payback calculations. Use for investment analysis, cashflow modeling, BSEE data integration, development system classification, and Excel report generation.
Field Analyzer (user)
Analyze BSEE HSE (Health, Safety, Environment) incident data for risk assessment. Use for operator safety scoring, incident trend analysis, compliance tracking, and ESG-integrated economic evaluation.
Collect, analyze, and report marine safety incident data from 7 global maritime authorities. Use for incident scraping, safety trend analysis, risk assessment, geographic hotspot identification, and marine safety reporting.
| name | energy-data-visualizer |
| description | Energy Data Visualizer (user) |
Interactive visualization for oil & gas data analysis using Plotly
Use this skill when you need to:
"""
ABOUTME: Interactive visualization toolkit for energy data analysis
ABOUTME: Provides chart templates for production, economics, and mapping
"""
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import pandas as pd
class ProductionChartBuilder:
"""Build interactive production charts."""
def production_time_series(
self,
df: pd.DataFrame,
date_col: str = "date",
rate_cols: list = ["oil_bopd", "gas_mcfd"]
) -> go.Figure:
"""Create production rate vs time chart."""
fig = make_subplots(rows=2, cols=1, shared_xaxes=True)
colors = {"oil_bopd": "#2E7D32", "gas_mcfd": "#D32F2F"}
for col in rate_cols:
if col in df.columns:
fig.add_trace(
go.Scatter(x=df[date_col], y=df[col], name=col),
row=1, col=1
)
fig.update_layout(title="Production History", hovermode="x unified")
return fig
def decline_curve_plot(
self,
actual_df: pd.DataFrame,
forecast_df: pd.DataFrame = None,
log_scale: bool = True
) -> go.Figure:
"""Create decline curve with forecast overlay."""
fig = go.Figure()
fig.add_trace(go.Scatter(
x=actual_df["months"],
y=actual_df["rate"],
mode="markers",
name="Actual"
))
if forecast_df is not None:
fig.add_trace(go.Scatter(
x=forecast_df["months"],
y=forecast_df["p50"],
mode="lines",
name="P50 Forecast"
))
if log_scale:
fig.update_yaxes(type="log")
return fig
class EconomicsChartBuilder:
"""Build economic analysis charts."""
def cash_flow_waterfall(self, components: dict) -> go.Figure:
"""Create waterfall chart for cash flow breakdown."""
names = list(components.keys()) + ["Net"]
values = list(components.values())
values.append(sum(values))
fig = go.Figure(go.Waterfall(
x=names,
y=values,
measure=["relative"] * (len(values)-1) + ["total"]
))
fig.update_layout(title="Cash Flow Waterfall")
return fig
def npv_sensitivity_tornado(
self,
sensitivities: dict,
base_npv: float
) -> go.Figure:
"""Create tornado chart for NPV sensitivity."""
params = list(sensitivities.keys())
lows = [s["low"] - base_npv for s in sensitivities.values()]
highs = [s["high"] - base_npv for s in sensitivities.values()]
fig = go.Figure()
fig.add_trace(go.Bar(y=params, x=lows, orientation="h", name="Low"))
fig.add_trace(go.Bar(y=params, x=highs, orientation="h", name="High"))
fig.update_layout(barmode="overlay", title="NPV Sensitivity")
return fig
from worldenergydata.visualize import ProductionChartBuilder
import pandas as pd
# Load data
df = pd.read_csv("production.csv", parse_dates=["date"])
# Create chart
builder = ProductionChartBuilder()
fig = builder.production_time_series(df)
fig.write_html("reports/production.html")