Skip to main content

Skill

Prerequisites

  • Feature menu: Access to the AI Studio / Resources menu is required.
  • Operation permission: Read-Write access is required to add, remove, and configure Skills; Read-Only access supports browsing and viewing details.
  • Data permission: Access to at least one resource domain under an environment is required.

Overview

A Skill is a reusable standardized task capability with fixed execution logic, invokable directly by Agents or Sage AI. The Skill tab in Resources provides Public and My Resources views:

  • Public: Built-in Skills and shared Skills listed by creators; cards offer Add to install into My Resources
  • My Resources: Manage added or self-published Skills; supports open, remove, configure, and version update

Built-in Skills in Public are ready out of the box. After adding, open, remove, and configure them in My Resources. Public cards only support Add; open and settings require the Skill to be in My Resources.

image-20260821163745492


Public vs My Resources

The Skill tab provides a Public / My Resources toggle at the top left. The two views differ in scope and actions:

AspectPublicMy Resources
What you seeBuilt-in Skills and Skills publicly listed after listing reviewSkills added in the current resource domain, plus Skills you published from Workspace
SourcePlatform presets + resources approved for public listing by other creatorsLocal copies after adding from Public, or resources published from Workspace
VisibilityBrowsable and addable by all permitted users in the resource domainInstances added or published in the current resource domain only—isolated per domain
Card actionsAdd: install the Skill into My ResourcesOpen (details and debug preview), Configure (environment parameters, etc.), Remove; Update when a new version is available
ConfigurationBrowse and add only—no environment configuration hereComplete required configuration after adding; Configured status shown when done
Details and debugView Skill descriptions for selectionOpen details in My Resources; use the read-only debug panel on the right
Version policyShows the latest listed public version; after adding, you choose whether to upgrade locallyAdded Skills can independently follow or defer public version upgrades
ListingAppears here after a creator’s listing request is approvedSelf-published Skills appear here by default; they enter Public only after listing approval

Typical flow: Add from Public → switch to My Resources to Open / Configure → invoke via / or @ in Sage AI. After removal, Sage AI and Agents or Automation tasks that reference the Skill may be affected.

Difference from Agents: Public Skills support Add only; Open, Configure, and Remove happen in My Resources. Agents provide Use to jump straight into Sage AI; Skills focus on standardized task execution and parameter setup.


Quick classification (by tag)

Under the search box, Resources provides tag tabs (AND with search). All is first (total resource count); then each tag with its count. One resource may appear under multiple tags. Untagged resources appear only under All. Tags with count 0 may be hidden.


Value

  • Standardized encapsulation, build once use everywhere
    Encapsulate repetitive actions such as notifications, report generation, and external lookups for shared use across Agents and Sage AI.

  • Built-in Skills with zero setup
    Preset Skills can be added from Public and used immediately.

  • Configurable after adding
    Skills in My Resources support detail view and necessary configuration (e.g., Configured status indicator) for environment-specific parameters.

  • Controlled versions
    Similar to Agents—when a new public version is published, users who added the Skill can review notes before upgrading.


Use Cases

Add Built-in Skills and Invoke in Sage AI

  • Who it's for: Operations staff using platform standard capabilities.
  • Typical tasks: Add built-in Skills such as log parsing or host inspection; invoke via / or @ in Sage AI.
  • Recommended approach:
    1. Resources > Skill > Public, find the target Skill;
    2. Click Add;
    3. Switch to My Resources, confirm Configured status (complete configuration if needed);
    4. In Sage AI, type / or @ to reference the Skill.
  • Expected outcome: The Skill is callable in conversations and Agent orchestration in the current resource domain.

Use Team-Shared Skills

  • Who it's for: Business and platform operations teams.
  • Typical tasks: Add listed Skills such as WeCom notification or ticket creation for team automation workflows.
  • Recommended approach:
    1. Search in Public and review Skill details (description, version, tags);
    2. After adding, open details in My Resources and read usage notes;
    3. Reference in Sage AI or Agents.
  • Expected outcome: Tasks run per the Skill's standardized flow.

