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 sinagilassi/PyThermoCalcDB-NASA-MCP --skill pythermodb-reference-makergit clone --depth 1 https://github.com/sinagilassi/PyThermoCalcDB-NASA-MCPWrote 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/sinagilassi/pythermocalcdb-nasa-mcp/pythermodb-reference-maker)<a href="https://agentmods.dev/skills/sinagilassi/pythermocalcdb-nasa-mcp/pythermodb-reference-maker"><img src="https://agentmods.dev/badge/skills/sinagilassi/pythermocalcdb-nasa-mcp/pythermodb-reference-maker/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/sinagilassi/pythermocalcdb-nasa-mcp/pythermodb-reference-maker"><img src="https://agentmods.dev/badge/skills/sinagilassi/pythermocalcdb-nasa-mcp/pythermodb-reference-maker.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.00132 | $0.04276 |
| Opus 5 | $0.00066 | $0.02138 |
| Sonnet 5 | $0.00026 | $0.00855 |
| Haiku 4.5 | $0.00013 | $0.00428 |
Grade A, and why
pythermodb-reference-maker 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 9d ago.
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 — 422 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Thermodynamic Table to YAML Extractor
Purpose
Convert thermodynamic tables into the structured YAML format used by pyThermoDB references.
Support:
- Data tables such as general component properties.
- Constants tables such as custom constants or reaction constants.
- Matrix-parameter tables such as binary NRTL parameters.
- Equation tables such as Cp, vapor pressure, density, and enthalpy of vaporization.
- Multi-equation systems.
- Optional integral and derivative expressions.
- Optional variable range columns such as
Tmin,Tmax,Pmin, orPmax.
Step 0: Interpret the task
Before processing:
- Identify input type:
- CSV
- PDF/image
- raw text
- existing YAML
- online source or database page
- article, paper, report, or handbook excerpt
- Identify table type:
- data table: component or mixture scalar properties
- constants table: named constants and scalar/list/dict constant values
- matrix table: pairwise or matrix-parameter data
- equation table: coefficients plus formula
- Identify container format:
- full reference:
REFERENCES -> reference id -> DATABOOK-ID -> TABLES - direct table snippet: one or more table names at the top level
- full reference:
- Identify complexity:
- single equation
- multiple equations
- mixed table patterns
- Check for:
- scaled coefficients
- variable range columns such as
Tmin/Tmax - duplicate component records in
VALUES - missing metadata columns
- special-case rows
Step 0a: Resolve source policy
Before extracting values, determine whether the user supplied or constrained the source.
Source modes:
- user-supplied source: a file, image, pasted text, URL, DOI, article, report, or database page
- user-constrained source: the user says to use only a specific source, such as NIST, DIPPR, Perry's, a named article, or an attached file
- open source search: the user asks for thermodynamic data without naming the source
Rules:
- If the user constrains the source, use only that source unless it is incomplete or internally inconsistent. If another source is needed to resolve a missing formula, unit, equation form, or coefficient definition, ask or clearly label the additional source as supplemental.
- If the user supplies an article, report, PDF, image, or excerpt, extract from that material first. Preserve the article's equation form, coefficient definitions, units, ranges, and stated validity limits before translating into executable pyThermoDB notation.
- If the user asks for NIST or another online thermodynamic database, retrieve the relevant table or page when browsing is available. Record the database name, page/table title, component names, property, equation form, units, and access date in notes or the table description when useful.
- If the user does not name a source, prefer authoritative thermodynamic references and databases. Use exact source attribution in notes so coefficients are traceable.
- Do not blend coefficients from multiple sources into one row unless the output explicitly includes source-disambiguating columns or notes. Report conflicts instead of silently choosing one value.
- Do not invent missing coefficients, ranges, or equation identifiers. Mark missing values as unresolved in notes and produce only the YAML that can be supported by the source.
- Respect source terms and access limits. Summarize copyrighted source text and extract only the factual coefficients, equations, units, and metadata needed for the YAML.
What ships with it
12 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/constants_table_template.yaml 410 B
- assets/data_table_template.yaml 304 B
- assets/equation_table_template.yaml 793 B
- assets/matrix_table_template.yaml 469 B
- assets/reference_file_template.yaml 2.0 KB
- LICENSE 11 KB
- references/equation_patterns.md 4.3 KB
- references/examples.md 9.0 KB
- references/schema_rules.md 6.9 KB
- scripts/check_reference.py 8.6 KB runs code
- scripts/csv_to_structure.py 1.1 KB runs code
- scripts/validate_yaml.py 6.7 KB runs code
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.
- 9d ago First seen · 422 lines · 132 tokens per session scan A 90059fdb1128
pythermodb-reference-maker is a skill published in the GitHub repository sinagilassi/PyThermoCalcDB-NASA-MCP (1 stars, last pushed 21d ago), licensed Apache-2.0. It adds 132 tokens to every session and 4,276 once invoked, about $0.0007 per session on Opus 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-08-31.
Other skills, from other repositories
neqsim-process-extraction
Extracts process simulation data from unstructured sources (text, tables, PFDs, data sheets, STID/E3D line lists) and converts it to NeqSim JSON builder format or PipingRouteBuilder route models. USE WHEN: a user provides a process description, PFD, operating data, line-list table, or design document and wants a…
neqsim-unisim-reader
Reads Honeywell UniSim Design / Aspen HYSYS .usc files via COM automation and converts them to NeqSim ProcessSystem / ProcessModule structures. USE WHEN: a user has UniSim/HYSYS simulation files and wants to recreate or compare the model in NeqSim. Covers COM API navigation, column AttachedFeeds/AttachedProducts…
neqsim-flow-assurance
Flow assurance analysis patterns for NeqSim. USE WHEN: predicting hydrate formation, wax appearance, asphaltene stability, CO2/H2S corrosion (NORSOK M-506, de Waard-Milliams, FeCO3 film), mineral scale (saturation index, scale kinetics, brine mixing / seawater incompatibility), scale/solids valve plugging & Cv/opening…
neqsim-api-patterns
NeqSim API patterns and code recipes. USE WHEN: writing Java or Python code that uses NeqSim for thermodynamic calculations, process simulation, or property retrieval. Covers EOS selection, fluid creation, flash calculations, property access, equipment patterns, and unit conventions.
neqsim-technical-document-reading
Reads and extracts structured engineering data from technical documents (PDFs, Word, Excel, CSV) and engineering images/drawings (P&IDs, vendor datasheets, mechanical arrangements, performance maps). USE WHEN: a user provides engineering documents or images — equipment data sheets, technical requirements, design…
neqsim-capability-map
Structured inventory of NeqSim's capabilities by engineering discipline. USE WHEN: checking what NeqSim can do, planning implementations, assessing gaps for engineering tasks, or routing work to the right agent. Covers thermodynamics, process equipment, PVT, standards, mechanical design, flow assurance, safety, and…