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 vikram-vn/cpq-bml --skill bml-languagegit clone --depth 1 https://github.com/vikram-vn/cpq-bmlWrote 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/vikram-vn/cpq-bml/bml-language)<a href="https://agentmods.dev/skills/vikram-vn/cpq-bml/bml-language"><img src="https://agentmods.dev/badge/skills/vikram-vn/cpq-bml/bml-language/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/vikram-vn/cpq-bml/bml-language"><img src="https://agentmods.dev/badge/skills/vikram-vn/cpq-bml/bml-language.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.00032 | $0.00829 |
| Opus 5.5 | $0.00013 | $0.00332 |
| Sonnet 5.5 | $0.00006 | $0.00166 |
| Haiku 4.5 | $0.00003 | $0.00083 |
Grade A, and why
bml-language 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 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.
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 — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.
BML Language Core
Data Types
- Scalars:
String,Integer,Float,Boolean,Date - Collections:
String[],Integer[],Float[],Boolean[],Date[],String[][],Integer[][] - Data Structures:
dict(type),dict("anytype"),json(),jsonarray(),RecordSet
Operators
- Logical:
AND,OR,NOT(condition)(never use&&,||,!) - Comparison:
==,<>,<=,>=,<,> - Arithmetic:
+,-,*,/,% - Concatenation:
+
Control Flow
// Conditionals
if (condition) {
statement;
} elif (otherCondition) {
statement;
} else {
statement;
}
// For Loop (Iterating Arrays / RecordSets)
for item in itemArray {
print item;
}
Array Literals, Sizing & Methods
// 1D Array Literal & Sized Declarations
colors = String[]{ "red", "green", "blue" };
buffer = String[10];
// 2D Array Literal & Sized Declarations
matrix = Integer[][]{ {1, 2}, {3, 4} };
grid = Float[5][5];
// Array Access (0-indexed)
firstColor = colors[0];
val = matrix[0][1];
// Common Array Functions
len = sizeofarray(colors);
idx = findinarray(colors, "green"); // returns -1 if not found
append(colors, "yellow");
remove(colors, 0); // removes element at index 0
sort(colors, "asc"); // "asc" or "desc"
reverse(colors);
intSeq = range(5); // [0, 1, 2, 3, 4]
Core Built-in Functions
- String:
len(s),substring(s, start, [end]),find(s, sub),replace(s, old, new),trim(s),lower(s),upper(s),split(s, delim),join(arr, delim),atof(s),atoi(s),string(val),startswith(s, sub),endswith(s, sub),formatascurrency(num). - Date:
getdate([bool]),datetostr(d, [fmt], [tz]),strtojavadate(s, fmt, [tz]),adddays(d, n),addmonths(d, n),minusdays(d, n),comparedates(d1, d2),getdiffindays(d1, d2),isleap(d),isweekend(d),getcurrenttimeinmillis(). - Math:
sqrt(x),pow(x, y),round(x, dec),ceil(x),fabs(x),fmod(x, y),sin(x),cos(x),tan(x),asin(x),acos(x),atan(x),log(x),ln(x),exp(x),hypot(x, y).
What ships with it
8 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.
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 · 71 lines · 32 tokens per session scan A e697e5cd97fb
bml-language is a skill published in the GitHub repository vikram-vn/cpq-bml (0 stars, last pushed 1mo ago), licensed MIT. It adds 32 tokens to every session and 829 once invoked, about $0.0001 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-08-31.
Other skills, from other repositories
use-sdk
Install, configure, and use a TypeScript SDK generated with @ama-sdk. Use when user wants to call APIs, set up a client (fetch, Angular, beacon), or understand how to use an existing SDK package.
create-sdk
Create a new TypeScript SDK from an OpenAPI specification, either as a standalone project or inside an existing Angular/Nx monorepo. Use when user wants to scaffold, bootstrap, initialize, or generate an SDK.
create-spring-boot-project
Creates a new Spring Boot project by downloading it from start.spring.io using curl, then extracting it into the target directory. Use this when a user asks to create, generate, initialize, or scaffold a new Spring Boot project.
erlang-otp-behaviors
Use when oTP behaviors including genserver for stateful processes, genstatem for state machines, supervisors for fault tolerance, genevent for event handling, and building robust, production-ready Erlang applications with proven patterns.
omh-rust
This is an OMH rust workflow skill, projected for Agent Skills hosts (Claude Code, Codex, Cursor, opencode, OpenClaw, pi).
axiom-concurrency
Use when writing ANY async code, actors, or threads in an Apple-platform app, or seeing ANY concurrency error. Covers Swift 6 concurrency, @MainActor, Sendable, data races, async/await patterns.