Manage Skills in My Resources

  • Who it's for: Resource domain admins or users with many added Skills.
  • Typical tasks: Remove unused Skills; update Skills with new versions; verify configuration completeness.
  • Recommended approach:
    1. Go to Skill > My Resources;
    2. Remove idle Skills (confirm impact on Sage AI, Automation, and Agents);
    3. Update Skills with version prompts after reading change notes;
    4. Open details and complete configuration for Skills requiring environment parameters.
  • Expected outcome: My Resources stays lean, versions current, and configurations valid.

Creators: Publish Skills to Public

  • Who it's for: Skill developers.
  • Typical tasks: After developing in Workspace, make Skills available for users in other resource domains.
  • Recommended approach:
    1. Publish in Workspace → appears automatically in My Resources;
    2. Self-test, then submit listing review;
    3. After approval, others see and add from Public.
  • Expected outcome: Skill expands from team-internal use to platform-wide sharing.

Skill Version Upgrades and Downstream Impact

  • Who it's for: Owners of Agents and automation tasks that reference the Skill.
  • Typical tasks: After a Skill upgrade, verify behavior of referencing Agents and automation tasks.
  • Recommended approach:
    1. Read update notes in My Resources;
    2. Confirm upgrade;
    3. Test in Sage AI and check automation task logs.
  • Expected outcome: Skill, referencing Agents, and automation tasks use the new version (consistent with Resources version policy).

Operation Scenarios

  1. Open the Skill list

    • Resources > Skill tab.
    • Switch Public / My Resources.
    • Use scenario tags, More, or advanced filters.
  2. Add a Skill (Public)

    • Click Add on the card.
    • After installation, the Skill appears in My Resources.
  3. Open / Configure / Remove (My Resources)

    • Open: Skill detail and debug preview.
    • Configure: Complete required settings (UI-dependent); shows Configured when done.
    • Remove: Uninstall after confirmation; referencing Agents and Automation may be affected.
  4. Version update (My Resources)

    • Click Update when a new version is available; read change notes before confirming.
  5. View Skill details

    • Click the card body for the detail page.
    • Left: Skill package content and description; right: debug preview (read-only testing, does not modify the Skill).

Getting Started

Add and Use a Built-in Skill

  1. Resources > Skill > Public, select target Skill, click Add.
  2. Switch to My Resources, click Open for details.
  3. Complete configuration if required.
  4. In Sage AI, type /SkillName or @ reference and send your task description.

image-20260724145841205

Skill Details and Debug

  1. In My Resources, click the Skill card or Open.
  2. Read Skill description and structure on the left.
  3. Enter test commands in the debug panel on the right to preview execution (does not modify the Skill).

image-20260724150152709


Skill Validation Spec

When you import a Skill in Workspace · Skill Authoring, the platform validates the package against the rules below. If validation fails, the failure reason is shown so you can fix the package and upload again.

1. ZIP Legitimacy Checks

CheckDescription
Empty upload packageBlocked. Package contains no bytes.
Outer file name suffixBlocked. Upload file name must end with .zip or .skill (outer package name only).
Outer package sizeBlocked. Default max 10MB; config skill.import.max_package_mb.
Cannot open ZIPBlocked. Not a valid ZIP file (BadZipFile).
No files in ZIPBlocked. Archive contains no file entries.
Encrypted ZIP entriesBlocked. Encrypted compressed entries are not supported.
Absolute pathBlocked. Member paths must not start with / or be absolute.
Path contains ..Blocked. Path segments must not include ...
Directory depth exceededBlocked. Default max 5 levels after ZIP root; Nacos max_dir_depth.
Single file too largeBlocked. Default max uncompressed size per file 10MB; Nacos max_single_file_mb.
Compression ratio too high (ZIP bomb)Blocked. Default max file_size/compress_size ratio 50×; Nacos max_compress_ratio.
Total uncompressed size exceededBlocked. Default max sum of uncompressed sizes 100MB; Nacos max_total_unzip_mb.

2. skill-vetter Checks

Skill-Vetter uses an LLM and the built-in skill-vetter protocol to perform static security review of the upload. The gateway parses only VERDICT / NOTES from the final report body and allows install only when normalized to “installable”. Review is offline and static—it does not execute scripts inside the package.

