Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/Aysnc-Labs/angoranpx agentmods add skills/aysnc-labs/angora/angora-compose-pageWrote 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/aysnc-labs/angora/angora-compose-page)<a href="https://agentmods.dev/skills/aysnc-labs/angora/angora-compose-page"><img src="https://agentmods.dev/badge/skills/aysnc-labs/angora/angora-compose-page/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/aysnc-labs/angora/angora-compose-page"><img src="https://agentmods.dev/badge/skills/aysnc-labs/angora/angora-compose-page.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.00145 | $0.02448 |
| Opus 5 | $0.00072 | $0.01224 |
| Sonnet 5 | $0.00029 | $0.00490 |
| Haiku 4.5 | $0.00015 | $0.00245 |
Grade A, and why
angora-compose-page 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 10d 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 — 156 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Compose Page: $ARGUMENTS
Build or update a full site page from approved components. Pages are living documents — this skill handles both creation and evolution.
Scope
This skill does two things:
- Design system layouts — full-page compositions in
src/pages/design-system/layouts/using real components with placeholder content. These are specimens, not production pages. - Site pages — real routes in
src/pages/with production content, database queries, SEO, and site layout wrappers.
Intent check: When the user says "update the home page" or similar, clarify before proceeding: "Do you mean the home layout in the design system (/design-system/layouts/home), or the actual website home page at src/pages/index.astro?"
Before you start
- Read
src/system.md— intent, accessibility standard, anti-patterns. - Read
src/styles/global.css— available tokens for page-level spacing and backgrounds. All color references must use semantic token utilities — raw palette classes don't exist. - Read design-principles.md — especially Spacing & Layout, Dark Mode, and Finishing Touches sections.
- Read tailwind-conventions.md — Tailwind v4 syntax rules.
- Inventory components — list
src/components/*.astroto know what's available. Only use approved, built components. - Read
src/components/Section.astro— understand the Section pattern before composing pages. Section accepts:seamless,fullWidth(drops flow width constraint),narrow(constrains to--container-narrow),withWrap(re-constrains children of full-width sections),withPadding(adds vertical padding without seamless),title(renders<h2>with automaticaria-labelledby). - Check for wireframe — look for
src/pages/design-system/wireframes/<page-name>.astro. If it exists, read it — especially the data source annotations in frontmatter. - Check for layout — look for
src/pages/design-system/layouts/<page-name>.astro. If a layout exists, it's an approved composition showing how components assemble for this page. Use it as the reference — match its section order, component choices, and visual rhythm. The real page replaces placeholder content with real data but follows the same structure. - Check for existing page — look for
src/pages/<page-name>.astro. If it exists, read it first. This is an evolution, not a rewrite. - Check for site layout — look in
src/layouts/for existing site layouts (header/footer wrappers).
What ships with it
1 file 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.
- 10d ago First seen · 156 lines · 145 tokens per session scan A cfd14e4a6f31
angora-compose-page is a skill published in the GitHub repository Aysnc-Labs/angora (6 stars, last pushed 4mo ago), licensed MIT. It adds 145 tokens to every session and 2,448 once invoked, about $0.0007 per session on Opus 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
data-display-and-selection
Complex data deserves multiple view modes — grid, list, table — chosen by the user based on their task. Row and item selection should use large hit areas (the whole row or card, not just a checkbox). Selected state is communicated through a subtle background colour shift. Mass actions appear when items are selected.…
information-architecture
In large applications, information architecture determines whether users can find, understand, and act on data. Naming matters. The UI should mirror the data model and signal how data can be transformed. Dangerous or irreversible changes always require a confirm dialog. Use when designing navigation, naming entities…
brand-visual-language
A brand's visual tone — playful or serious, rounded or angular — should be consistent across all UI elements. Shape language in typography, border-radius, and iconography communicates personality before a single word is read. Use when establishing a design system, choosing icon libraries, setting border-radius tokens…
generate-ui-from-brand
Pipeline skill — turns a URL or DESIGN.md into a concrete UI structure with decisions already made. Extracts live design tokens, normalizes them into a semantic system, applies UX principles, and outputs an actionable UI spec. Use when building UI for an existing brand from scratch, auditing a design system, or…
loading-states-and-perceived-performance
Manage user expectations during wait times with appropriate loading states — from simple spinners to complex skeleton screens and staggered animations. Perceived performance is often more important than actual load time. Use when designing data-heavy components, handling API calls, building hero sections, or improving…
micro-interactions
Micro-interactions are small, purposeful animations and responses that reward the user and make the interface feel alive — an animated icon, a satisfying toggle, a subtle reveal. Borrowed from the natural world, they add delight without distraction. Use when designing interactive components, success states, toggles…