Agent skill

Unit Commitment Operating Rules

by benchflow-ai in benchflow-ai/skillsbench

A skill your agent uses for day-ahead or multi-period unit commitment problems, including thermal on/off schedules, dispatch, startup/shutdown logic, minimum up/down time, ramping, spinning reserve…

Apache-2.0Auto-check passedBusiness, Finance & HR

Install Unit Commitment Operating Rules

skills CLI
$ npx skills add benchflow-ai/skillsbench --skill unit-commitment-operating-rules -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benchflow-ai/skillsbench unit-commitment-operating-rules --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benchflow-ai/skillsbench.git skills-src && mkdir -p .claude/skills && cp -r skills-src/tasks/energy-unit-commitment/environment/skills/unit-commitment-operating-rules .claude/skills/unit-commitment-operating-rules && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
unit-commitment-operating-rules
GitHub stars
1.8k
Token cost
~2k tokens
SKILL.md length
666 words
Files
1
Skills in repo
178
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses for day-ahead or multi-period unit commitment problems, including thermal on/off schedules, dispatch, startup/shutdown logic, minimum up/down time, ramping, spinning reserve…

  • Works in 7 steps: Parse and normalize resource/time arrays. → Choose actual-output or above-minimum… → Include hard feasibility constraints… → …
  • Multi-period unit commitment problems
  • SKILL.md covers UC In One Paragraph, Keep These Concepts Separate, Core Feasibility Checks and Transition Logic, plus 9 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Unit Commitment Operating Rules is an agent skill from benchflow-ai/skillsbench. Use for day-ahead or multi-period unit commitment problems, including thermal on/off schedules, dispatch, startup/shutdown logic, minimum up/down time, ramping, spinning reserve deliverability, renewable curtailment, operating-cost accounting, and independent feasibility checks for power-system operations schedules.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Business, Finance & HR, covering Transactional email and Accounting and bookkeeping. The repository describes itself as: SkillsBench evaluates how well skills work and how effective agents are at using them. The licence is Apache-2.0.

When your agent uses it

  • Multi-period unit commitment problems
  • Including thermal on/off schedules
  • Startup/shutdown logic
  • Minimum up/down time

Example prompts

  • “/unit-commitment-operating-rules”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Parse and normalize resource/time arrays.
  2. Choose actual-output or above-minimum internal variables and stick to it.
  3. Include hard feasibility constraints before optimizing cost.
  4. Extract the solution into the report convention.
  5. Run independent validation on extracted arrays.
  6. Recompute costs and summaries from arrays.
  7. Write "pass" checks only after validation passes.

What it can do on your machine

Read from SKILL.md and the folder at commit 9a1f4dd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Unit Commitment Operating Rules loads about 2k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 666 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~87
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from benchflow-ai/skillsbench at commit 9a1f4dd, republished under its Apache-2.0 licence (© benchflow-ai). 666 words, ~2,050 tokens.