2.1 Prerequisites and Runtime Conditions

CheckDescription
No available LLM for tenantBlocked.
Vetter call timeoutBlocked. Default timeout 120 seconds per review.
Rate limit / context overflow with no fallback modelBlocked. May auto-switch to other LLMs and retry; fails when exhausted.
Other vetter call exceptionsBlocked. Non-retryable errors fail immediately.
Per-file prompt size limitNot blocked. About 24,000 characters per file; excess is truncated and marked.
Total prompt character budgetNot blocked. About 120,000 characters for the whole package; excess files marked as omitted.
Ignored directories/filesNot scanned. Skips __pycache__ / .git / .svn / node_modules / .DS_Store / .pyc, etc.

2.2 REJECT-level Red Flags (DO NOT INSTALL)

CheckDescription
curl/wget to unknown URLBlocked. Includes downloads from unclear addresses.
Sending data to external serversBlocked. Data exfiltration behavior.
Requesting credentials / token / API keyBlocked. Inducing secret collection.
Reading /.ssh, /.aws, ~/.config without clear reasonBlocked. Sensitive directory access.
Accessing MEMORY.md / USER.md / SOUL.md / IDENTITY.mdBlocked. Agent private memory files.
Base64-decoding arbitrary contentBlocked. Common obfuscation / payload technique.
eval() / exec() with external inputBlocked. Arbitrary code execution.
Modifying system files outside workspaceBlocked. Out-of-bound writes.
Installing undeclared dependenciesBlocked. Covert install behavior.
Network requests using IP instead of domainBlocked. Suspicious C2 pattern.
Obfuscated code (minified / encoded to hide intent)Blocked.
Requesting sudo / privilege escalationBlocked.
Accessing browser cookies / sessionsBlocked.
Touching credential filesBlocked. e.g. id_rsa, .env, docker/config.json, kubeconfig.

2.3 Extended High-risk Command Patterns (Full-package Scan)

