OpenLogi macOS Permissions Triage
AprilNEA/OpenLogi
Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.
Autonomous observe-hypothesize-predict-test-discriminate loop for operational anomalies.
$ npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install equinor/neqsim neqsim-autonomous-investigation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/equinor/neqsim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/neqsim-autonomous-investigation .claude/skills/neqsim-autonomous-investigation && rm -rf skills-srcUse ~/.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/
Install the "neqsim-autonomous-investigation" agent skill from https://github.com/equinor/neqsim/tree/master/.github/skills/neqsim-autonomous-investigation into .claude/skills/neqsim-autonomous-investigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neqsim-autonomous-investigation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/equinor/neqsim/tree/master/.github/skills/neqsim-autonomous-investigationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install equinor/neqsim neqsim-autonomous-investigation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/equinor/neqsim.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/neqsim-autonomous-investigation .agents/skills/neqsim-autonomous-investigation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "neqsim-autonomous-investigation" agent skill from https://github.com/equinor/neqsim/tree/master/.github/skills/neqsim-autonomous-investigation into .agents/skills/neqsim-autonomous-investigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neqsim-autonomous-investigation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install equinor/neqsim neqsim-autonomous-investigation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/equinor/neqsim.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/neqsim-autonomous-investigation .cursor/skills/neqsim-autonomous-investigation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "neqsim-autonomous-investigation" agent skill from https://github.com/equinor/neqsim/tree/master/.github/skills/neqsim-autonomous-investigation into .cursor/skills/neqsim-autonomous-investigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neqsim-autonomous-investigation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/equinor/neqsim.git --path .github/skills/neqsim-autonomous-investigation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install equinor/neqsim neqsim-autonomous-investigation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/equinor/neqsim.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/neqsim-autonomous-investigation .gemini/skills/neqsim-autonomous-investigation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "neqsim-autonomous-investigation" agent skill from https://github.com/equinor/neqsim/tree/master/.github/skills/neqsim-autonomous-investigation into .gemini/skills/neqsim-autonomous-investigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neqsim-autonomous-investigation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install equinor/neqsim neqsim-autonomous-investigationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/equinor/neqsim.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/neqsim-autonomous-investigation .github/skills/neqsim-autonomous-investigation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "neqsim-autonomous-investigation" agent skill from https://github.com/equinor/neqsim/tree/master/.github/skills/neqsim-autonomous-investigation into .github/skills/neqsim-autonomous-investigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neqsim-autonomous-investigation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install equinor/neqsim neqsim-autonomous-investigation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/equinor/neqsim.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/neqsim-autonomous-investigation .opencode/skills/neqsim-autonomous-investigation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "neqsim-autonomous-investigation" agent skill from https://github.com/equinor/neqsim/tree/master/.github/skills/neqsim-autonomous-investigation into .opencode/skills/neqsim-autonomous-investigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "neqsim-autonomous-investigation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
neqsim-autonomous-investigationAutonomous observe-hypothesize-predict-test-discriminate loop for operational anomalies.
Neqsim Autonomous Investigation is an agent skill from equinor/neqsim. Autonomous observe-hypothesize-predict-test-discriminate loop for operational anomalies. USE WHEN: solving a PEPR action, root-cause or operational study where the symptom, driver or important relationships are NOT given up front. Uses neqsim.process.diagnostics.RelationshipGraph for lead-lag relationship discovery across historian tags, then hands off to neqsim-root-cause-analysis.
Its SKILL.md is about 2.9k 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 Development, covering Root cause analysis. The repository describes itself as: NeqSim is a library for calculation of fluid behavior, phase equilibrium and process simulation. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c3b4216. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are java and python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Neqsim Autonomous Investigation loads about 2.9k tokens when it runs. Until then it costs about 104 tokens; SKILL.md has 1,031 words of instructions outside code blocks.
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.
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.
The full file from equinor/neqsim at commit c3b4216, republished under its Apache-2.0 licence (© equinor). 1,031 words, ~2,865 tokens.
.claude/skills/neqsim-autonomous-investigation/SKILL.md (or your agent's skills folder).Make agents investigate instead of follow a checklist. Use this skill when a task (PEPR action, root-cause, operational study, digital-twin deviation) does not tell you the symptom, the driver, or which relationships matter. The goal is that the agent discovers the important relationships from the data and the flowsheet on its own, forms competing hypotheses, and tests them — reaching findings that were not spelled out in the task.
Do not use this to replace a known, well-scoped calculation — if the symptom
and mechanism are already given, go straight to neqsim-root-cause-analysis or
the relevant discipline skill.
Run this loop before fixing a scope. Never assume the task's stated classification is correct — treat it as a hypothesis to challenge.
RelationshipGraph — including lead-lag direction, which distinguishes a
driver from a follower.runProcess/runFlowAssurance/simulation verification
via RootCauseAnalyzer) plus historian evidence (EvidenceCollector) to check
each prediction.Report the relationships you discovered, not just the answer. A finding without its supporting lead-lag relationships and discriminating test is not complete.
RelationshipGraphRelationshipGraph (in neqsim.process.diagnostics) scans every tag pair in a
historian data set with no symptom and no hypothesis supplied, and reports
which tags move together and, crucially, which moves first. Lead-lag
directionality is the signal an agent uses to pick candidate causes on its own.
import java.util.Map;
import neqsim.process.diagnostics.RelationshipGraph;
RelationshipGraph graph = new RelationshipGraph();
graph.setTimestamps(timestamps); // optional: enables lag in seconds
graph.setMaxLagSamples(10); // search +/- 10 samples
graph.setMinAbsCorrelation(0.5); // only report |r| >= 0.5
List<RelationshipGraph.Relationship> edges = graph.analyze(historianData);
String relationshipReport = graph.toTextReport(edges);
for (RelationshipGraph.Relationship r : edges) {
// r.getSource() leads r.getTarget() (candidate cause -> candidate effect)
// r.getDirection(): LEADS or SYNCHRONOUS
// r.getLagSamples() / r.getLagSeconds(): how far ahead the driver moves
// r.getCorrelation(): strength & sign at the best lag
}RelationshipGraph = ns.JClass("neqsim.process.diagnostics.RelationshipGraph")
graph = RelationshipGraph()
graph.setTimestamps(timestamps) # java double[]; omit if unavailable
graph.setMaxLagSamples(10)
graph.setMinAbsCorrelation(0.5)
edges = graph.analyze(historian_map) # Map<String, double[]>
for r in edges:
print(r.getSource(), "->", r.getTarget(),
"r=", round(r.getCorrelation(), 2),
"lag_s=", r.getLagSeconds())A -> B (r=+0.85, leads by 300 s) — A moves first; A is a candidate cause
of B. Prioritise hypotheses about A.A <-> B (r=+0.90, synchronous) — tightly coupled with no detectable lag; may
share a common driver — look for a third tag that leads both.RelationshipGraph only sees what is in the historian data set you hand it.
For outdoor/topside equipment, ambient temperature, wind, or sea state can be
a driver that is not tagged anywhere in the plant historian. Before concluding
"no cause found" for an anomaly on weather-exposed equipment, pull the
historical weather for the site and event window with the community
neqsim-weather-data skill (WeatherDataService.get_historical) and add it as
an extra column to the data handed to RelationshipGraph.analyze(...), exactly
like any other tag. A lead-lag edge from an ambient-temperature or wind-speed
series into the anomalous tag is then a discovered candidate cause, to be
hypothesised and tested like any other RelationshipGraph finding — not
asserted from correlation alone.
AnomalyScannerYou should not have to be told the symptom either. AnomalyScanner (in
neqsim.process.diagnostics) scans every tag against its own robust baseline
(median / MAD) and, when supplied, its STID design envelope, and reports abnormal
tags plus a candidate symptom inferred from the tag name. Detection kinds:
THRESHOLD_HIGH/LOW (crosses a design limit), SPIKE_HIGH/LOW (robust-z
outlier), TREND_UP/DOWN (sustained drift).
AnomalyScanner scanner = new AnomalyScanner();
scanner.setDesignLimit("Compressor-1.vibration", Double.NaN, 7.1); // optional
List<AnomalyScanner.Anomaly> anomalies = scanner.scan(historianData);
Symptom candidate = scanner.suggestSymptom(anomalies); // e.g. HIGH_VIBRATIONCausalTopologyModelA statistical lead-lag edge is not proof of causation. CausalTopologyModel
overlays the flowsheet connectivity (which equipment feeds which) on the
RelationshipGraph edges and classifies each: CAUSAL_CANDIDATE (leader is
upstream of follower and moves first), LOCAL (same equipment), COUNTER_FLOW
(lead-lag opposes process flow — feedback), or COMMON_CAUSE_OR_ARTIFACT (no
process path — a shared hidden driver or an instrument artifact).
Map<String, Set<String>> adjacency = CausalTopologyModel.buildDownstreamAdjacency(processSystem);
CausalTopologyModel model = new CausalTopologyModel(adjacency, tagToEquipment);
List<CausalTopologyModel.CausalEdge> edges = model.classify(relationships);RootCauseAnalyzer.analyzeAutonomous()The three steps above plus the Bayesian scoring are chained in a single entry point. No symptom is required — the analyzer scans anomalies, infers the symptom, discovers relationships, and classifies them against topology, then converts hypothesis-matched anomaly and physically consistent topology findings into weighted evidence used in ranking.
RootCauseAnalyzer rca = new RootCauseAnalyzer(processSystem, "Compressor-1");
rca.setHistorianData(historianData, timestamps);
rca.setDesignLimit("Compressor-1.vibration", Double.NaN, 7.1);
// Autonomous: no setSymptom() call needed.
RootCauseReport report = rca.analyzeAutonomous(); // anomalies + relationships + RCA
// or, to also get causal-vs-artifact classification:
RootCauseReport report2 = rca.analyzeAutonomous(tagToEquipment); // + CausalTopologyModel
rca.getLastAnomalies(); // what looked abnormal
rca.getLastRelationships(); // who leads whom
rca.getLastCausalEdges(); // causal candidate vs common-cause/artifactOnly LOCAL and CAUSAL_CANDIDATE edges matching a hypothesis fingerprint affect
ranking. COUNTER_FLOW, COMMON_CAUSE_OR_ARTIFACT, and UNKNOWN findings remain
reportable but are not treated as causal support. This conservative admission rule
prevents correlation alone from inflating confidence.
Python: get the classes with ns.JClass("neqsim.process.diagnostics.AnomalyScanner"),
...RelationshipGraph, ...CausalTopologyModel, ...RootCauseAnalyzer.
plant-data / enterprise-plant-data (historian tags)
alarm-events / maintenance-api / STID (events, work orders, design limits)
v
neqsim-autonomous-investigation (this skill: discover relations + hypotheses)
v
neqsim-root-cause-analysis (Bayesian scoring + simulation verification)
v
neqsim-process-safety / discipline (consequence, if the cause is a hazard)neqsim-plant-data (community) or enterprise-plant-data
(historian/Seeq); add alarm & event history (enterprise-alarm-events),
maintenance work orders / notifications (enterprise-maintenance-api), and STID
design limits when available. Feed the whole tag map (plus design limits) into
AnomalyScanner / RelationshipGraph — the more context, the better the
discovery.neqsim-root-cause-analysis as the candidate causes / expected signals, so the
Bayesian scorer verifies them with a NeqSim simulation instead of relying on a
fixed symptom.RootCauseAnalyzer.analyzeAutonomous(tagToEquipment) runs the
whole chain (anomaly scan -> symptom inference -> relationship discovery ->
topology classification -> Bayesian scoring) so the agent only supplies data +
flowsheet.RelationshipGraph.setUseRankCorrelation(true)) to catch strong monotonic
non-linear couplings. Strongly non-monotonic couplings may still be
under-reported — consider transforming variables (log, rate-of-change) first.COMMON_CAUSE_OR_ARTIFACT verdict from CausalTopologyModel.© equinor, 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
Just SKILL.md in .github/skills/neqsim-autonomous-investigation of equinor/neqsim.
Open the folder on GitHubat commit c3b4216
Neqsim Autonomous Investigation 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Neqsim Autonomous Investigation this skillequinor/neqsim | 156 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| OpenLogi macOS Permissions TriageAprilNEA/OpenLogi | 23k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Bug Finder for daisyUIsaadeghi/daisyui | 43k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Root Cause Debugginggarrytan/gstack | 136k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Review PRapache/shardingsphere | 21k | — | ~6.5k | Automated safety check: Pass | Apache-2.0 | |
| Graph-Based Bug Tracingtirth8205/code-review-graph | 32k | 1 repos | ~287 | Automated safety check: Pass | MIT |
AprilNEA/OpenLogi
Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.
saadeghi/daisyui
Investigates suspected bugs in the daisyUI monorepo through read-only analysis, then writes a decision-ready fix plan in tmp/bugs without changing any product code.
garrytan/gstack
Investigates bugs, errors and stack traces in phases and requires a root-cause hypothesis to be confirmed before any fix is written.
apache/shardingsphere
Review Apache ShardingSphere or user-authorized downstream pull requests and PR discussions from public or authorized repository evidence.
tirth8205/code-review-graph
Traces a bug through a code knowledge graph, following callers, callees and execution flow before opening source files, within a small token budget.
go-musicfox/go-musicfox
Fix or implement a tracker issue end to end from a single command — takes an issue id or a plain problem description (filed first via om-prepare-issue), classifies, then drives the bug autofix chain…
equinor/neqsim
Guides NeqSim agents through acid-gas and contaminant removal with SimpleAmineAbsorber, SimpleAmineRegenerator, SystemKentEisenberg, SystemDesmukhMather, RateBasedAbsorber, MembraneSeparator, and…
equinor/neqsim
Guides agents through ProcessLinkedMPC, ProcessLinearizer, ModelPredictiveController, VirtualFlowMeter, SoftSensor, and DataReconciliationEngine.
equinor/neqsim
Agent-to-agent communication schema for NeqSim. An agent skill from equinor/neqsim.
equinor/neqsim
CO2 capture, transport, storage (CCS) and hydrogen systems patterns for NeqSim.
equinor/neqsim
Fix formatting, Checkstyle, Spotless, and JavaDoc build failures in NeqSim Java code.
equinor/neqsim
Guides agents in choosing equilibrium-stage versus rate-based packed columns, selecting solvers, sizing trays/packing, and checking hydraulic limits.
Categories
Autonomous observe-hypothesize-predict-test-discriminate loop for operational anomalies. Neqsim Autonomous Investigation is an agent skill from equinor/neqsim. Autonomous observe-hypothesize-predict-test-discriminate loop for operational anomalies.
Neqsim Autonomous Investigation fits situations like: : solving a PEPR action; operational study where the symptom; important relationships are NOT given up front.
Run `npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a claude-code`. Or copy the skill folder (.github/skills/neqsim-autonomous-investigation in equinor/neqsim) into .claude/skills/neqsim-autonomous-investigation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a codex`. Or copy the skill folder (.github/skills/neqsim-autonomous-investigation in equinor/neqsim) into .agents/skills/neqsim-autonomous-investigation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add equinor/neqsim --skill neqsim-autonomous-investigation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/neqsim-autonomous-investigation, .gemini/skills/neqsim-autonomous-investigation, .github/skills/neqsim-autonomous-investigation and .opencode/skills/neqsim-autonomous-investigation in your project.
SKILL.md names no scripts, command-line tools or credentials: Neqsim Autonomous Investigation is instructions for the agent only. Our summary lists: Python 3.
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.
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.
Neqsim Autonomous Investigation 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.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Neqsim Autonomous Investigation: OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars), Bug Finder for daisyUI (saadeghi/daisyui, 43k stars), Root Cause Debugging (garrytan/gstack, 136k stars) and Review PR (apache/shardingsphere, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
equinor (a GitHub organization) maintains it in equinor/neqsim, which has 156 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 11, 2026.
Source: equinor/neqsim on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.