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 romshark/datapages --skill datapages-architecturegit clone --depth 1 https://github.com/romshark/datapagesWrote 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/romshark/datapages/datapages-architecture)<a href="https://agentmods.dev/skills/romshark/datapages/datapages-architecture"><img src="https://agentmods.dev/badge/skills/romshark/datapages/datapages-architecture/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/romshark/datapages/datapages-architecture"><img src="https://agentmods.dev/badge/skills/romshark/datapages/datapages-architecture.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.00059 | $0.02267 |
| Opus 5.5 | $0.00024 | $0.00907 |
| Sonnet 5 | $0.00012 | $0.00453 |
| Haiku 4.5 | $0.00006 | $0.00227 |
Grade A, and why
datapages-architecture 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 yesterday.
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 — 201 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Architecture
Read datapages first for the build loop, hard rules and naming conventions.
Use this skill to choose the Datapages constructs a feature needs. Ask the operator when a missing requirement would change that choice. Then read the referenced skill before implementing the selected construct.
Keep authoritative state on the server, separate reads from commands and send complete page updates instead of small DOM patches.
New app
datapages init # go.mod, app/app.go, cmd/server/main.go, compose.yaml, Makefile, CI
make up # start the broker
make dev # datapages watch
init creates PageIndex, PageError404, PageError500, Head and RecoverError. It writes only missing files and deletes nothing. You can run it again without overwriting existing files.
Before the first page, decide:
| question | decides |
|---|---|
| Are users authenticated? | Session data type and the Session alias shared by all handlers. See datapages-sessions. |
| What does a handler need besides the request? | App fields. A page has no named dependency fields, only App *App. |
| Can data change without the reader acting? | Whether events are needed. See datapages-events. |
| Will one or multiple server processes run? | Broker, session store and data placement. See Server topology. |
Add sessions, state and events when a feature needs them, not upfront.
Before implementation
Do not guess requirements that change the application model. Ask the operator when they are unclear.
| unknown | determines |
|---|---|
| Authentication or per-user data | Whether data belongs in a session. See datapages-sessions. |
| Persistence | What must survive a process restart and where it is stored. |
| External changes | Whether data can change without the current tab acting and needs events. See datapages-events. |
| Per-tab server state | Whether a handler without a request needs tab-local values. |
| URL state | Whether a value must be shareable or survive reload. |
| Server topology | Whether one or multiple server processes will run. See Server topology. |
| Shared routes | Whether a handler belongs to a page, *App or an embedded shared type. |
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.
- yesterday Changed d1762c756b9a
- 2d ago First seen · 201 lines · 59 tokens per session scan A 33e50e5109ca
datapages-architecture is a skill published in the GitHub repository romshark/datapages (91 stars, last pushed today), licensed MIT. It adds 59 tokens to every session and 2,267 once invoked, about $0.0002 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-09-21.
Other skills, from other repositories
om-system-extension
Extend installed Open Mercato modules through UMES enrichers, interceptors, mutation guards, widgets, menus, entity extensions, events, component/page replacements, and overrides. Use for "extend core", "add field/column/action", "hide page", "intercept API", "UMES", or "rozszerz moduł".
frontmcp-development
Use when building any FrontMCP server component other than a tool (for tools, use create-tool). Covers @Resource static resources and parameterized URI templates; @Prompt reusable prompts (RAG, multi-turn); @Provider singleton dependency-injection providers (database pools, API clients); @Agent autonomous LLM agents…
webmcp
Build agent-friendly web apps with the W3C Web Model Context API (WebMCP). Use when exposing frontend features as structured tools for in-browser AI agents, adding document.modelContext tools to React/Next.js apps, designing tool schemas for dashboards or admin UIs, or making existing UI automatable without DOM…
composition-patterns
Design reusable React component APIs that scale — compound components, lifted state, generic context, explicit variants. Use when a component is growing boolean props (isThread, isEditing…), when building a component library, or when reviewing component architecture. Includes React 19 API changes.
csharp-skills
Use when developing with .NET/C# for Web APIs, ORM data access, Excel/Word file I/O, spreadsheet controls, error tracking, or .NET code protection. Index of 9 skills: Furion, Admin.NET Backend, Admin.NET Frontend, SqlSugar, NPOI, SOD, ReoGrid, DotNet Reactor, Sentry.
structpages
Guide for building Go web applications with the structpages framework (struct-based routing + templ + HTMX). Use when writing routes, pages, page groups, Props methods, handler methods (ServeHTTP), page components, partials, HTMX partial rendering and nested swap levels, URL generation (URLFor/ID/IDTarget)…