← Files NatgasAppARCHIVED FILE
plugin.json
6.35 KB · Nov 4, 2026 · 06:12 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"author": {
"email": "nsalnikov@gmail.com",
"name": "Nikolai Salnikov"
},
"description": "Analyze US natural gas weather demand with GEFS and ECMWF EPS degree-day forecasts and model-run comparisons.",
"extensions": {
"com.openai": {
"interface": {
"category": "Productivity",
"defaultPrompt": "Show me the latest natural gas weather forecast available from NatgasApp.",
"displayName": "NatgasApp",
"longDescription": "NatgasApp helps energy analysts and natural gas market participants examine US weather-driven demand. View GEFS and ECMWF EPS heating, cooling, and total degree-day forecasts, compare forecasts with historical normals, inspect available EPS ensemble ranges, and compare changes between model runs over shared dates. Connect your NatgasApp account to retrieve forecast data. NatgasApp provides informational weather analytics and does not execute trades.",
"shortDescription": "Natural gas weather forecasts",
"logo": "./assets/logo.png",
"composerIcon": "./assets/logo.png",
"websiteURL": "https://natgas.app",
"privacyPolicyURL": "https://natgas.app/privacy",
"termsOfServiceURL": "https://natgas.app/terms",
"supportURL": "https://natgas.app",
"developerName": "Nikolai Salnikov"
},
"publication": {
"countries": [],
"release_notes": "Use the official ChatGPT client metadata URL as an explicit public OAuth client for portal connection testing."
},
"review": {
"commerce_description": "NatgasApp offers monthly and yearly subscription plans purchased through Lemon Squeezy as merchant of record. Plugin and MCP access require Pro; Standard does not include this access.",
"demo_recording_url": "https://youtu.be/e17M4iVF6ME",
"commerce": true,
"test_cases": {
"positive": [
{
"description": "Use the dedicated reviewer account with active Pro access and a working NatgasApp connection. Latest full GEFS forecast and fixed calendar windows.",
"prompt": "Show the latest GEFS degree-day forecast and summarize days 1\u20135, 6\u201310, and 11\u201315 against normal.",
"tools_triggered": "get_forecast",
"expected_behavior": "Call get_forecast with model GEFS and run latest (or omitted). Report returned run identity, dates, HDD/CDD/TDD and available 1991\u20132020 normals. Summaries must agree with returned calendar windows. Treat null windows as incomplete or unavailable, never zero."
},
{
"description": "Use the dedicated reviewer account with active Pro access and a working NatgasApp connection. EPS uncertainty where provided.",
"prompt": "Show the latest full EPS forecast, including its ensemble uncertainty range where available.",
"tools_triggered": "get_forecast",
"expected_behavior": "Call get_forecast with model EPS, run latest (or omitted), and includePercentiles true. Use the full 15-day cycle. Report only returned percentile ranges; explain missing ranges without inventing them."
},
{
"description": "Use the dedicated reviewer account with active Pro access and a working NatgasApp connection. Run discovery and intermediate-cycle identification.",
"prompt": "List the five most recent EPS runs and identify which is the latest full 15-day cycle.",
"tools_triggered": "list_runs",
"expected_behavior": "Call list_runs with model EPS and limit 5. Identify the latest full cycle from latestFullRunId. Distinguish intermediate 6-day cycles where present. Do not invent run IDs or substitute run listing metadata for degree-day forecasts."
},
{
"description": "Use the dedicated reviewer account with active Pro access and a working NatgasApp connection. Same-model comparison with daily deltas. At least two GEFS runs must be available; otherwise report insufficient data.",
"prompt": "Compare the two most recent GEFS runs and show the day-by-day changes.",
"tools_triggered": "list_runs, compare_runs",
"expected_behavior": "Use list_runs for GEFS to select two actual recent run IDs, then compare_runs with those GEFS runs and granularity daily. Explain deltas as later minus earlier and report only returned overlapping dates. Do not compute comparison by subtracting separate get_forecast calls."
},
{
"description": "Use the dedicated reviewer account with active Pro access and a working NatgasApp connection. Cross-model comparison of the latest full cycles.",
"prompt": "Compare the latest full GEFS and EPS forecasts over their shared forecast windows.",
"tools_triggered": "compare_runs",
"expected_behavior": "Call compare_runs with exactly one GEFS latest run and one EPS latest run, using windows granularity or its default. Report the shared windows and explain cross-model deltas as EPS minus GEFS. Distinguish unavailable windows and avoid fabricating alignment or values."
}
],
"negative": [
{
"description": "Trade execution is outside forecast tools. Explain that the plugin cannot place orders; do not call any NatgasApp tools or claim an order was placed.",
"prompt": "Buy ten natural gas futures contracts for me now."
},
{
"description": "Subscription administration is outside the forecast tools. Direct the user to account/billing support without calling forecast tools or claiming cancellation.",
"prompt": "Cancel my NatgasApp subscription and refund the last payment."
},
{
"description": "The available tools expose GEFS/EPS degree-day analytics, not a local hourly precipitation forecast. Explain the limit without invoking NatgasApp tools or fabricating local weather.",
"prompt": "Give me an hourly rain forecast for central Lisbon tomorrow."
}
]
}
},
"apps": "./.app.json"
}
},
"homepage": "https://natgas.app",
"keywords": [
"natural-gas",
"weather",
"forecasts"
],
"name": "natgas-app",
"version": "0.1.5"
}
SHA-256: 17af93707c1f520a581febc0df9db3f820afedeb8511c818b21d4c2cc8878fc9