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 CrestApps/CrestApps.AgentSkills --skill orchardcore-data-formulasgit clone --depth 1 https://github.com/CrestApps/CrestApps.AgentSkillsWrote 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/crestapps/crestapps.agentskills/orchardcore-data-formulas)<a href="https://agentmods.dev/skills/crestapps/crestapps.agentskills/orchardcore-data-formulas"><img src="https://agentmods.dev/badge/skills/crestapps/crestapps.agentskills/orchardcore-data-formulas/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/crestapps/crestapps.agentskills/orchardcore-data-formulas"><img src="https://agentmods.dev/badge/skills/crestapps/crestapps.agentskills/orchardcore-data-formulas.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.00181 | $0.05253 |
| Opus 5.5 | $0.00072 | $0.02101 |
| Sonnet 5.5 | $0.00036 | $0.01051 |
| Haiku 4.5 | $0.00018 | $0.00525 |
Grade A, and why
orchardcore-data-formulas 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 — 308 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Orchard Core Data Formulas and Filters
The Data Pipelines Core feature (Orchard Core 4.0) includes a formula language, used by the Filter rows and Add calculated fields steps of data pipelines (see orchardcore-data-pipelines) and by features such as reports, and the filter operators that consumers offer to data sources (see orchardcore-data-sources). A formula computes a value from a row, such as [Price] * [Quantity] or UPPER(TRIM([Country])).
Code lives in the OrchardCore.DataSources.Expressions and OrchardCore.DataSources namespaces (packages OrchardCore.DataSources.Core and OrchardCore.DataSources.Abstractions, version 4.*). Register functions in a module that depends on OrchardCore.DataPipelines.Core, or in a [RequireFeatures("OrchardCore.DataPipelines.Core")] startup.
Syntax
| Element | Syntax |
|---|---|
| Field | Technical name in brackets, [TitlePart.Title]. A ] in a name is doubled: [Size [cm]]] for Size [cm]. |
| Text | Single or double quotes, 'CA' or "CA". Double a quote to escape it: 'It''s'. |
| Number | Digits with a dot, 42, 0.25. Without a dot it is an integer. |
| Constants | TRUE, FALSE, NULL |
| Function | ROUND([Amount], 2) |
| Parentheses | ([Price] + [Shipping]) * 1.15 |
Keywords and function names are case-insensitive; field names are not.
Operators
From the lowest precedence to the highest:
ORor||ANDor&&NOTor!- Comparisons
=or==,!=or<>,<,<=,>,>= &joins two values as text (a missing value joins as empty text)+,-*,/,%- Unary
-,+
Rules:
- A missing value in arithmetic gives a missing result, and so does a division by zero. Integer arithmetic that overflows continues with decimals.
+joins text when one side is text.- Date plus or minus a number adds or removes days; date minus date gives the number of days between them.
- A missing value equals another missing value or an empty text;
<,<=,>,>=are false when either side is missing. - A date compared with a text converts the text to a date:
[CreatedUtc] >= '2025-01-01'. Text comparisons ignore case. - A value is true when it is
TRUE, a non-zero number, or a text other than empty,falseor0. - Functions return a missing value rather than failing when an argument is missing or of the wrong type.
- A formula is checked before it runs: every field must exist, every function must get the right number of arguments, and operators must suit their operand types. Pipeline steps report an invalid formula as an error of the step.
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.
- today First seen · 308 lines · 181 tokens per session scan A ec827b8bcc49
orchardcore-data-formulas is a skill published in the GitHub repository CrestApps/CrestApps.AgentSkills (13 stars, last pushed today), licensed MIT. It adds 181 tokens to every session and 5,253 once invoked, about $0.0007 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-22.
Other skills, from other repositories
microsoft-extensions-ai
Build provider-agnostic .NET AI integrations with Microsoft.Extensions.AI, IChatClient, embeddings, middleware, structured output, vector search, and evaluation. USE FOR: building or reviewing .NET code that uses Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, IChatClient, IEmbeddingGenerator…
gdal-api
Use when programming against GDAL/OGR in C, C++, Python, Java, or .NET — raster/vector I/O, gdal.UseExceptions, OGRSpatialReference transforms, gdal.Translate / gdal.Warp, VRT/COG, or fixing "no driver registered" and UnsatisfiedLinkError; C++ gdal-config, Maven org.gdal:gdal 3.13.0, NuGet MaxRev.Gdal.Core.
publish-release
Releases a new McpOrchestrator version end to end — version bump PR, tag, and the automated deploy to GitHub Releases, NuGet, and the MCP Registry. Use when asked to release, publish, deploy, ship, or bump the version of McpOrchestrator.
release-notes
Writes user-facing release notes from a git commit range. Use when asked to draft release notes, a changelog entry, or "what's new" text for a release.
opik-verify
Decide ship or hold for a candidate from the compare skill's numbers, against an explicit release policy — regressions, pass rate, safety-tagged cases, subgroup consistency, latency and cost budgets, flakiness, evidence size, and whether the judge is validated. Reads two experiments on an Opik test suite via the SDK…
add-prompt
Scaffold a new MCP prompt template. Use when the user asks to add a prompt, create a reusable message template, or define a prompt for LLM interactions.