Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add equinor/neqsim --skill neqsim-pipeline-and-terminal-networksgit clone --depth 1 https://github.com/equinor/neqsimWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/equinor/neqsim/neqsim-pipeline-and-terminal-networks)<a href="https://agentmods.dev/skills/equinor/neqsim/neqsim-pipeline-and-terminal-networks"><img src="https://agentmods.dev/badge/skills/equinor/neqsim/neqsim-pipeline-and-terminal-networks/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/equinor/neqsim/neqsim-pipeline-and-terminal-networks"><img src="https://agentmods.dev/badge/skills/equinor/neqsim/neqsim-pipeline-and-terminal-networks.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00098 | $0.05080 |
| Opus 5.5 | $0.00039 | $0.02032 |
| Sonnet 5.5 | $0.00020 | $0.01016 |
| Haiku 4.5 | $0.00010 | $0.00508 |
Grade A, and why
neqsim-pipeline-and-terminal-networks scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 253 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pipeline and Terminal Networks
When to use this
- Solve a gas gathering, ring-main, trunkline, or export network with fixed-pressure or demand boundaries.
- Optimize well IPR, choke, compressor, pump, regulator, or routing decisions already represented by network elements.
- Schedule pressure, rate, availability, and quality nominations over multiple periods.
- Track linepack and composition response to time-varying gas sources.
- Blend crude assays and schedule tank receipts, inventory, and cargo loading.
- Use the dedicated transient two-fluid network when the case needs gas-liquid pipe inventory states.
Do not substitute the field-development NetworkSolver or a Manifold for LoopedPipeNetwork without checking the question. They are distinct APIs. Use a Manifold for stream routing in a conventional process flowsheet; the network package solves its own node-edge model.
Well/SURF hydraulic fidelity
For campaign #4228, extend the detailed neqsim.process.equipment.network.LoopedPipeNetwork
graph instead of creating a competing SURF solver. Review
docs/fielddevelopment/SURF_NETWORK_INTEGRATION.md and coordinate equipment/design
with neqsim-subsea-and-wells and the field-development agent.
Use NetworkPipe.setHydraulicModelType for PIPE/MULTIPHASE_PIPE edge overrides
(DARCY_WEISBACH, BEGGS_BRILL, TWO_FLUID); select NEWTON_RAPHSON and inspect
getHydraulicModelStatus plus getTwoFluidModel().getSteadyStateConvergenceReport().
Changing fidelity preserves identity and geometry. This is steady-state composition;
it does not qualify mixed-fidelity transients or directly bind a live WellSystem.
Use NetworkHydraulicModelComparison to replay selected canonical edges with both
Beggs-Brill and two-fluid hydraulics. Its normalized position/pressure/temperature/
holdup/phase-velocity profiles include segmented terrain routes, and
compareMeshSensitivity evaluates selected edges on detached meshes without changing
the caller topology. Inspect every convergence status and mass-balance residual; these
comparisons are integration evidence until independently qualified.
Use FieldNetworkTopology for stable production/injection node, edge, tag and port
identity over that same graph. Its typed addChoke, addPump,
addPumpDifferentialPressure and addCompressor methods create the existing canonical
network elements atomically; they do not add a second solver. Rebind external equipment
and fluids after JSON replay, and distinguish synthetic conservation/runtime evidence
from qualified pump/compressor maps or field hydraulics.
For screening design and cost, pass that same topology to
SubseaProductionSystem.createSurfDesignBasis or estimateSurfCosts. The immutable
FieldNetworkSurfDesignBasis reads typed equipment counts and exact canonical edge
geometry without rebuilding hydraulics; the estimator prices physical line edges
separately while retaining length-weighted summary getters. Use
NetworkDecisionVariable.pipeDiameter with
SubseaProductionSystem.createSurfCapitalCostObjective for deterministic all-discrete
hydraulic/CAPEX screening. The optimizer rejects incomplete enumeration and mixed
continuous/discrete searches. Register SURFCostEstimator.LineDesign by canonical
edge ID with SubseaProductionSystem.setLineDesign when route-specific OD, wall,
material, installation, rigid/flexible and insulation inputs are available. Rigid
designs are checked against hydraulic ID and reuse existing pipeline mechanical
screening; they are not current-edition DNV, vendor or AFC qualification.
Use the typed LineDesign.insulation(MaterialType, thicknessMm) overload plus
thermalBoundary for physical steady heat-transfer input, then call
SubseaProductionSystem.applyLineThermalDesigns on the same topology. The legacy
string insulation overload is cost metadata only. Flexible lines require an explicit
qualified U-value. Add the returned createMinimumOutletTemperatureConstraints
constraints to the existing optimizer; they fail closed without converged thermal state.
Uniform design input must not replace an existing route-dependent U/ambient profile.
Attach complete DnvStF101PipelineDesignInput and
DnvRpF109OnBottomStabilityInput objects to LineDesign when structural and
stability screening is required. Evaluate them with
assessDnvStF101LineDesigns and assessOnBottomStabilityLineDesigns; all
material, fabrication, load, environmental and soil values remain explicit
project inputs outside the hydraulic topology. Treat results as review-required
screening, never conformity, independent verification or AFC approval.
For exact staged rigid-route studies, pass complete LineDesign alternatives to
createLineDesignDecisionVariable and add createLineDesignScreeningConstraints
to the existing NetworkOptimizer. One selection transaction updates canonical
hydraulic ID, wall, thermal, material/installation/cost and attached screening
input while preserving the edge hydraulic model. Candidate indices are categorical,
minimum-temperature requirements must be invariant, and flexible/vendor designs are
outside this contract. Never combine this selector with a second diameter variable
on the same edge or treat a passing screen as qualified design.
For coherent direct, brownfield and redundant-loop line-ups, register named
FieldWellNetworkProcessUnit.RouteConfiguration options on the existing process-unit
adapter. configuration.<selector>.selection is a categorical ProcessAutomation
input: one write atomically assigns exact zero/one availability to the complete
controlled edge set and preserves all per-edge hydraulic models. Do not emulate a
multi-edge line-up with independent availability actions; that permits partial
configurations during candidate application and restoration.
The same selector works for live WellFlow injection networks. Update a zone's
lifecycle boundary through WellFlow.ReservoirLayer.setReservoirPressure(...) so
the layer pressure and its reservoir stream remain synchronized; do not change the
public pressure field alone in a repeated coupled calculation.
Register configured rotating-equipment maps with
FieldNetworkTopology.addPumpWithCurve(...) and addCompressorWithChart(...) so the
existing Pump/Compressor remains the chart owner under the canonical edge identity.
ProcessModel.getPower(...) includes solved pump/compressor demand inside standalone
LoopedPipeNetwork and wrapped FieldWellNetworkProcessUnit equipment; use that total
for shared host-power evidence and fail closed on non-finite map results. Registration
requires an enabled map before graph mutation, and a chart-backed compressor calculation
failure must remain infeasible rather than falling through to simplified polytropic physics.
Recheck chart availability and the equipment's solved() contract for every mapped
calculation. Finite forward results from a failed pressure-target speed search are not
accepted operating points; rejected results must invalidate power and clear stored thermal state.
For repeated quasi-steady field-to-host studies, reuse the live model and evaluator but
sample constraints again after each reservoir boundary or host-limit update. The ten-well
FieldToFacilityOptimizationAcceptanceTest exercises moving separator, scrubber and
shared-power limits without rebuilding topology or maps. Frozen evidence describes its
original calculation only; it is not acceptance of a later period. Its mapped injection
utility is not a live injector, and prescribed pressure steps are not a reservoir forecast.
Use FieldWellNetworkProcessUnitTest for the separate live two-zone injection period
case: synchronized layer/stream pressure updates, allocation and fracture checks, fresh
shared-power rejection/recovery, and original-boundary rate/power restoration.
Its shared-reservoir acceptance case also composes production and live injection with
one SimpleReservoir. Keep reservoir advancement outside steady candidate evaluations:
sample current host limits first, transfer the converged well rates (not the production
inlet placeholder rate) to the reservoir streams, and advance inventory once per accepted
period. Preserve identical ordered component slates for the reservoir's component-wise
balance, and synchronize injection-layer pressures with the reservoir owner afterward.
Do not also advance the same reservoir through a second network forecast. The example
is a synthetic explicit quasi-steady conservation check, not a qualified forecast or
liquid-injectivity law; persisted lifecycle revalidation remains owned by #4188/#3154.
The dedicated TwoFluidPipeNetwork already owns storage-node transients; do not
replace it. Live well/injection coupling must reuse WellSystem/WellFlow physics.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +18 lines 985ed07b2a64
- yesterday Changed · +5 lines f1283d11cce3
- 2d ago Changed · +6 lines 1ea9baa25c47
- 3d ago Changed · +12 lines 4ce89aa3e334
- 4d ago Changed · +8 lines 92d988d9934d
- 5d ago Changed · +17 lines 9a3c1d6a217b
- 6d ago Changed · +12 lines af2a3ebb684d
- 7d ago Changed · +14 lines 4401bd0806d0
- 10d ago Changed · +14 lines a79f7352ee96
- 12d ago First seen · 147 lines · 98 tokens per session scan A 82f6ec8636ad
neqsim-pipeline-and-terminal-networks is a skill published in the GitHub repository equinor/neqsim (156 stars, last pushed today), licensed Apache-2.0. It adds 98 tokens to every session and 5,080 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-05.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…