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 virtual-agentgit 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/virtual-agent)<a href="https://agentmods.dev/skills/serac-labs/serac/virtual-agent"><img src="https://agentmods.dev/badge/skills/serac-labs/serac/virtual-agent/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/virtual-agent"><img src="https://agentmods.dev/badge/skills/serac-labs/serac/virtual-agent.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.00044 | $0.02953 |
| Opus 5.5 | $0.00018 | $0.01181 |
| Sonnet 5.5 | $0.00009 | $0.00591 |
| Haiku 4.5 | $0.00004 | $0.00295 |
Grade A, and why
virtual-agent 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 1mo 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 — 391 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Virtual Agent for ServiceNow
Virtual Agent (VA) provides conversational AI capabilities for self-service through chat interfaces.
Virtual Agent Architecture
Topic Structure
Topic: Password Reset
├── NLU Model
│ ├── Utterances: "reset my password", "forgot password"
│ └── Entities: application_name
├── Topic Blocks (Flow)
│ ├── Greeting
│ ├── Ask for Application
│ ├── Verify User
│ ├── Process Reset
│ └── Confirmation
└── Variables
├── user_email
└── application
Key Tables
| Table | Purpose |
|---|---|
sys_cs_topic |
Topic definitions |
sys_cs_topic_block |
Conversation flow blocks |
sys_cs_intent |
NLU intents |
sys_cs_utterance |
Training phrases |
sys_cs_entity |
Custom entities |
Topics
Creating a Topic (ES5)
// Create Password Reset topic
var topic = new GlideRecord("sys_cs_topic")
topic.initialize()
topic.setValue("name", "Password Reset")
topic.setValue("description", "Help users reset their passwords")
topic.setValue("active", true)
// NLU configuration
topic.setValue("goal", "I want to reset my password")
topic.setValue("nlu_enabled", true)
// Category
topic.setValue("category", "IT Support")
var topicSysId = topic.insert()
Topic Variables
// Add variable to topic
var variable = new GlideRecord("sys_cs_topic_variable")
variable.initialize()
variable.setValue("topic", topicSysId)
variable.setValue("name", "user_email")
variable.setValue("label", "Email Address")
variable.setValue("type", "string")
variable.setValue("mandatory", true)
variable.insert()
Topic Blocks
Block Types
| Type | Purpose | Example |
|---|---|---|
| Text | Display message | "I can help with that!" |
| Prompt | Ask question | "What's your email?" |
| Script | Run server code | Lookup user, create ticket |
| Decision | Branching logic | If VIP then... |
| Link | External link | Open portal page |
| Handoff | Agent transfer | Connect to live agent |
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.
- 1mo ago First seen · 391 lines · 44 tokens per session scan A 414942b6e033
virtual-agent is a skill published in the GitHub repository serac-labs/serac (78 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 44 tokens to every session and 2,953 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-09-11.
Other skills, from other repositories
sn-safe-write
Change ServiceNow data safely — plan first, apply only after review, verify, and know how to revert. Use whenever a create, update, upsert or delete on an instance is requested.
sn-discover
Map a ServiceNow instance into Markdown (version and counts, custom applications, per-scope tables and artefacts) with the server's own document generator. Use when asked to discover, survey, inventory or document an instance or its custom apps.
sn-drift
Find configuration drift between two ServiceNow instances or against a saved snapshot, or review what an update set will change. Use when comparing dev / test / prod, checking a promotion, or reviewing an update set.
sn-impact
Estimate the blast radius of changing a ServiceNow table, field or script — what references it and what automation runs around it. Use before renaming, deleting or changing a field, table, script include or business rule.
sn-triage
Triage a ServiceNow incident or a failing behaviour — instance health, recent errors, what automation runs on the table, and what changed on the record. Use when something is broken, slow or erroring on an instance.
sn-security
Review the security posture of a ServiceNow instance — the ACL scan, hardening properties and cross-scope access — or explain why one user can or cannot read, write, create or delete a table, record or field. Use for a security review, a hardening check, or a "why can't this user see / edit it" question.