Source profileQuality 87/100

equinor/neqsim/.github/skills/neqsim-controllability-operability/SKILL.md

neqsim-controllability-operability

Process controllability and operability — operating envelope mapping, turndown analysis, startup/shutdown sequencing, control valve sizing per ISA-75 (Fl, Fp, choked flow), rangeability, hunting/loop tuning, recycle stability. USE WHEN: a task involves operability assessment, turndown studies, control valve sizing, startup/shutdown procedures, or 'will this design operate?' questions. Complements neqsim-dynamic-simulation (transient solver) with steady-state operability framing.

Source repository stars
136
Declared platforms
0
Static risk flags
0
Last source update
2026-08-05
Source checked
2026-08-05

Decision brief

What it does—and where it fits

The "can this plant be operated?" half of process design — operating envelopes, turndown, startup/shutdown sequencing, control valve sizing, and steady-state operability checks. Pairs with neqsim-dynamic-simulation which solves the transient response.

Best for

  • Mapping operating envelope (P, T, flow, composition window where the plant runs)
  • Turndown analysis (10–100% capacity)
  • Control valve sizing per ISA-75 / IEC 60534

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/equinor/neqsim --skill ".github/skills/neqsim-controllability-operability"
Safe inspection promptEditorial

Inspect the Agent Skill "neqsim-controllability-operability" from https://github.com/equinor/neqsim/blob/9e8d44a141bba600026d2229969b49af50f34237/.github/skills/neqsim-controllability-operability/SKILL.md at commit 9e8d44a141bba600026d2229969b49af50f34237. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    When to Use

    For P&ID-driven operational changes, load neqsim-pid-process-operations first to classify symbols, define the topology, bind plant tags, and turn each action into a NeqSim model delta.

    Mapping operating envelope (P, T, flow, composition window where the plant runs)Turndown analysis (10–100% capacity)Control valve sizing per ISA-75 / IEC 60534
  2. 02

    Pattern 1 — Operating Envelope Map

    Sweep two key handles (e.g. flow and composition) and check that every constraint is satisfied in the operating window:

    Sweep two key handles (e.g. flow and composition) and check that every constraint is satisfied in the operating window:Constraints to check on every point:
  3. 03

    Pattern 2 — Control Valve Sizing (ISA-75)

    Sizing rules: - Pick valve such that normal flow is at 60–70% open - Minimum flow must be at 20% open (rangeability check) - Maximum flow must be at < 90% open (margin) - For choked flow: use Fl × ΔPchoke instead of actual ΔP

    Pick valve such that normal flow is at 60–70% openMinimum flow must be at 20% open (rangeability check)Maximum flow must be at < 90% open (margin)
  4. 04

    Seat Leakage Tightness (screening)

    To rank candidate valve tightness requirements (isolation/ESDV block valves vs throttling control valves), use the ValveSeatLeakageClass enum (neqsim.process.equipment.valve). It covers EN 12266-1 Rates A–G (isolation valves) and ANSI/FCI 70-2 Classes II–VI (control valves); Cla…

    To rank candidate valve tightness requirements (isolation/ESDV block valves vs throttling control valves), use the ValveSeatLeakageClass enum (neqsim.process.equipment.valve). It covers EN 12266-1 Rates A–G (isolation v…This is screening-level only and not a substitute for a manufacturer seat-leakage test certificate. See docs/process/ValveMechanicalDesign.md for the full reference.
  5. 05

    Pattern 3 — Recycle Stability

    A process with strong recycles can have multiple steady states or be unstable:

    Increase damping factor on recycle stream (0.3–0.7)Set initial guess from previous-load solution (warm start)Decompose with ProcessModel so each area converges first

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score87/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars136SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
equinor/neqsim
Skill path
.github/skills/neqsim-controllability-operability/SKILL.md
Commit
9e8d44a141bba600026d2229969b49af50f34237
License
Apache-2.0
Collected
2026-08-05
Default branch
master
View the original SKILL.md

NeqSim Controllability & Operability Skill

The "can this plant be operated?" half of process design — operating envelopes, turndown, startup/shutdown sequencing, control valve sizing, and steady-state operability checks. Pairs with neqsim-dynamic-simulation which solves the transient response.

When to Use

  • Mapping operating envelope (P, T, flow, composition window where the plant runs)
  • Turndown analysis (10–100% capacity)
  • Control valve sizing per ISA-75 / IEC 60534
  • Startup / shutdown sequence definition
  • Recycle stability / loop interaction screening
  • Identifying hidden constraints (compressor surge, tray weeping, HX pinch)
  • Evaluating P&ID-derived valve changes such as closing an isolation valve, partly closing a control valve, opening a bypass, or changing controller mode

For P&ID-driven operational changes, load neqsim-pid-process-operations first to classify symbols, define the topology, bind plant tags, and turn each action into a NeqSim model delta.

For MCP or Java workflows that already have a ProcessSystem, use neqsim.process.operations.envelope.OperationalEnvelopeEvaluator or MCP runOperationalStudy with action="evaluateOperatingEnvelope". The evaluator does not duplicate equipment physics; it ranks margins from EquipmentCapacityStrategyRegistry, uses optional tagreader field data through OperationalTagMap, and can turn margin history into simple time-to-limit screening.

Standards: ISA-75.01 / IEC 60534-2-1, API 685 (control valves), NORSOK P-002 (operability).

Pattern 1 — Operating Envelope Map

Sweep two key handles (e.g. flow and composition) and check that every constraint is satisfied in the operating window:

double[] flows = linspace(0.1, 1.0, 10);   // 10–100% turndown
double[] gors  = linspace(50.0, 800.0, 8); // GOR variation

for (double f : flows) {
    for (double g : gors) {
        SystemInterface fluid = makeFluid(g);
        feed.setFlowRate(f * design_kgh, "kg/hr");
        process.run();
        envelope.recordPoint(f, g, checkConstraints(process));
    }
}

Constraints to check on every point:

ConstraintCheckSource
Compressor surgeQ_actual > Q_surge × 1.10Vendor curve
Compressor stonewallQ_actual < Q_choke × 0.95Vendor curve
Separator vapor velocityv < K × √((ρL−ρV)/ρV)NORSOK P-100 (K=0.107)
Separator residence timet_res ≥ 3 min liquid, ≥ 30 s gasAPI 12J
HX ΔTminΔT > 5 °C everywherePinch design
Column floodingC_factor < 0.85 × C_floodSouders–Brown
Column weepingC_factor > 0.55 × C_floodTray vendor
Pump NPSHaNPSHa > NPSHr + 1 m marginAPI 610
Control valve opening20% < travel < 80%ISA-75

Pattern 2 — Control Valve Sizing (ISA-75)

import neqsim.process.equipment.valve.ThrottlingValve;

ThrottlingValve cv = new ThrottlingValve("LV-1101", inletStream);
cv.setOutletPressure(P_downstream_bara);
cv.run();

double Cv_required = cv.getCv();          // ISA-75 sizing
double opening     = cv.getPercentValveOpening();
double dpRatio     = cv.getDeltaPressure() / cv.getInletPressure();
boolean choked     = dpRatio > cv.getFL() * cv.getFL() * (1 - cv.getFf() * cv.getXt());

Sizing rules:

  • Pick valve such that normal flow is at 60–70% open
  • Minimum flow must be at > 20% open (rangeability check)
  • Maximum flow must be at < 90% open (margin)
  • For choked flow: use Fl × ΔP_choke instead of actual ΔP

Rangeability:

Trim typeRangeability
Linear30:1
Equal percentage50:1
Quick opening10:1

If turndown ratio > rangeability, you need a split-range or two valves in parallel.

Seat Leakage Tightness (screening)

To rank candidate valve tightness requirements (isolation/ESDV block valves vs throttling control valves), use the ValveSeatLeakageClass enum (neqsim.process.equipment.valve). It covers EN 12266-1 Rates A–G (isolation valves) and ANSI/FCI 70-2 Classes II–VI (control valves); Class IV (0.01% of rated capacity) is the typical control-valve default, Class VI is the soft-seat essentially-zero-leakage class:

import neqsim.process.equipment.valve.ValveSeatLeakageClass;

ValveSeatLeakageClass ctrl = ValveSeatLeakageClass.FCI_70_2_CLASS_IV;
boolean tight = ctrl.isEssentiallyZeroLeakage();   // false for Class IV, true for Class VI

// ANSI/FCI 70-2 Class V closed-form liquid leak-rate screening estimate (test medium water)
double leakRateMlPerMin =
    ValveSeatLeakageClass.estimateFciClassVLeakRate(50.0e5 /* Pa */, 0.10 /* m port */);

This is screening-level only and not a substitute for a manufacturer seat-leakage test certificate. See docs/process/ValveMechanicalDesign.md for the full reference.

Pattern 3 — Recycle Stability

A process with strong recycles can have multiple steady states or be unstable:

ProcessSystem.RecycleConvergenceMonitor mon = process.getRecycleMonitor();
process.run();
double[] residual = mon.getMassResidualHistory();
// Plot residual vs iteration — should be monotone decreasing.
// If oscillating: recycle interactions; if diverging: bad initial guess or fundamental instability

Stabilization tactics:

  • Increase damping factor on recycle stream (0.3–0.7)
  • Set initial guess from previous-load solution (warm start)
  • Decompose with ProcessModel so each area converges first
  • Add an explicit pressure setpoint instead of free-floating P

Pattern 4 — Startup / Shutdown Sequence

Document each major mode as a state machine:

StateP / T / flowActive controllersActive SIFs
Cold shutdownatmospheric, ambientnoneall in OOS
Pressurizationramp to design × 0.3 in 30 minPIC slow rampHIPPS armed
Cold circulationfull rate, ambient (recycle to flare)LIC, FICall armed
Heat-upramp 50 °C/h to design TTIC, LIC, FICall armed
Normaldesign pointall loops in AUTOall armed
Emergency BDdepressurize per API 521 in 15 mincontrollers trippedBDV open

Use neqsim-dynamic-simulation to validate the transient.

Pattern 5 — Loop Tuning Sanity

For each PID:

  • Gain (Kp): 0.5 × Ziegler–Nichols ultimate; tighten only if oscillation
  • Integral (Ti): 1–3 × dead time
  • Derivative (Td): usually off; only for slow exotherms / temperature

Common bad loops:

  • Level on a vessel with rapid throughput change → use averaging level (P-only, low gain)
  • Composition (e.g. column reflux) → cascade onto temperature
  • Surge control on compressor → fast PI + proportional kicker

Pattern 6 — Operability Scorecard for the Report

Operability Scorecard
=====================
Turndown        : 25–110% of design     PASS (target ≥ 25%)
Compressor      : surge margin 18% @ low end   PASS (≥ 10%)
Column          : flooding margin 22% @ high end  PASS (≥ 15%)
Recycle stab.   : converges in 8 iters @ all loads  PASS
Control valves  : 4 valves outside 20–80% range — RESIZE
Startup time    : 6.5 hr (cold→full)    PASS (target ≤ 8 hr)
SD time         : 12 min API 521 BD     PASS (target ≤ 15 min)

Common Mistakes

MistakeFix
Sizing CV with normal ΔP and forgetting choked flowAlways check σ = ΔP / Fl² × ΔP_max; if exceeded use choked formula
One CV across full 10–110% rangeRangeability > 30:1 needs split-range or two valves
Designing only at 100% flowMin/max constraints often govern (surge, weeping, NPSH)
Ignoring recycle interactions until commissioningDecompose with ProcessModel, verify convergence at each load
Aggressive Kp on level controlCauses throughput oscillation downstream; use P-only averaging
No startup BD pathCold flare/atmospheric vent path required for trip-from-pressurized
Using "design rate" pump curvePumps often run at 60–80% Qbep at normal — pick BEP at normal

Validation Checklist

  • Operating envelope plotted with turndown range and at least 2 disturbance axes
  • All control valves: 20% < normal opening < 80%
  • Compressor surge margin ≥ 10% at lowest expected flow
  • All recycles: convergence in ≤ 20 iterations across the envelope
  • Startup sequence documented as state machine with controller modes
  • Emergency BD validated dynamically per API 521 (≤ 15 min to 50% MAWP)
  • Operability scorecard included in the report (results.jsonoperability section)

Related Skills

Alternatives

Compare before choosing

Computed 10043,034

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

Computed 10043,034

coreyhaines31/marketingskills

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

Computed 10014,533

prowler-cloud/prowler

postgresql-indexing

PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance

Computed 100165

JasonColapietro/suede-creator-skills

suede-ab-testing

Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).