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/classic-workflownpx skills add serac-labs/serac --skill classic-workflowgit 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/classic-workflow)<a href="https://agentmods.dev/skills/serac-labs/serac/classic-workflow"><img src="https://agentmods.dev/badge/skills/serac-labs/serac/classic-workflow.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.00060 | $0.01615 |
| Opus 5 | $0.00030 | $0.00807 |
| Sonnet 5 | $0.00012 | $0.00323 |
| Haiku 4.5 | $0.00006 | $0.00161 |
Grade A, and why
classic-workflow 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 — 151 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The Classic Workflow Engine
Flow Designer is what ServiceNow recommends and flow-designer is the skill for it. This is the other
engine — the one that still fulfils catalog items on most instances that have been live more than a few
years. blast-radius says outright that legacy workflows are not scanned, so an agent that cannot read
one is blind to a large part of what a record actually does.
Every tool here carries a ⚠️ LEGACY marker in its description. That is guidance about what to build,
not permission to ignore what exists.
The version model — read this before changing anything
This is the part that catches people out, and the tools do not hide it from you:
wf_workflow the workflow's identity. Name, table, description. Almost no content.
└── wf_workflow_version THE ACTUAL WORKFLOW. One per checkout. Has `published`.
├── wf_activity steps — belong to a VERSION, not to the workflow
└── wf_transition edges between activities — also per version
wf_context one running instance of a published version against one record
A workflow is not edited in place. Checking it out creates a new wf_workflow_version with
published = false; you edit that; publishing flips it to published = true and retires the previous
one. Records already running keep executing the version they started on — which is why a fix does not
apply to work in flight, and why wf_context rows can point at versions nobody can find in the UI.
So the first question about any classic workflow is which version:
await snow_query_table({
table: "wf_workflow_version",
query: "workflow.name=Standard Change Approval^published=true",
fields: "sys_id,name,published,sys_updated_on",
})
The trap in the write tools
snow_create_workflow_activity and snow_start_workflow both set the workflow_version field, and
both resolve a name by looking it up in wf_workflow — which returns a workflow sys_id, not a
version sys_id. wf_activity.workflow_version and wf_context.workflow_version reference
wf_workflow_version. Passing a name therefore points the new row at a version that does not exist.
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 · 151 lines · 60 tokens per session scan A 9d674747814a
classic-workflow is a skill published in the GitHub repository serac-labs/serac (78 stars, last pushed 10d ago), licensed Apache-2.0. It adds 60 tokens to every session and 1,615 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
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.
shippo-support-ticket
Generate a complete, auto-classified, ready-to-paste Shippo support ticket for a single shipment or label. Use when a support agent or customer needs to escalate a shipping issue (lost/delayed package, unused-label refund, billing/rate adjustment, address exception, customs hold, carrier-account, or tracking-webhook…
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.
verify-product
Проверить подлинность товара по коду маркировки Честный ЗНАК.