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 serac-labs/serac --skill workspace-buildergit clone --depth 1 https://github.com/serac-labs/seracWrote 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/serac-labs/serac/workspace-builder)<a href="https://agentmods.dev/skills/serac-labs/serac/workspace-builder"><img src="https://agentmods.dev/badge/skills/serac-labs/serac/workspace-builder/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/serac-labs/serac/workspace-builder"><img src="https://agentmods.dev/badge/skills/serac-labs/serac/workspace-builder.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.00062 | $0.06244 |
| Opus 5 | $0.00031 | $0.03122 |
| Sonnet 5 | $0.00012 | $0.01249 |
| Haiku 4.5 | $0.00006 | $0.00624 |
Grade A, and why
workspace-builder 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 today.
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 — 548 lines — stays where its author put it; the contents beside it link to each section on GitHub.
App Engine Studio & Workspace Builder for ServiceNow
App Engine Studio (AES) enables low-code application development with custom workspaces.
AES Architecture
Application (sys_scope)
├── Tables & Forms
├── Workflows
├── Workspaces (sys_aw_workspace)
│ ├── Lists
│ ├── Forms
│ └── Dashboards
└── Portals
Key Tables
| Table | Purpose |
|---|---|
sys_scope |
Application scope |
sys_app |
Application record |
sys_aw_workspace |
Agent Workspace definition |
sys_ux_experience |
Next Experience workspace — top of the UI Builder chain |
sys_ux_app_config |
Workspace settings; links to the experience |
sys_ux_macroponent |
Page content and custom components |
sys_ux_page_registry |
Registers a macroponent as a page of an app config |
sys_ux_app_route |
URL slug that reaches a registered page |
sys_ux_page |
UI Builder page rows — read them, never insert one directly |
Application Development (ES5)
Create Scoped Application
// Create scoped application (ES5 ONLY!)
var app = new GlideRecord("sys_scope")
app.initialize()
// Basic info
app.setValue("name", "IT Asset Tracker")
app.setValue("scope", "x_myco_asset_track")
app.setValue("short_description", "Track IT assets across the organization")
app.setValue("version", "1.0.0")
// Vendor
app.setValue("vendor", "My Company")
app.setValue("vendor_prefix", "x_myco")
// License
app.setValue("licensable", true)
app.insert()
Create Application Table
// Create table in scoped app (ES5 ONLY!)
function createAppTable(scope, tableDef) {
var table = new GlideRecord("sys_db_object")
table.initialize()
table.setValue("name", scope + "_" + tableDef.name)
table.setValue("label", tableDef.label)
table.setValue("super_class", tableDef.extends || "task")
// Scope assignment
table.setValue("sys_scope", getAppSysId(scope))
// Options
table.setValue("is_extendable", tableDef.extendable || false)
table.setValue("create_access_controls", true)
table.insert()
// Create fields
if (tableDef.fields) {
for (var i = 0; i < tableDef.fields.length; i++) {
createField(scope + "_" + tableDef.name, tableDef.fields[i])
}
}
return table.getUniqueValue()
}
// Example
createAppTable("x_myco_asset_track", {
name: "asset_item",
label: "Asset Item",
extends: "cmdb_ci",
fields: [
{ name: "u_purchase_date", label: "Purchase Date", type: "glide_date" },
{ name: "u_warranty_end", label: "Warranty End", type: "glide_date" },
{ name: "u_assigned_user", label: "Assigned User", type: "reference", reference: "sys_user" },
],
})
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.
- today First seen · 548 lines · 62 tokens per session scan A 30b9586ff149
workspace-builder is a skill published in the GitHub repository serac-labs/serac (78 stars, last pushed yesterday), licensed Apache-2.0. It adds 62 tokens to every session and 6,244 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-09-11.
Other skills, from other repositories
frontend-patterns
Frontend development patterns for React, Next.js, state management, performance optimization, and UI best practices. Use when building or reviewing React or Next.js components, state, or render performance.
react-testing
React component testing with React Testing Library, Vitest/Jest, MSW for network mocking, accessibility assertions with axe, and the decision boundary between component tests and Playwright/Cypress end-to-end runs. Use when writing or fixing tests for React components, hooks, or pages.
frontend-slides
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.
browser-extension-developer
Use this skill when developing or maintaining browser extension code in the browser/ directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.
ui-design
Designs and builds React/Next/Tailwind UI and audits visual and interaction defects. Use when asked to "build a landing page", "extract our design system", "add dark mode", "make this responsive", "remove UI slop", or "audit this component". For product decisions use product-design; for browser measurements use…
design-inventory
Use to run the Claude Design to ClosedLoop pipeline against the current web-ui. Stage A inventories a design export zip into schema-validated findings (typed design units - screens, regions like nav bars, standalone components like a chat dialog; UX and behavioral changes; Storybook component reuse mapping; token…