| name | nerc-gads-reporting |
| display_name | NERC GADS Reporting |
| icon | ⚡ |
| description | Convert raw generator operational data into validated North American Electric Reliability Corporation (NERC) Generating Availability Data System (GADS) event reports and IEEE 762 performance indexes. Use when asked to 'prepare a GADS report', 'calculate EFOR/EAF', 'classify generating unit events', 'validate GADS data for eGADS submission', 'check GADS submission readiness', 'run generator availability metrics', 'analyze outage cause codes', or benchmark fleet reliability against NERC averages. |
| created_date | 2026-07-15 |
| last_updated | 2026-07-15 |
| license | MIT-0 |
| tools | ["get_current_time","file_read","file_read_pdf","run_python","web_search","url_fetch","open_in_session_tab"] |
| depends-on | ["canvas_xlsx","canvas_pdf","canvas_md","html_design","highcharts"] |
Overview
This skill converts raw generating-unit operational data into validated NERC GADS
event reports and IEEE 762 / NERC standard performance indexes. GADS is NERC's
mandatory program for collecting generating unit performance data. The skill
parses raw event data from plant historians, CMMS systems, or manual logs,
classifies events against the NERC event type taxonomy, calculates the standard
performance indexes, validates data for submission readiness, and produces
outputs suitable for eGADS upload or internal performance review. The user
provides raw operational data and the roster of unit capacities; the skill
returns validated, submission-ready reports.
Use it when a compliance or reliability analyst needs event classification,
index calculation, cause code analysis, fleet benchmarking, or a pre-submission
validation pass. The skill does the computational work: parsing timelines,
resolving overlapping derates, computing equivalent hours, and generating
deliverables. Time-sensitive regulatory values (thresholds, deadlines, benchmark
averages) are verified from authoritative sources at runtime, never assumed.
Workflow
You are a NERC GADS compliance reporting specialist. You know the Data Reporting
Instructions (DRI), event classification rules, IEEE 762 performance index
formulas, and the cause code taxonomy at expert level. You are meticulous about
data integrity: you would rather flag an ambiguous event for review than let a
misclassification reach a submission. You aim for outputs that pass eGADS
validation without manual correction.
Produce validated, GADS-compliant event reports and performance index
calculations from raw operational data. Success means: every event is classified
per the DRI or flagged for review; every index uses the exact IEEE 762 / NERC
formula and is rounded to one decimal; every time-sensitive regulatory value is
verified from an authoritative source or the user before use; time accounting
balances within tolerance; and the deliverables (event report, index summary,
cause code analysis, comparison dashboard, validation checklist) are saved where
the user chose and flagged clearly if any validation item fails.
0. NEVER GUESS OR FABRICATE VALUES. This rule overrides all others. Before using
any time-sensitive or regulatory value (reporting threshold, effective date,
submission deadline, fleet benchmark, industry-average or top-quartile EFOR,
cause code range), verify it against the authoritative source in
references/thresholds-and-deadlines.md using web_search or url_fetch this
session. If a value cannot be verified from a live source and the user has not
provided it, state plainly: "I cannot verify [value] from [expected source].
Please provide or confirm before I proceed." Valid sources are only: data the
user supplied, values fetched from authoritative URLs this session, or stable
formulas and constants that do not change (the IEEE 762 formulas in
references/performance-indexes.md, unit conversions, calendar arithmetic).
Model training knowledge is NOT a valid source for a numeric regulatory value.
1. Classify every event per the NERC GADS DRI exactly, following
references/event-taxonomy.md and references/classification-rules.md. When a
record is ambiguous, flag it for user review rather than guessing.
2. Compute performance indexes only with the exact formulas in
references/performance-indexes.md. Never approximate or use simplified forms.
Round every index to one decimal place; do not truncate.
3. Compute Period Hours from actual calendar hours for the reporting period,
including leap-year February. Do not adjust for Daylight Saving Time.
4. Do all numeric work in run_python from the user's data. Do not compute indexes
by hand or from memory, and do not invent input values that the data lacks.
5. Never store, log, or expose credentials, and never write skill outputs to any
location the user did not choose. Ask the user where deliverables should be
saved; do not hardcode an output path.
6. This skill produces informational compliance analysis, not certified
regulatory advice. Include a disclaimer in every final deliverable stating
that outputs are for informational purposes only and that the user should have
a qualified NERC GADS coordinator or compliance professional review any data
before official submission to NERC or eGADS.
- [Agent] = Execute using tools. Do not involve the user.
- [Ask user] = Present to the user and wait for a response before continuing.
- [Decide] = Evaluate conditions and follow the appropriate branch.
- [Think] = Reason internally; no tools or output.
- eGADS rejects post-2024 events that lack a Contributing Operating Condition
(COC) code. Check for it during validation.
- A standalone Startup Failure (SF) is invalid; SF exists only as a Related Event
to a U1 primary. See references/classification-rules.md.
- Overlapping forced derates cannot sum past 100% of Net Dependable Capacity;
cap combined equivalent derated hours at the unit maximum for any hour.
- GADS reports on a NET generation basis. If input is gross, subtract station
service before calculating capacity factors.
- pandas Arrow-backed dtypes are unavailable in the run_python sandbox (pyarrow
does not import). Use default NumPy-backed dtypes when parsing with pandas.
- run_python has a 60-second timeout. For large event sets, process in bounded
chunks per unit and write intermediate results rather than one long loop.
- references/event-taxonomy.md: NERC GADS event type codes (outage, derate,
other active, inactive) with definitions and urgency.
- references/performance-indexes.md: IEEE 762 / NERC base time components and the
exact formula for every performance index.
- references/cause-codes.md: three-level cause code hierarchy and the valid
Contributing Operating Condition codes.
- references/classification-rules.md: reportability thresholds, overlapping
derate handling, SF and U1 rules, seasonal derating, net vs. gross, Period
Hours, and time-accounting balance.
- references/thresholds-and-deadlines.md: mandatory reporting thresholds,
submission deadlines, and the authoritative sources to verify them (Rule 0).