CheckDescription
Destructive file operationsBlocked. rm -rf, del /f /s /q, Remove-Item -Recurse -Force, shred, etc.
Disk / filesystem operationsBlocked. dd if=, mkfs, fdisk, diskpart, format, etc.
Privilege escalation / persistenceBlocked. sudo, runas, crontab, schtasks, systemctl enable, reg add, etc.
Arbitrary code executionBlocked. eval, exec, bash -c, powershell -Command, python -c (external input), etc.
Download and executeBlocked. curl|sh, wget|sh, Invoke-WebRequest|iex, certutil download, etc.
Credential / secret harvestingBlocked. Reading ~/.ssh/*, id_rsa, known_hosts, .env, etc.
Exfiltration channelsBlocked. nc / ncat / socat, scp / rsync to unknown hosts, anomalous webhooks, etc.
Firewall / network tamperingBlocked. iptables, ufw, netsh advfirewall, DNS/route tampering, etc.
Multiple similar commandsBlocked. Any REJECT hit rejects the package; all occurrences must be scanned.

2.4 Source, Permissions, and OAuth Assessment

CheckDescription
Source trust assessmentNot blocked. Reviews source/author/repo/update time; ClawdHub official ≠ automatically safe.
Documented OAuth / SaaSNot blocked. Docs ask users to create their own GOOGLE_ / AZURE_ credentials with least privilege → usually INSTALL WITH CAUTION.
Hardcoded secrets / inducing token pasteBlocked. Requires writing secrets into the repo or sending to untrusted endpoints.
Broad OAuth solely because authorization is neededNot blocked. Broad OAuth such as Gmail/Drive defaults to MEDIUM–HIGH; clear docs → CAUTION rather than direct reject.
curl|sh combined with OAuth docsBlocked. Documented OAuth plus download-and-execute chain is high risk.

3. In-ZIP File Checks

Before extracting to disk, entries inside the ZIP are validated by rules (not LLM).

3.1 SKILL.md Checks

CheckDescription
File name caseBlocked. Must be exactly SKILL.md; skill.md and similar do not match.
Main manifest requiredBlocked. Must be at ZIP root SKILL.md, or top-level/SKILL.md under a single top-level directory; deeper SKILL.md cannot be the main manifest.
Multiple SKILL.mdUses the shallowest path as the main manifest (same depth: lexicographic path order); not reported as a separate error.
Flat package structureWhen root has SKILL.md, multiple top-level items (e.g. scripts/, references/) are allowed; top-level folder name need not match slug.
Single-folder package structureWhen root has no SKILL.md, all files must be under one top-level directory; multiple top-level directories are blocked.
Single-folder top-level directory nameBlocked. Top-level directory name must equal slug in SKILL.md (or name if slug is omitted).
SKILL.md encodingBlocked. Must be UTF-8.
YAML front matterBlocked. Leading metadata such as name/description must be wrapped in --- --- and be valid YAML.
nameBlocked. Required; max 64 characters; regex ^[a-z0-9]+(?:-[a-z0-9]+)*$ (starts with lowercase letter or digit; lowercase letters / digits / - only; no leading/trailing or consecutive hyphens; must exactly match top-level folder name).
slugIf set, same rules as name; if omitted, slug=name automatically.
descriptionBlocked. Required; length 1–1024 characters.

3.2 File Allowlist Checks

CheckDescription
Allowed extensions (default 31).cfg / .cjs / .conf / .css / .csv / .gif / .htm / .html / .ico / .ini / .jpeg / .jpg / .js / .json / .jsx / .md / .mjs / .png / .py / .rst / .sh / .sql / .svg / .toml / .ts / .tsv / .tsx / .txt / .webp / .yaml / .yml
Allowed extensionless fileslicense / copying / makefile / dockerfile / gemfile / rakefile / procfile / jenkinsfile (case-insensitive)
Allowed dot config files.gitignore / .dockerignore / .editorconfig / .npmrc / .nvmrc (full file name match)
SKILL.mdExempt from extension allowlist, but must still satisfy all 3.1 rules.
Ignore list (not blocked; deleted after extract)__MACOSX / __pycache__ / .git / .svn / .DS_Store / desktop.ini / Thumbs.db / ._* / .pyc / .pyo; skipped during validation and not treated as allowlisted types.
Double-suffix filesOnly the last extension counts; e.g. archive.tar.gz is treated as .gz and blocked if not allowlisted.
Suffix not on allowlistBlocked. e.g. .exe / .pdf / .zip / .ps1 / .env; extend via Nacos skill.import.allowed_suffix.

3.3 Dangerous Script Content Scan (Rule Engine)

CheckDescription
Scan scopeOnly .sh / .py / .js / .mjs / .cjs / .ts / .tsx / .jsx with size greater than 0; .md / .json and similar docs are not scanned.
.sh scriptsBlocked. Patterns such as rm -rf, curl|sh, mkfs, dd, chattr.
Code filesBlocked. Patterns such as os.system, subprocess(shell=True), eval, exec, child_process.
Sensitive path / secret referencesBlocked. e.g. /etc/shadow, ~/.ssh, PRIVATE KEY.

3.4 Extract and Other Checks

CheckDescription
Extract path safetyBlocked. Absolute paths, .., and escaping the extract root are forbidden.
Missing SKILL.md after extractBlocked. Flattened skill directory must contain SKILL.md.
Duplicate slug in same environmentBlocked. slug must be unique under the same account_id + env_id.
Conflict with built-in skillBlocked. name or slug must not duplicate a global built-in skill.
iconBlocked. Empty passes; short strings without injection traits pass; otherwise must be a valid base64 image.
Auth dimensionsBlocked. Requires account_id, env_id, resource_zone_id.

Notes

  • Public supports Add only; open, configure, and remove are in My Resources.
  • After removing a Skill, Sage AI and Agents and automation tasks referencing it may fail.
  • When a Skill publishes a new version, referencing Agents and automation tasks automatically use the new version—assess impact before upgrading.
  • Built-in Skills are in Public; Skills published from Workspace appear in My Resources; after listing approval, they appear in Public.
  • Skill detail debug is read-only; edit in Workspace · Skill Authoring.
  • Imported Skill packages must pass the Skill Validation Spec above; validation requires an available LLM—add a model first if the model list is empty.