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 GCWing/Sparo-OS --skill product-app-surfacegit clone --depth 1 https://github.com/GCWing/Sparo-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/gcwing/sparo-os/product-app-surface)<a href="https://agentmods.dev/skills/gcwing/sparo-os/product-app-surface"><img src="https://agentmods.dev/badge/skills/gcwing/sparo-os/product-app-surface/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/gcwing/sparo-os/product-app-surface"><img src="https://agentmods.dev/badge/skills/gcwing/sparo-os/product-app-surface.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.00477 |
| Opus 5 | $0.00030 | $0.00238 |
| Sonnet 5 | $0.00012 | $0.00095 |
| Haiku 4.5 | $0.00006 | $0.00048 |
Grade A, and why
product-app-surface 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.
What it actually says
Product App Surface Skill
Use this skill when the Product App work changes what the user sees or operates. A surface is the app-private UI contract for a Product App, not a standalone web page and not a shared Component package.
Development Boundary
- Start from the package facts and the generated surface scaffold. If the surface is missing, create it with
CreateProductAppComponentusing kindsurface. - Treat
source/index.html,source/style.css,source/ui.js, and optionalsource/worker.jsas the editable surface source set. - Keep browser UI work in
ui.js: DOM rendering, interaction, runtime events, theme, locale, and calls towindow.app. - Keep custom backend logic in
worker.jsonly when the app needs it, and align it with the Product App permission boundary. - Do not import Sparo host Web UI internals or React design-system modules from Product App surface code.
Key Decisions
- Decide the primary user path first: what opens, what the user can do immediately, and what state proves the app is useful.
- Use
product-app-apiwhen surface code toucheswindow.app, permissions, backend calls, storage, file/network/shell access, AI, or runtime events. - Use
product-app-ui-polishwhen the task is visual quality, layout, runtime UI Kit use, states, theme, density, responsiveness, or zh-CN/en-US polish. - If the surface needs intelligent behavior, call an app-private Agent or Bridge through backend bindings/service actions instead of treating the authoring session as app state.
Validation
- Refresh the Product App lock after package or component graph changes.
- Run Product App package validation.
- Run or observe a Builder preview/runtime path for the surface. Completion requires evidence that the surface rendered and the main user path was exercised or that missing evidence is reported clearly.
- For UI changes, check light/dark theme, empty/loading/error states, responsive behavior, and locale-sensitive text when relevant.
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 · 31 lines · 59 tokens per session scan A 408e175ee141
product-app-surface is a skill published in the GitHub repository GCWing/Sparo-OS (20 stars, last pushed 29d ago), licensed MIT. It adds 59 tokens to every session and 477 once invoked, about $0.0003 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-30.
Other skills, from other repositories
anyui-template-authoring
Author and invoke high-quality, mobile-first AnyUI HTML templates for MioChat. Guides the creation of clean, responsive cards, game interfaces, forms, story choices, and Galgame/visual novel dialogue cards rendered via extraRender in Shadow DOM. Enforces decoupled zero-round-trip async image rendering (pure CSS…
kernel-chat-web-design
Guides the design, layout, styling, and interactivity of kernel.chat editorial spreads and standalone artifact editions. Use this skill when editing or creating pages, React components, CSS files, or single-file HTML artifacts in the kernel.chat project to enforce the POPEYE-inspired bilingual design grammar and the…
kernel-chat-design-qa
Audits kernel.chat pages for responsive visual craft, accessibility, motion safety, interaction truth, runtime health, and production rendering. Use when reviewing an issue or artifact, checking whether a design is finished, comparing desktop and mobile, validating reduced motion or print, finding overflow and broken…
Color Palette Generator
Create beautiful, accessible color schemes for any project.
animation-vocabulary
Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and…
micro-interactions
Use when designing small UI feedback moments like button states, toggles, form validation, loading indicators, or notification badges.