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 agentmods add skills/qorm/platform/skillnpx skills add qorm/platform --skill skillgit clone --depth 1 https://github.com/qorm/platformWhat 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 | $0.00071 | $0.07458 |
| Opus 5 | $0.00036 | $0.03729 |
| Sonnet 5 | $0.00014 | $0.01492 |
| Haiku 4.5 | $0.00007 | $0.00746 |
Grade A, and why
qorm 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 — 442 lines — stays where its author put it; the contents beside it link to each section on GitHub.
QORM skill
QORM (Query · Observe · Render · Mutate — exactly what you do to a live app)
runs a small JSON app: a manifest
(qorm.json), scenes/*.json (the UI node trees), and actions/*.json (declarative
behaviour). A pure-Go runtime renders it, signs it, and packages it everywhere.
Write the runnable format (trust this, not the aspirational spec)
- Manifest:
{ "type":"app", "id":…, "entry":"main", "globalState":{ "schema":{…}, "initial":{…} } }. - Window config: an optional
qorm.config.jsonbesideqorm.jsonsets the host window:{ "window": { "width":1024, "height":480, "title":"…", "resizable":false, "chromeless":true, "transparent":true, "hideLog":true, "hideTray":true } }. It is host/build-time config — never bundled or signed — and WINS over the manifest'sdisplay/platforms.desktop.window; put window settings that must ship with a signed bundle in the manifest instead.chromeless+transparentmake a shaped (异形) window: no system chrome, clear background, your content defines the visible shape (seeexamples/floating).qorm_inspectreports the resolved values; width/height 0 = fluid. - Text: the
textfield (NOTvalue); bind with{{ state.x }}— e.g.{ "type":"text", "text":"Count: {{ state.count }}" }. - RichText: the
richtextwidget takes aspansarray (each withtextandstyle). - Video: use
{ "type":"video", "src":"...", "loop":true, "autoplay":true, "muted":true }for video playback or looping backgrounds. - Paths: the
pathwidget takes adproperty for SVG path data, which can morph withtransitionand state bindings. - Buttons:
"onPress":"increment"(an action name; a string invokes it) — or{ "name":…, "args":{…} }. - Actions (
actions/<id>.json):{ "type":"action","id":…,"steps":[ { "type":"state.set","path":"count","value":"{{ state.count + 1 }}" } ] }. Step types:state.set/increment/toggle/append/...andhttp.get. - Components: declared in
qorm.jsonunder"components", referenced by a node whosetypeequals the component name; template uses{{ prop.x }}with a{ "type":"slot" }placeholder. - Authoritative, code-generated references: the widget catalog (
api/widgets.md), the action step vocabulary (api/actions.md— every steptypeand its fields, the source of truth for what the runtime accepts), the navigation guide (api/navigation.md—navigate, route params, guards, transitions), and capabilities (docs/platforms/capabilities.md). The JSON format spec is design-intent and diverges — prefer getting-started +examples/.
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 · 442 lines · 71 tokens per session scan A e4754f4b6611
qorm is a skill published in the GitHub repository qorm/platform (38 stars, last pushed 11d ago), licensed MIT. It adds 71 tokens to every session and 7,458 once invoked, about $0.0004 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
audit-skills
Expert security auditor for AI Skills and Bundles. Performs non-intrusive static analysis to identify malicious patterns, data leaks, system stability risks, and obfuscated payloads across Windows, macOS, Linux/Unix, and Mobile (Android/iOS).
macos-swiftpm
Build, run, and test SwiftPM macOS packages and executables. Use when the repo is package-first or has no Xcode project.
firebase-messaging
Use when setting up Firebase Cloud Messaging, managing permissions and tokens, handling background/foreground notification taps, or dispatching messages server-side (HTTP v1).
curate-a-team-library
Use when building a managed team skills library for a real stack. Map work to shelves, browse before curating, write meaningful whyHere notes, and create a starter pack once the first pass is solid.
firebase-ai
Use when setting up firebaseai, generating text/chat with Gemini, streaming AI output, building multimodal prompts, or handling AI errors.
e2e-testing
AI-powered E2E testing for any app — Flutter, React Native, iOS, Android, Electron, Tauri, KMP, .NET MAUI. Connects via MCP to running apps so the agent can take screenshots, tap elements, enter text, scroll, inspect UI trees, and verify state with natural language. Use when the user wants to test an app's UI…