- Home
- Skills
- APIs & Backend
- SuiteScript Truth Check: Catch Hallucinated NetSuite APIs
Works with the AI Agents you already use
SuiteScript Truth Check: Catch Hallucinated NetSuite APIs
Agents write SuiteScript that reads fine and doesn't exist: `record.loadRecord`, `setFieldValue` on a 2.x record, `search.Operator.EQUALS`, an entry point called `beforeSave`.
$9.99
SuiteScript Truth Check: Catch Hallucinated NetSuite APIs
Example session with this skill installed
The agent wrote the User Event and SDF object in fixtures/agent_written. Before I deploy, check whether every NetSuite API it uses is real and valid for this script type.
- Read your context and instructions
- Compiled the suitescript truth check
Catalog: NetSuite 2026.2, checked 2026-11-13.
Result: 11 invalid, 1 unverified, 17 valid items in 1 script and 1 SDF object. Exit code 2.
| Line | Rule | Found | Real name or fix |
|---|---|---|---|
| 8 | ST004 | N/currentRecord in a User Event | client-only module, use context.newRecord |
| 8 | ST009 | 3 dependencies, 2 parameters | currentRecord is never bound |
| 8 to 21 | ST008 (2) | arrow functions and const under @NApiVersion 2.0 | annotate 2.1 |
| 12 | ST003 | record.Type.SALESORDER | record.Type.SALES_ORDER |
| 16 | ST002 | record.loadRecord | record.load |
| 23 | ST003 | search.Operator.EQUALS | EQUALTO or IS |
| 28 | ST010 | order.setFieldValue | order.setValue |
| 35, 36 | ST005 (2) | beforeSave, and no allowed entry point returned | beforeSubmit |
| XML 4 | ST012 | [/SuiteScripts/UE_Set_Memo.js] | [/SuiteScripts/ue_set_memo.js] |
Unverified (1): line 27, order.getSublistLineCount isn't in the catalog's Record member list. Closest: Record.getLineCount. I look it up in the official help before changing it.
Next: I fix the invalid items and rewrite the setValue call with an options object, since the tool doesn't check argument shapes. With those fixes and the lookup done, the rerun reports 0 invalid, 0 unverified, 25 valid items, exit code 0. That means the names matched the catalog. Nothing ran in NetSuite, and field ids weren't checked.
Connects securely to your tools. The creator never sees your data.
About this skill
Agents write SuiteScript that reads fine and doesn't exist: record.loadRecord, setFieldValue on a 2.x record, search.Operator.EQUALS, an entry point called beforeSave. NetSuite has no local runtime, so none of it fails until after upload, sometimes at the first record save. This skill gives your agent one Python script that compares every NetSuite name in a file with a catalog transcribed from the official module reference.
What your agent does
- Checks every N/ name against the catalog: 55 module names, 24 with full member lists, and enum values including 38 search operators.
- Sorts findings into three statuses: invalid (fix it), unverified (look it up) and valid.
- Catches SuiteScript 1.0 leftovers:
nlapicalls and 1.0 method names such assetFieldValueon a tracked record, each with the 2.x name. - Checks the script type: entry point keys per
@NScriptType, client-only modules in server scripts, 2.1 syntax under a 2.0 annotation, and mismatched define parameters. - Checks SDF script objects: the
scriptfilepath with exact letter case, the object type against the annotation, and script id prefixes. - Fixes the invalid items and reruns until none are left, then reports what is still unverified.
Built-in guard rails
- Unverified never means wrong. The agent looks the name up in the official help first.
- After a rename the agent checks the argument shape by hand. The tool doesn't check arguments or field ids.
- It won't call a result tested or safe to deploy. The check is static and never contacts an account.
- Every report prints the catalog release and date (NetSuite 2026.2, checked 2026-11-13).
What's inside
SKILL.md: eight-step workflow, rule table, hard rules, limits.scripts/ss_check.py,catalog.jsonandrules.json: standard library only, Markdown and JSON reports.- 5 reference files: rules ST001 to ST013, catalog format, entry points, 1.0 to 2.x names, SDF rules.
- 6 fixture files: an SDF project with the usual agent mistakes, a script that passes, the expected report.
- 245 unit tests in 9 test files.
Independent work, not made or endorsed by Oracle or NetSuite. A clean result means the names matched the catalog. It doesn't show that the script deploys or runs.
Find more skills like this on the Claude Skills Marketplace, the Codex Skills Marketplace and the Gemini Skills Marketplace, or browse Claude Skills for APIs & Backend.
Static text check with no NetSuite connection. A clean result doesn't prove a script deploys or runs. The catalog covers one release and isn't complete, so names outside it are unverified. Arguments, field ids and permissions aren't checked. Object methods are checked only on tracked variables.
How to use
- 1
Connect your agent to the Agensi MCP
Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup
- 2
Sign in to Agensi
Your agent shows a sign-in link. Sign in and click Allow.
- 3
Ask for what you need
Your agent loads this skill and uses it on your task. It always asks before buying a skill.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill goes through the trust checks below.
Security scanned
Checked by our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scan
Security scan passed today
Windows only
- Software
Python 3 (3 point 8 or later)
SuiteScript 2 filesoran SDF projectClaude CodeorCodexorCursor- Optional
- Official SuiteScript helpSDF project with Objects and FileCabinet