SDF Custom Skill XML Definitions and Validation

Updated for NetSuite 2026.2 with custom skill XML structure, content locations, deployment validation, and example guidance.

·3 min read·62 views·NetSuite 2026.2·View Oracle Docs

Starting in NetSuite 2026.2, SDF custom skills pair an agentskill XML definition with a content folder containing SKILL.md. During SuiteCloud project deployment, validation checks the folder, required file, matching XML and front-matter metadata, and skill instructions. Folder locations differ between SuiteApp projects and account customization projects, so the skillfolder reference must follow the project type.

How Is an SDF Custom Skill Structured?

An SDF custom skill has two related components:

  • An agentskill XML definition.
  • A skill content folder containing SKILL.md.

The XML definition connects to the content through the <skillfolder> element. The referenced folder and its files must exist in the SuiteCloud project when the project is validated and deployed.

For related local setup, review SuiteCloud CLI installation for NetSuite 2026.2.

Which XML Items Define a Custom Skill?

XML ItemDescription
scriptid attributeIdentifies the agentskill SDF custom object.
<name>Specifies the skill name. It must exactly match the name value in the SKILL.md front matter, including capitalization.
<description>Specifies the skill description. It must exactly match the description value in the SKILL.md front matter, including capitalization.
<skillfolder>Specifies the File Cabinet folder containing SKILL.md.
<isinactive>Indicates whether the skill is inactive. Use F for an active skill.
<ispublic>Indicates whether the skill is public and available for other users to invoke. Only users with the Administrator role can set this value to T.

The exact-match requirement applies to both the <name> and <description> values. Capitalization must match the corresponding SKILL.md front-matter values.

Where Does Skill Content Belong?

The skill content location and <skillfolder> reference depend on the SuiteCloud project type.

Project TypeSkill Content Location<skillfolder> Reference
SuiteApp projectThe SuiteApp directory[/SuiteApps/<application_id>/<skill_folder>/]
Account customization project (ACP)The Skills directory at the File Cabinet root[/Skills/<skill_folder>/]

The skill content folder must include a file named SKILL.md. That file must contain a nonempty Markdown instruction body for the skill.

What Does Deployment Validate?

During SuiteCloud project deployment, the skill is validated for the following:

  • The <skillfolder> reference identifies an existing folder in the project.
  • The folder contains SKILL.md.
  • The XML <name> and <description> values exactly match the corresponding SKILL.md front-matter values.
  • The SKILL.md file contains the skill instructions.

A folder reference, the required Markdown file, and the matching front-matter values must therefore be present together in the project at validation and deployment time. For broader workflow guidance, see SuiteCloud Developer Assistant best practices.

What Does an Active Skill Definition Look Like?

This SuiteApp example defines an active custom skill:

xml
1<agentskill scriptid="customskill_simple_test_skill">
2 <name>simple-test-skill</name>
3 <description>Tiny deterministic test skill for confirming skill discovery and invocation.</description>
4 <skillfolder>[/SuiteApps/com.netsuite.sdfskills/simple-test-skill/]</skillfolder>
5 <isinactive>F</isinactive>
6 <ispublic>F</ispublic>
7</agentskill>

In this example, <isinactive>F</isinactive> marks the skill as active, while <ispublic>F</ispublic> does not mark it as public.

Who This Affects

  • SuiteCloud developers working with custom skills: The project must include both the agentskill XML definition and the referenced skill content folder with SKILL.md.
  • Administrators: Only users with the Administrator role can set <ispublic> to T.
  • SuiteApp teams: Skill content belongs in the SuiteApp directory and uses the SuiteApp-style folder reference.
  • ACP teams: Skill content belongs in the File Cabinet root Skills directory and uses the ACP-style folder reference.

Key Takeaways

  • Each SDF custom skill consists of an agentskill XML definition and a skill content folder containing SKILL.md.
  • XML name and description values must exactly match the corresponding SKILL.md front matter, including capitalization.
  • SuiteApp projects and ACPs use different skill content locations and <skillfolder> references.
  • Deployment validates the referenced folder, the required SKILL.md file, matching metadata, and skill instructions.
  • Only users with the Administrator role can set a skill’s <ispublic> value to T.

Frequently Asked Questions (4)

Does the SDF custom skill structure and <skillfolder> reference differ between SuiteApp and account customization projects?
Yes. SuiteApp projects place skill content in the SuiteApp directory and use a SuiteApp-style reference like [/SuiteApps/<application_id>/<skill_folder>/], while account customization projects put skill content in the File Cabinet root Skills directory and use [/Skills/<skill_folder>/]. The <skillfolder> reference must follow the project type for validation and deployment.
What files and metadata must be present in the skill content folder for deployment to succeed?
The folder must contain a file named SKILL.md with a nonempty Markdown instruction body, and the SKILL.md front-matter must include name and description values. During deployment the XML <name> and <description> must exactly match those front-matter values, including capitalization.
Which checks does SuiteCloud project deployment perform for a custom skill?
Deployment validates that the <skillfolder> reference points to an existing project folder, that the folder contains SKILL.md, that the XML <name> and <description> exactly match the SKILL.md front-matter values, and that SKILL.md contains the skill instructions. All of these must be present together at validation and deployment time.
How do I mark a skill active and who can make a skill public?
A skill is marked active by setting <isinactive>F</isinactive> in the agentskill XML definition. Only users with the Administrator role can set <ispublic> to T to make a skill public.

Weekly Update History (2)

SuiteCloud Development Frameworkupdated

Updated Skills as XML Definitions to include the displayname and audienceinternalroles fields.

View Oracle Docs
SuiteCloud Development Frameworkadded

Added Skills as XML Definitions, which describes how to define and deploy a custom skill using SuiteCloud Development Framework (SDF).

View Oracle Docs
Source: Custom Skill Definition — Oracle NetSuite Help Center. This article was generated from official Oracle documentation and enriched with additional context and best practices.

Was this article helpful?

More in SuiteCloud Development Framework

View all SuiteCloud Development Framework articles →

Also from NetSuite 2026.2

View all NetSuite 2026.2 changes →