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/serac-labs/serac/csm-patternsnpx skills add serac-labs/serac --skill csm-patternsgit 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/csm-patterns)<a href="https://agentmods.dev/skills/serac-labs/serac/csm-patterns"><img src="https://agentmods.dev/badge/skills/serac-labs/serac/csm-patterns.svg" alt="Measured on agentmods" 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 | $0.00039 | $0.02723 |
| Opus 5 | $0.00019 | $0.01362 |
| Sonnet 5 | $0.00008 | $0.00545 |
| Haiku 4.5 | $0.00004 | $0.00272 |
Grade A, and why
csm-patterns 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 5d 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 — 415 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Customer Service Management for ServiceNow
CSM enables organizations to deliver exceptional customer service through cases, accounts, and self-service.
CSM Architecture
Account (customer_account)
├── Contacts (customer_contact)
├── Contracts (ast_contract)
│ └── Entitlements (service_entitlement)
├── Assets (alm_asset)
└── Cases (sn_customerservice_case)
├── Case Tasks
└── Communications
Key Tables
| Table | Purpose |
|---|---|
customer_account |
Customer accounts |
customer_contact |
Account contacts |
sn_customerservice_case |
Customer cases |
service_entitlement |
Service entitlements |
ast_contract |
Service contracts |
Customer Accounts (ES5)
Create Customer Account
// Create customer account (ES5 ONLY!)
var account = new GlideRecord("customer_account")
account.initialize()
// Basic info
account.setValue("name", "Acme Corporation")
account.setValue("account_code", "ACME-001")
account.setValue("industry", "Technology")
// Contact info
account.setValue("phone", "+1-555-123-4567")
account.setValue("email", "[email protected]")
account.setValue("website", "https://www.acme.com")
// Address
account.setValue("street", "123 Main Street")
account.setValue("city", "San Francisco")
account.setValue("state", "CA")
account.setValue("zip", "94105")
account.setValue("country", "US")
// Account details
account.setValue("account_type", "customer") // customer, partner, vendor
account.setValue("tier", "gold") // bronze, silver, gold, platinum
// Assignment
account.setValue("account_manager", accountManagerSysId)
account.insert()
Create Contact
// Create contact for account (ES5 ONLY!)
var contact = new GlideRecord("customer_contact")
contact.initialize()
// Link to account
contact.setValue("account", accountSysId)
// Contact info
contact.setValue("name", "John Smith")
contact.setValue("email", "[email protected]")
contact.setValue("phone", "+1-555-123-4568")
contact.setValue("title", "IT Manager")
// Contact type
contact.setValue("type", "primary") // primary, billing, technical
contact.setValue("active", true)
// Create user for portal access
var user = createUserFromContact(contact)
contact.setValue("user", user)
contact.insert()
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.
- 5d ago First seen · 415 lines · 39 tokens per session scan A f30503cd015d
csm-patterns is a skill published in the GitHub repository serac-labs/serac (78 stars, last pushed 10d ago), licensed Apache-2.0. It adds 39 tokens to every session and 2,723 once invoked, about $0.0002 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
contract-review-workflow
Trigger a deployed Mistral Workflow for contract review, poll execution status, detect human-in-the-loop checkpoints via workflowinteract(query), collect approval or changes, and resume the workflow via workflowinteract(signal). Use when the user wants to run a contract through a Mistral Workflow with oversight…
french-commit-message
Génère un message de commit git en français au format Conventional Commits à partir des changements stagés. Récupère automatiquement le diff via git diff --staged. À utiliser quand l'utilisateur demande un commit message, message de commit, ou résumé de diff en français.
french-invoice-reminder
Rédige une relance de facture B2B en français avec un ton contrôlé (poli, ferme, ou final). À utiliser quand l'utilisateur demande une relance facture, un rappel de paiement, un mail de recouvrement, ou une dunning letter en français.
redazione-contratto
Supporto alla redazione contrattuale con verifica normativa, clausole tipo e compliance GDPR. Usa quando l'utente chiede di redigere, revisionare, analizzare un contratto, verificare clausole o predisporre un accordo.
quantificazione-danni
Quantifica danni biologici, patrimoniali o morali con personalizzazione e attualizzazione monetaria. Usa quando l'utente chiede di calcolare un risarcimento, quantificare danni da invalidita, danno emergente, lucro cessante o danno morale/esistenziale.
confronto-norme
Confronta due o piu norme evidenziando differenze, sovrapposizioni, criteri di prevalenza e coordinamento. Usa quando l'utente chiede di confrontare articoli, verificare quale norma prevale, risolvere un conflitto normativo o capire il rapporto tra due disposizioni.