gnomon — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited gnomon (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
gnomon-mcp exposes four MCP tools so the model computes deterministically instead of guessing.
now.calendar with diff, until, or since.calendar.calendar with parse.calc.calc_convert. Never eyeball.now(tz?) — current moment, rich dictOne call returns ISO, date, time, weekday, day_of_year, week_of_year (ISO), quarter, fiscal year (US gov), is_weekend, and more. Optional IANA timezone (defaults to UTC).
now() → UTC snapshot
now("America/Los_Angeles") → in a specific tzcalendar(ops) — batch date operationsPass a list of {"op": NAME, ...args} dicts, get a list back in order. Use this for table-row workloads — one tool call covers a whole column.
calendar([
{"op": "until", "target": "2026-12-31", "unit": "days"},
{"op": "since", "source": "2026-01-01", "unit": "days"},
{"op": "diff", "start": "2026-01-01", "end": "2026-12-31", "unit": "days"},
{"op": "add", "date": "2026-05-25", "n": 1, "unit": "months"},
{"op": "weekday", "date": "2026-05-25"},
{"op": "business_days", "start": "2026-05-01", "end": "2026-06-01"},
{"op": "parse", "natural": "next thursday", "tz": "America/Los_Angeles"},
{"op": "format", "date": "2026-05-25", "fmt": "%A, %B %d %Y"},
])Units for diff/until/since: seconds, minutes, hours, days, weeks. Units for add: above plus months, years (calendar-aware via relativedelta). business_days counts Mon-Fri (start inclusive, end exclusive); doesn't yet know holidays.
calc(expressions) — batch Python expressionsPre-loaded: math (sqrt, sin, log, pi, e, …), statistics (mean, median, stdev, variance), and useful builtins (abs, round, min, max, sum, range, sorted, …).
calc(["sqrt(16)", "mean([1,2,3,4])", "sum(range(101))", "0.075 * 12000"])calc_convert(value, from_unit, to_unit) — Pint unit conversioncalc_convert(100, "meter", "foot") → 328.08...
calc_convert(0, "degC", "degF") → 32.0
calc_convert(1, "GiB", "MiB") → 1024.0calendar and calc are list-in, list-out by design.now() returns 18 fields in one call; don't call it three times for ISO + weekday + week-of-year separately.len() in your head is fine for 5 things).2 + 2).Otherwise — default to gnomon. The cost of one tool call is trivial; the cost of a confidently-wrong number is not.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.