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 spyrae/kronos-agent-os --skill structured-extractiongit clone --depth 1 https://github.com/spyrae/kronos-agent-osWrote 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/spyrae/kronos-agent-os/structured-extraction)<a href="https://agentmods.dev/skills/spyrae/kronos-agent-os/structured-extraction"><img src="https://agentmods.dev/badge/skills/spyrae/kronos-agent-os/structured-extraction/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/spyrae/kronos-agent-os/structured-extraction"><img src="https://agentmods.dev/badge/skills/spyrae/kronos-agent-os/structured-extraction.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00026 | $0.00577 |
| Opus 5.5 | $0.00010 | $0.00231 |
| Sonnet 5.5 | $0.00005 | $0.00115 |
| Haiku 4.5 | $0.00003 | $0.00058 |
Grade A, and why
structured-extraction 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 — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Structured Extraction
Comparing anything means first making the sources agree on shape. Two listing sites will name the same thing three ways and omit a different field each. The whole job is doing that without quietly filling the gaps.
One schema, decided first
Write the fields down before fetching. For an offer of any kind, that is usually:
| Field | Notes |
|---|---|
name |
what the owner would call it |
url |
the page this row came from — always |
price |
as shown |
currency |
explicit on every row, never inferred from the site |
| one field per additional cost | deposit, shipping, utilities, duty |
source |
which site |
Add whatever the specific question needs, and no more. A schema with fields nobody will compare is a schema that invites guessing.
The rule that matters
A field the page did not state is missing, not zero, and not "probably the
usual". A listing without a stated deposit is not a listing with no deposit.
Leave it out, or mark it absent, and let the comparison refuse to rank that row —
compare_offers does exactly that, and the refusal is information.
Same for units and currency. 8.750.000 is a number written the way that site
writes numbers; Rp 8.750.000 is a price. Carry the currency per row, because
the moment two currencies meet in one total the total is wrong and looks right.
Method
fetch_pageon the item's own page — not the search listing.extract_structuredwith the field list. It runs a small model against the text and returns fields, which is cheaper and steadier than reading prose.- Check the rows. If one field is empty on every row from one site, the pattern is wrong, not the site.
- For more than a handful of rows, or any arithmetic beyond adding, use
run_code— a program that sums is checkable, a paragraph that sums is not.
Reporting
State per row where it came from and what was missing. A table that looks complete because the gaps were filled is worse than one with holes, because nobody can see which numbers to distrust.
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 · 62 lines · 26 tokens per session scan A 95b10aaead0f
structured-extraction is a skill published in the GitHub repository spyrae/kronos-agent-os (54 stars, last pushed yesterday), licensed MIT. It adds 26 tokens to every session and 577 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-30.
Other skills, from other repositories
python-lib-analyzer
Analyze any Python library structure, explore modules, classes, and functions with signatures and documentation.
data-visualization
Use for creating publication-quality charts and multi-panel analysis summaries. Triggers when tasks involve visualizing data, plotting results, creating charts, or producing visual reports from analysis output.
cuml-machine-learning
Use for GPU-accelerated machine learning on tabular data using NVIDIA cuML. Triggers when tasks involve classification, regression, clustering, dimensionality reduction, or model training on datasets.
schema-exploration
Lists tables, describes columns and data types, identifies foreign key relationships, and maps entity relationships in a database. Use when the user asks about database schema, table structure, column types, what tables exist, ERD, foreign keys, or how entities relate.
deepagents-thread-inspector
Inspect and explain conversations in the local Deep Agents Code SQLite session store. Use to look up the current thread's title or name, as a fallback when LangSmith trace tooling is unavailable, for offline or untraced sessions, or when asked to identify or summarize a local dcode thread, inspect checkpoint metadata…
remember
Review the current conversation and capture valuable knowledge — best practices, coding conventions, architecture decisions, workflows, and user feedback — into persistent memory (AGENTS.md) or reusable skills. Use when the user says: (1) remember this, (2) save what we learned, (3) update memory, (4) capture…