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 agility/mcp-server --skill build-pagesgit clone --depth 1 https://github.com/agility/mcp-serverWrote 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/agility/mcp-server/build-pages)<a href="https://agentmods.dev/skills/agility/mcp-server/build-pages"><img src="https://agentmods.dev/badge/skills/agility/mcp-server/build-pages/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/agility/mcp-server/build-pages"><img src="https://agentmods.dev/badge/skills/agility/mcp-server/build-pages.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.00763 |
| Opus 5.5 | $0.00024 | $0.00305 |
| Sonnet 5.5 | $0.00012 | $0.00153 |
| Haiku 4.5 | $0.00006 | $0.00076 |
Grade A, and why
build-pages 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 2d 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 — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Build and change pages in Agility CMS
Explore
get_sitemapslists the sitemaps (channels) for a locale.get_sitemapreturns the page tree. UsepathPrefix,maxDepthor flat mode to keep large sites readable.get_pagereturns one page with its zones and modules.
Before creating a page, gather
- The locale (
get_locales). - The sitemap ID (
get_sitemaps). - The page model name (
get_page_models). Request its module zones too. Zone names must match the model exactly, including case. Do not guess them; a component placed in an unknown zone is rejected. - The parent page ID, from
get_sitemap. Never guess it. - For each component to add, its model ID and fields: call
get_component_models, thenget_component_model_details.
Ask the user for anything still missing, such as the page title or URL path.
Create or update a page
- Call
save_pagewithpageType:static(a regular page),dynamic(one page per item in a content list),folder(groups pages, no content) orlink(a redirect). - To add new components, put them in the page's
zoneswith their fields andcomponentModelID.save_pagecreates the page and those content items in one step. Do not callsave_content_itemsfor them first. - Referencing an existing content ID on a new page creates a copy of that content with a new ID. Tell the user.
- SEO and visibility fields: leave a field out to keep its stored value;
nullclears it. - Saving does not publish. The page lands in the default state, usually Staging. Return the page ID and editor link from the result.
Reorder components
save_page does not change the order of existing components. Use
reorder_page_modules with the page ID, the zone name, and the full list of
content IDs in the new order. Read the page with get_page first and include
every module in the zone.
Then read the page again and check the order. A reorder has been seen to report success without changing anything. If the order did not change, tell the user, and offer the fallback: save the page with only the components that should come first, then save it again with the rest appended in order. Components re-added this way get new content IDs, so report the new IDs.
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.
- 2d ago First seen · 70 lines · 59 tokens per session scan A c545fd3ec24f
build-pages is a skill published in the GitHub repository agility/mcp-server (0 stars, last pushed 2d ago), licensed Apache-2.0. It adds 59 tokens to every session and 763 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-11-06.
build-pages compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| build-pagesagility/mcp-server | Skill | 0 | 2d ago | Apache-2.0 | A | 59 | Claude Code |
| imagegenopenai/codex | Skill | 134k | today | Apache-2.0 | A | 113 | Codex |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | yesterday | MIT | A | 200 | Claude Code, Codex |
| playwright-climicrosoft/playwright | Skill | 100k | yesterday | Apache-2.0 | A | 19 | Claude Code |
| browser-automationopenclaw/openclaw | Skill | 394k | today | MIT | A | 36 | Claude Code |
| systematic-debuggingobra/superpowers | Skill | 314k | 4d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 95 | Claude Code |