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.
.claude/skills/bilal140202-sn-scripting/SKILL.md| 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.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 8,759 | 1,850 | -79% | 1 | 1 | 0% | 1,768 | 1,356 | -23% | 0 | 0 | — |
case-02 | fail→pass | 7,859 | 6,361 | -19% | 1 | 1 | 0% | 1,588 | 2,253 | +42% | 0 | 0 | — |
case-03 | pass→pass | 6,174 | 2,827 | -54% | 1 | 1 | 0% | 1,134 | 1,566 | +38% | 0 | 0 | — |
case-04 | pass→pass | 9,787 | 5,105 | -48% | 1 | 1 | 0% | 1,742 | 1,890 | +8% | 0 | 0 | — |
case-05 | pass→pass | 4,566 | 3,671 | -20% | 1 | 1 | 0% | 1,029 | 1,828 | +78% | 0 | 0 | — |
case-23 | pass→pass | 11,783 | 8,967 | -24% | 1 | 1 | 0% | 2,220 | 2,727 | +23% | 0 | 0 | — |
case-06 | pass→pass | 6,000 | 7,435 | +24% | 1 | 1 | 0% | 1,231 | 2,126 | +73% | 0 | 0 | — |
case-07 | pass→pass | 8,242 | 5,678 | -31% | 1 | 1 | 0% | 1,471 | 2,188 | +49% | 0 | 0 | — |
case-08 | pass→pass | 4,025 | 3,602 | -11% | 1 | 1 | 0% | 772 | 1,807 | +134% | 0 | 0 | — |
case-09 | fail→pass | 9,055 | 1,767 | -80% | 1 | 1 | 0% | 1,511 | 1,337 | -12% | 0 | 0 | — |
case-10 | pass→pass | 8,085 | 4,007 | -50% | 1 | 1 | 0% | 1,505 | 1,729 | +15% | 0 | 0 | — |
case-11 | pass→pass | 4,943 | 2,773 | -44% | 1 | 1 | 0% | 963 | 1,541 | +60% | 0 | 0 | — |
case-12 | pass→pass | 3,466 | 3,394 | -2% | 1 | 1 | 0% | 830 | 1,629 | +96% | 0 | 0 | — |
case-13 | pass→pass | 6,043 | 6,545 | +8% | 1 | 1 | 0% | 1,121 | 2,285 | +104% | 0 | 0 | — |
case-14 | pass→pass | 3,190 | 2,444 | -23% | 1 | 1 | 0% | 674 | 1,467 | +118% | 0 | 0 | — |
case-15 | pass→pass | 7,809 | 7,483 | -4% | 1 | 1 | 0% | 1,485 | 2,434 | +64% | 0 | 0 | — |
case-16 | pass→pass | 5,112 | 5,099 | -0% | 1 | 1 | 0% | 1,315 | 2,138 | +63% | 0 | 0 | — |
case-17 | pass→pass | 9,403 | 8,264 | -12% | 1 | 1 | 0% | 1,985 | 2,639 | +33% | 0 | 0 | — |
case-18 | pass→pass | 3,506 | 3,312 | -6% | 1 | 1 | 0% | 682 | 1,808 | +165% | 0 | 0 | — |
case-19 | fail→pass | 7,063 | 2,567 | -64% | 1 | 1 | 0% | 1,094 | 1,510 | +38% | 0 | 0 | — |
case-20 | pass→fail | 4,670 | 2,026 | -57% | 1 | 1 | 0% | 995 | 1,426 | +43% | 0 | 0 | — |
case-21 | pass→pass | 2,989 | 3,651 | +22% | 1 | 1 | 0% | 617 | 1,715 | +178% | 0 | 0 | — |
case-22 | pass→pass | 12,659 | 8,674 | -31% | 1 | 1 | 0% | 2,577 | 2,740 | +6% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +13 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.