Download SKILL.mdSave it as .claude/skills/unit-commitment-operating-rules/SKILL.md (or your agent's skills folder).
name
unit-commitment-operating-rules
description
Use for day-ahead or multi-period unit commitment problems, including thermal on/off schedules, dispatch, startup/shutdown logic, minimum up/down time, ramping, spinning reserve deliverability, renewable curtailment, operating-cost accounting, and independent feasibility checks for power-system operations schedules.

Unit Commitment Operating Rules

Use this skill when a task asks for a day-ahead or multi-period unit commitment schedule with generators, load, reserves, operating constraints, and cost tradeoffs.

This is a reusable UC operating guide. It gives formulation and validation patterns, not a complete task-specific mathematical model.

UC In One Paragraph

Unit commitment decides which generators are online over time, when they start or stop, how much they produce, and how much reserve they can physically provide. It is harder than hourly economic dispatch because startup/shutdown decisions, ramping, minimum up/down time, reserve deliverability, initial conditions, and cost curves couple one period to the next.

Keep These Concepts Separate

For each thermal unit g and period t:

python
u[g, t]      # commitment/on status, binary
start[g, t]  # startup transition, binary
stop[g, t]   # shutdown transition, binary
p[g, t]      # production variable: know whether actual MW or above-minimum MW
r[g, t]      # scheduled reserve

Reports often require actual MW output. Many UC models internally use output above minimum:

python
actual_output = pmin[g] * u[g, t] + p_above_min[g, t]
p_above_min = actual_output - pmin[g] * u[g, t]

Do not mix these conventions in ramping, reserve, cost, or reporting.

Core Feasibility Checks

Before reporting a schedule, independently verify:

  • every resource appears exactly once and all time-series have length T;
  • commitment, startup, and shutdown are binary;
  • offline thermal units have zero production and zero reserve;
  • online thermal units respect min/max output;
  • must-run units are online when required;
  • startup/shutdown indicators match commitment transitions;
  • demand balance holds in every period;
  • renewable output stays within period-specific bounds;
  • scheduled reserve meets the system requirement;
  • reserve is deliverable under headroom, startup/shutdown capability, and ramp limits;
  • minimum up/down time and initial conditions are respected;
  • cost and summary fields are recomputed from arrays.

Transition Logic

Link startup/shutdown to commitment and the initial state:

python
prev_u = initial_on[g] if t == 0 else u[g, t - 1]
u[g, t] - prev_u == start[g, t] - stop[g, t]
start[g, t] + stop[g, t] <= 1

Equivalent validation pattern:

python
prev_on = initial_on[g]
for t in range(T):
    assert start[g, t] == int(u[g, t] == 1 and prev_on == 0)
    assert stop[g, t] == int(u[g, t] == 0 and prev_on == 1)
    prev_on = u[g, t]

Capacity And Offline Zeroes

For actual-MW production:

python
pmin[g] * u[g, t] <= production[g, t] <= pmax[g] * u[g, t]
0 <= reserve[g, t]

For above-minimum production:

python
cap = pmax[g] - pmin[g]
0 <= p_above_min[g, t] <= cap * u[g, t]
0 <= reserve[g, t]

If u[g, t] == 0, both production and reserve must be zero.

Demand, Renewables, And System Reserve

Use the task's system/zone/network convention. For a single-zone system:

python
thermal_gen = sum(actual_thermal[g, t] for g in thermal_units)
renew_gen = sum(renewable_output[r, t] for r in renewable_units)
assert abs(thermal_gen + renew_gen - demand[t]) <= tol
assert sum(reserve[g, t] for g in thermal_units) >= reserve_requirement[t] - tol

Renewables:

python
renewable_min[r, t] <= renewable_output[r, t] <= renewable_max[r, t]

If min equals max, output is fixed. If curtailment is allowed, output may be below max. Do not count renewable headroom as spinning reserve unless the prompt explicitly allows it.

Reserve Deliverability

Reserve is not just unused nameplate capacity. Production and reserve compete for the same physical capability, and reserve must be deployable.

Headroom-only checks are too weak:

python
# Not enough by itself:
reserve[g, t] <= pmax[g] - production[g, t]
reserve[g, t] <= ramp_up[g]

Use joint production-plus-reserve checks. With actual-MW production:

python
production[g, t] + reserve[g, t] <= pmax[g] * u[g, t]

With above-minimum production:

python
p_above_min[g, t] + reserve[g, t] <= (pmax[g] - pmin[g]) * u[g, t]

Startup capability can tighten the startup period. If startup_limit is maximum total output during startup:

python
if start[g, t] == 1:
    production[g, t] + reserve[g, t] <= startup_limit[g]

A linear above-minimum pattern is:

python
startup_reduction = max(pmax[g] - startup_limit[g], 0.0)
p_above_min[g, t] + reserve[g, t] <= (
    (pmax[g] - pmin[g]) * u[g, t]
    - startup_reduction * start[g, t]
)

Apply analogous shutdown-period or pre-shutdown capability rules when the data and prompt require them.

Show full SKILL.md (278 more words)Show less

Ramping

Use initial output/status for the first period. When reserve must be deliverable, ramp-up usually applies to production plus reserve:

python
previous = initial_above_min[g] if t == 0 else p_above_min[g, t - 1]
p_above_min[g, t] + reserve[g, t] - previous <= ramp_up[g]
previous - p_above_min[g, t] <= ramp_down[g]

If your model uses actual production, convert consistently before applying above-minimum ramp checks. Recheck ramping after any dispatch or repair step.

Minimum Up/Down Time

Minimum up/down constraints are time-window constraints triggered by starts/stops. Validation pattern:

python
if start[g, t] == 1:
    for tau in range(t, min(T, t + min_up[g])):
        assert u[g, tau] == 1

if stop[g, t] == 1:
    for tau in range(t, min(T, t + min_down[g])):
        assert u[g, tau] == 0

Account for pre-horizon time already on/off. Follow the prompt on whether post-horizon obligations are enforced.

Startup Costs

Startup cost may depend on prior offline duration. A common tier rule is largest lag not exceeding prior offline duration:

python
def choose_startup_cost(tiers, offline_duration):
    tiers = sorted(tiers, key=lambda z: z["lag"])
    chosen = tiers[0]
    for tier in tiers:
        if tier["lag"] <= offline_duration:
            chosen = tier
        else:
            break
    return chosen["cost"]

Update offline duration from initial status and the commitment trajectory. Be careful: duration should describe time offline before the startup period.

Production Costs

Use only cost components present in the data or required by the prompt. Do not invent no-load, reserve, curtailment, shutdown, or ramping costs.

For total-cost breakpoints:

python
def total_cost_from_curve(points, output_mw):
    pts = sorted((p["mw"], p["cost"]) for p in points)
    if output_mw <= pts[0][0]:
        return pts[0][1]
    if output_mw >= pts[-1][0]:
        return pts[-1][1]
    for (x0, y0), (x1, y1) in zip(pts, pts[1:]):
        if x0 <= output_mw <= x1:
            return y0 + (output_mw - x0) * (y1 - y0) / (x1 - x0)
    raise ValueError("output outside curve")

If the first point is at minimum output, its cost may represent online minimum-output cost. Do not add another fixed online cost unless the data says so.

Implementation Workflow

  1. Parse and normalize resource/time arrays.
  2. Choose actual-output or above-minimum internal variables and stick to it.
  3. Include hard feasibility constraints before optimizing cost.
  4. Extract the solution into the report convention.
  5. Run independent validation on extracted arrays.
  6. Recompute costs and summaries from arrays.
  7. Write "pass" checks only after validation passes.

Common Pitfalls

  • Treating UC as independent hourly dispatch.
  • Counting reserve from offline units or renewable headroom.
  • Checking reserve headroom but forgetting startup or ramp deliverability.
  • Ignoring initial output in first-period ramping.
  • Ignoring initial on/off duration in minimum up/down constraints.
  • Trusting a repair LP that omits a constraint family.
  • Hard-coding "pass" fields before validation.

© benchflow-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in tasks/energy-unit-commitment/environment/skills/unit-commitment-operating-rules of benchflow-ai/skillsbench.

Open the folder on GitHubat commit 9a1f4dd

Compare with similar skills

Unit Commitment Operating Rules next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Unit Commitment Operating Rules compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unit Commitment Operating Rules this skillbenchflow-ai/skillsbench1.8k—~2kAutomated safety check: PassApache-2.0
Configure Authdotnet/skills5.6k1 repos~1.8kAutomated safety check: PassMIT
Sync State Invariantsopenchamber/openchamber11k—~2.7kAutomated safety check: PassMIT
Fastllm Limits Budgetsazrtydxb/Fastllm-proxy108—~467Automated safety check: PassApache-2.0
Bamboohr Prod Checklistjeremylongshore/tons-of-skills-marketplace2.8k—~1.1kAutomated safety check: PassMIT
Clickup Reference Architecturejeremylongshore/tons-of-skills-marketplace2.8k—~1kAutomated safety check: PassMIT

Similar skills

  • Configure Auth

    dotnet/skills

    Official

    Add authentication and authorization to a Blazor Web App, accounting for the app's render mode.

    5.6k GitHub starsUsed in 1 repo~1.8k tokens
    Business, Finance & HRAuto-check passed
  • Sync State Invariants

    openchamber/openchamber

    A skill your agent uses when changing session synchronization, bootstrap or reconnect state, event reducers, polling, optimistic updates, message queues, live activity, ordering/reconciliation…

    11k GitHub stars~2.7k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Fastllm Limits Budgets

    azrtydxb/Fastllm-proxy

    Inspect and reconcile FastLLM spend and rate limits — read global budgets and limits, trigger limit reconciliation across replicas, and sync provider prices.

    108 GitHub stars~467 tokensUpdated 2 days ago
    Business, Finance & HRAuto-check passed
  • Bamboohr Prod Checklist

    jeremylongshore/tons-of-skills-marketplace

    Make a go/no-go decision for a BambooHR connector using exact evidence for auth, tenant isolation, HR-data handling, reliability, reconciliation, monitoring, and rollback.

    2.8k GitHub stars~1.1k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Clickup Reference Architecture

    jeremylongshore/tons-of-skills-marketplace

    Analyze and design a governed ClickUp integration with typed v2/v3 adapters, Workspace policy, durable events, reconciliation, telemetry, and reversible writes.

    2.8k GitHub stars~1k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Flyio Rate Limits

    jeremylongshore/tons-of-skills-marketplace

    Implement Fly.io Machines API pacing, per-resource serialization, retry, and reconciliation from the documented action limits.

    2.8k GitHub stars~1.2k tokensUpdated today
    Business, Finance & HRAuto-check passed

More from benchflow-ai/skillsbench

All 178 skills in this repo
  • Lean4 Memories

    benchflow-ai/skillsbench

    This skill should be used when working on Lean 4 formalization projects to maintain persistent memory of successful proof patterns, failed approaches, project conventions, and user preferences…

    1.8k GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Senior Data Engineer

    benchflow-ai/skillsbench

    World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, real-time streaming, and data infrastructure.

    1.8k GitHub stars~5.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Ac Branch Pi Model

    benchflow-ai/skillsbench

    AC branch pi-model power flow equations (P/Q and |S|) with transformer tap ratio and phase shift, matching acopf-math-model.md and MATPOWER branch fields.

    1.8k GitHub stars~1.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Civ6lib

    benchflow-ai/skillsbench

    Civilization 6 district mechanics library. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • D3 Visualization

    benchflow-ai/skillsbench

    Build deterministic, verifiable data visualizations with D3.js (v6).

    1.8k GitHub stars~1.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Dc Power Flow

    benchflow-ai/skillsbench

    DC power flow analysis for power systems. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~717 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Unit Commitment Operating Rules

What does Unit Commitment Operating Rules do?

A skill your agent uses for day-ahead or multi-period unit commitment problems, including thermal on/off schedules, dispatch, startup/shutdown logic, minimum up/down time, ramping, spinning reserve…. Unit Commitment Operating Rules is an agent skill from benchflow-ai/skillsbench. Use for day-ahead or multi-period unit commitment problems, including thermal on/off schedules, dispatch, startup/shutdown logic, minimum up/down time, ramping, spinning reserve deliverability, renewable curtailment, operating-cost accounting, and independent feasibility checks for power-system operations schedules.

When should I use Unit Commitment Operating Rules?

Unit Commitment Operating Rules fits situations like: multi-period unit commitment problems; including thermal on/off schedules; startup/shutdown logic; minimum up/down time.

How do I install Unit Commitment Operating Rules in Claude Code?

Run `npx skills add benchflow-ai/skillsbench --skill unit-commitment-operating-rules -a claude-code`. Or copy the skill folder (tasks/energy-unit-commitment/environment/skills/unit-commitment-operating-rules in benchflow-ai/skillsbench) into .claude/skills/unit-commitment-operating-rules in your project. Claude Code loads it when a task matches its description.

How do I install Unit Commitment Operating Rules in Codex?

Run `npx skills add benchflow-ai/skillsbench --skill unit-commitment-operating-rules -a codex`. Or copy the skill folder (tasks/energy-unit-commitment/environment/skills/unit-commitment-operating-rules in benchflow-ai/skillsbench) into .agents/skills/unit-commitment-operating-rules in your project. Codex loads it when a task matches its description.

Can I use Unit Commitment Operating Rules in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benchflow-ai/skillsbench --skill unit-commitment-operating-rules -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unit-commitment-operating-rules, .gemini/skills/unit-commitment-operating-rules, .github/skills/unit-commitment-operating-rules and .opencode/skills/unit-commitment-operating-rules in your project.

What does Unit Commitment Operating Rules need to run?

SKILL.md names no scripts, command-line tools or credentials: Unit Commitment Operating Rules is instructions for the agent only. Our summary lists: Python 3.

Does Unit Commitment Operating Rules access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Unit Commitment Operating Rules safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Unit Commitment Operating Rules use?

Unit Commitment Operating Rules is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Unit Commitment Operating Rules use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Unit Commitment Operating Rules?

Skills that share tags, products or a category with Unit Commitment Operating Rules: Configure Auth (dotnet/skills, 5.6k stars), Sync State Invariants (openchamber/openchamber, 11k stars), Fastllm Limits Budgets (azrtydxb/Fastllm-proxy, 108 stars) and Bamboohr Prod Checklist (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unit Commitment Operating Rules?

benchflow-ai (a GitHub organization) maintains it in benchflow-ai/skillsbench, which has 1,832 GitHub stars. The repository holds 178 skills in this directory. The repository was last updated on July 23, 2026.

Source: benchflow-ai/skillsbench on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.