Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generates GlideRecord queries, Script Include classes, and client scripts for ServiceNow legacy scripting. Use for Business Rules, Scheduled Jobs, server-side Script Includes, and client-side g_form/g_user scripts. Redirects to sn-sdk-fluent when Fluent SDK is detected in the workspace.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-20 | ✓→✗ | ▼ Worse | 43% | 0% |
ServiceNow legacy scripting uses the GlideRecord API for server-side data access, Script Include classes for reusable server-side logic, Business Rules for server-side automation, and g_form/g_user/g_list for client-side form manipulation. All APIs are described in the reference files below.
Read these files when you need them — do not pre-load all references at session start. Paths are relative to the skill root (the directory containing this SKILL.md file).
| File | When to Read | |------|-------------| | references/gliderecord.md | Generating or reviewing GlideRecord queries, CRUD operations, or addQuery/getValue patterns | | references/server-side.md | Generating Script Includes, Business Rules, or using GlideSystem (gs.) logging | | references/client-side.md | Generating Client Scripts using g_form, g_user, or g_list; or any client-side form manipulation | | references/gotchas.md | Before generating or reviewing any ServiceNow script — check for hallucination traps |
| Script | When to use | |--------|------------| | scripts/validate-script.sh | When validating a ServiceNow script file for common issues before deploying |
Use these as structural templates — only read the example that matches your target type, do not pre-load all examples:
| File | Demonstrates | |------|-------------| | assets/examples/gliderecord-crud.js | Complete GlideRecord CREATE, READ (single and multi), UPDATE, DELETE with correct getValue() usage | | assets/examples/script-include-class.js | Script Include using Class.create() pattern with initialize(), utility methods, and type property | | assets/examples/client-script-gform.js | Client Script onLoad/onChange handlers using g_form.getValue(), g_form.setMandatory(), g_user.hasRole() |
If the workspace contains now.config.json, .now.ts files, or imports from @servicenow/sdk/core, the developer is working in a Fluent SDK application. Stop and redirect: "I can see you're working in a Fluent SDK project. Use the sn-sdk-fluent skill to generate typed metadata definitions instead of GlideRecord scripts. GlideRecord is the legacy scripting API and does not work inside Fluent SDK .now.ts files."
references/gliderecord.md for CRUD patterns, references/server-side.md for Script Include structure and Business Rule context variables.references/client-side.md for g_form/g_user/g_list APIs. Never generate GlideRecord in a client script (Hard Rule 2).assets/examples/ as working templates.references/gliderecord.md documented API (Hard Rule 5).scripts/validate-script.sh <file> to check for GlideRecord in client scripts, bare setAbortAction, and g_form misuse.Other measured skills in the registry, with their headline benchmark lift.