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 crude-code/mcp-app --skill aries-to-valuationgit clone --depth 1 https://github.com/crude-code/mcp-appWrote 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/crude-code/mcp-app/aries-to-valuation)<a href="https://agentmods.dev/skills/crude-code/mcp-app/aries-to-valuation"><img src="https://agentmods.dev/badge/skills/crude-code/mcp-app/aries-to-valuation/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/crude-code/mcp-app/aries-to-valuation"><img src="https://agentmods.dev/badge/skills/crude-code/mcp-app/aries-to-valuation.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.00101 | $0.01784 |
| Opus 5.5 | $0.00040 | $0.00714 |
| Sonnet 5.5 | $0.00020 | $0.00357 |
| Haiku 4.5 | $0.00010 | $0.00178 |
Grade A, and why
aries-to-valuation scanned grade A with 1 finding 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 1mo 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
`export_data(kind="parameters", run_id=...)`, curl the CSV in the How it starts
The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ARIES → Valuation
What you're doing
The user has an ARIES database (already read via aries-explorer) and has
explicitly asked to value the curves inside it. This skill translates
the section-4 decline forecasts into deal_forecast_wells assertions —
adopted-with-attribution, every rationale carrying the verbatim ARIES line —
and the normal valuation flow runs unchanged from there.
The result is a third number with its own name: the seller's curves
under Crude Code economics. It is not a replay (their prices, costs, and
econ-limit life are never used) and it is not our view (no independent
forecast was made). Say this plainly, label the deal sheet with it, and
offer the natural comparison — our own well-forecasting pass on the same
wells — as the follow-up.
Routing: reading/exploring the database → aries-explorer. An
independent valuation → well-forecasting. This skill only when the user
asks for the database's own curves in a valuation, in their own words.
What you need
- Code execution (hard requirement, same as the explorer).
- The
_aries/directory from the explorer'saries_triage.py. If it isn't in the sandbox yet, fetcharies-explorerand run triage first. - The translation math rides on the pinned conventions in the
explorer's
ARIES.md(declines are effective-annual; the engine wants nominal-monthly).aries_curves.pyimplements them — verified against a real database's own oneliner to ≤0.013% per stream. Never convert by hand.
Workflow
- Confirm the lane. The user asked to value the seller's curves — restate what that means (their volumes, our prices/costs/discounting) in one sentence before starting.
- Translate:
(qualifier defaults to BASE, else the most-used; say which was decoded). This writespython3 aries_curves.py _aries --qualifier <Q>forecast_payload.jsonand prints the coverage report. Read the whole report — it is the contract of what did and did not translate. - Resolve the wells. Check every payload API against the warehouse:
A well missing fromSELECT well_api, well_name, operator FROM public.wells WHERE well_api = ANY(ARRAY['42-227-41093', ...])public.wellscannot enter a run (deal_forecast_wellsbounces it) — remove its entry, and tell the user which wells fell out and why. Never fabricate or force an API. - Tie out against the oneliner when the room has one. Extract per-well
ultimates into
oneliner.json—{"<api>": {"ult_oil": bbl, "ult_gas": mcf, "life_yrs": yrs, "eff_offset_months": n}}. Get the life anchoring right: the oneliner's LIFE column is measured from the EFFECTIVE date, soeff_offset_months= months from the forecastSTARTto the effective date (START 01/2025, effective 08/2026 → 19). Then:
Residuals beyond ~0.1% on capped wells: check the life anchoring first — a wrong offset or a misread life moves the shortest-lived wells the most (in either direction) while long-lived wells still round to 0.000%, which looks exactly like "a few wells failed." The per-wellpython3 aries_curves.py _aries --qualifier <Q> --tieout oneliner.json[cap ...]annotations make the caps auditable. Only after anchoring is ruled out, treat the residual as a broken translation: stop and investigate; never value on top of an unexplained residual. (Withoutlife_yrsthe comparison overshoots by the seller's econ-limit truncation — explained, not wrong.) - Commit — machine-copied, never retyped. Hand-typed parameters have
corrupted in transit before (garbled digits inside rationale strings,
qi values drifting). Print the entries with code execution —
— and paste that output verbatim aspython3 -c "import json; print(json.dumps(json.load(open('forecast_payload.json'))['entries']))"deal_forecast_wells'forecastsargument. You may drop wells (step 3); you may not edit numbers or rationale text. Read the echo. Expect stale-anchor warnings when the ARIESSTARTpredates recent actuals — that is the seller's timing, and the user must see it, not have it smoothed over. - Verify the commit deterministically. Mint
export_data(kind="parameters", run_id=...), curl the CSV in the sandbox, and diff the committed/assertedqi/di/band anchor per well againstforecast_payload.jsonin code — any drift means a transcription error: re-commit the affected wells straight from the payload and verify again. Do not proceed to valuation on an unverified commit. - Confirm before valuing. Present the assumptions grid as usual, PLUS
the report's not-modeled items, each as a user decision:
- NGL yield (bbl/mcf per well) — the engine has no NGL stream; revenue is understated by roughly that share of the deck.
- Shrink — the engine models wellhead gas; realization rides the
BTU factor and differentials (
gas_btu_factoroverride is the lever). - Water opex (
OPC/WTR) — not modeled; aneconomics_overridesopex adjustment is the blunt instrument if the user wants it. - Tail policy — the report quantifies ARIES-tail vs engine-tail volumes per stream; surface the package-level difference.
- Value:
deal_valuationas normal. The deal sheet'sTLDRmust lead with the label: "Seller's ARIES curves (qualifier ) under Crude Code economics." Then offer the comparison: an independentwell-forecastingpass on the same wells, same economics — that two-run diff is usually what the user actually wants.
What ships with it
1 file 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.
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.
- 1mo ago First seen · 126 lines · 101 tokens per session scan A 6e841b89cbf8
aries-to-valuation is a skill published in the GitHub repository crude-code/mcp-app (5 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 101 tokens to every session and 1,784 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
accounting-software-selection
Scores shortlisted accounting packages against 57 evidence-backed fields, emitted as CSV, SQL, JSON Schema or Notion on request. Use for choosing accounting software.
accounting-audit-system-builder
Routes an accounting or audit request to the right module skill, from software selection through monthly closing, asking only what is missing. Use for books of accounts or audit files.
trading-manual-writer
A writing skill for creating sections of a trading manual for beginners and individual investors. It explains financial instruments or trading topics in Markdown and can include SVG illustrations.
multi-expert-analyzer
A method for examining complicated questions through several expert viewpoints, followed by fact-checking and criticism.
retail-trading-manual-writer
A writing assistant for creating beginner-friendly Chinese sections of a paid manual about retail investing across different asset types. The manual follows a specified 17-chapter outline and appendix.
industry-chain-analyst
An industry research skill that maps the stages of a supply chain and examines the public companies, business models, relationships, strengths, risks, and competition at each stage.