Jsrt Claw

# SKILL.md

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Jsrt Claw" with this command: npx skills add gnh1201/jsrt-claw

SKILL.md

jsrt-claw

Overview

JSRT enables control of a Windows system using the built-in Microsoft JsRT (JavaScript Runtime).

Depending on the execution environment, Microsoft JsRT may be referred to as:

  • WSH
  • Windows Scripting Host
  • cscript
  • jscript.dll

On classic Windows systems, the JScript engine is implemented in jscript.dll (JScript 5.x). When running via cscript or wscript, this engine is typically used unless hosted by another environment.

This skill generates and executes a single .js file that interacts with Windows using COM objects and built-in scripting capabilities.


Execution Flow

  1. Create a single JavaScript file using all references described in this document.
  2. Perform Windows operations using COM objects.
  3. Execute the script:
cscript YOUR_JS_FILE.js

Available Windows Capabilities

1. File System Access

COM objects:

  • Scripting.FileSystemObject
  • ADODB.Stream

Typical usage:

  • Reading and writing files
  • Creating and deleting directories
  • Handling text or binary streams

2. System & Runtime Information

COM objects and functions:

  • WScript.Shell
  • WbemScripting.SWbemLocator
  • GetObject

Example:

GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\"
          + this.computer + "\\" + this.namespace);

Use cases:

  • Executing Windows shell commands
  • Querying WMI
  • Retrieving system configuration
  • Accessing environment variables

3. HTTP Communication

Possible COM objects (availability depends on installed MSXML/WinHTTP components):

  • Microsoft.XMLHTTP
  • WinHttp.WinHttpRequest.5.1
  • Msxml3.XMLHTTP
  • Msxml2.XMLHTTP
  • Msxml2.XMLHTTP.7.0
  • Msxml2.XMLHTTP.6.0
  • Msxml2.XMLHTTP.5.0
  • Msxml2.XMLHTTP.4.0
  • Msxml2.XMLHTTP.3.0
  • Msxml2.XMLHTTP.2.6
  • Msxml2.ServerXMLHTTP
  • Msxml2.ServerXMLHTTP.6.0
  • Msxml2.ServerXMLHTTP.5.0
  • Msxml2.ServerXMLHTTP.4.0
  • Msxml2.ServerXMLHTTP.3.0

Fallback loading is strongly recommended.


4. Microsoft Office Automation (If Installed)

  • Excel.Application
  • PowerPoint.Application
  • Word.Application
  • Outlook.Application
  • Other Office-related COM objects

Required COM Object Loader (With Fallback Support)

All COM objects must be instantiated using the following CreateObject function.

It supports:

  • Single ProgID
  • Multiple ProgIDs (fallback chain)
  • Automatic retry until a working object is found
if (typeof CreateObject === "undefined") {
    var CreateObject = function(progId, serverName, callback) {
        var progIds = (progId instanceof Array ? progId : [progId]);

        for (var i = 0; i < progIds.length; i++) {
            try {
                var obj = CreateObject.make(progIds[i], serverName);
                if (typeof callback === "function") {
                    callback(obj, progIds[i]);
                }
                return obj;
            } catch (e) {
                // Try next ProgID
            }
        }
        throw new Error("Unable to create COM object from provided ProgIDs.");
    };

    CreateObject.make = function(p, s) {
        if (typeof WScript !== "undefined") {
            if ("CreateObject" in WScript) {
                return WScript.CreateObject(p, s);
            } else {
                throw new Error("Built-in loader not available.");
            }
        } else if (typeof ActiveXObject !== "undefined") {
            return new ActiveXObject(p);
        } else {
            throw new Error("Could not find a loader");
        }
    };
}

Fallback Example (XMLHTTP)

var xhr = CreateObject([
    "Msxml2.XMLHTTP.6.0",
    "Msxml2.XMLHTTP.3.0",
    "Msxml2.XMLHTTP",
    "Microsoft.XMLHTTP",
    "WinHttp.WinHttpRequest.5.1"
]);

The loader attempts each ProgID in order until one succeeds.


JavaScript Runtime Version Detection

Use the following function to determine the runtime:

function getProcessVersion() {
    var getIEVersion = function() {
        var rv = -1;
        if (navigator.appName == 'Microsoft Internet Explorer') {
            var ua = navigator.userAgent;
            var re  = new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})");
            if (re.exec(ua) != null)
                rv = parseFloat(RegExp.$1);
        }
        return rv;
    };

    if (typeof WScript !== "undefined") {
        return "Microsoft JScript " + WScript.Version;
    } else if (typeof navigator !== "undefined") {
        return (function(rv) {
            return "MSIE" + (rv < 0 ? '' : (' ' + rv));
        })(getIEVersion());
    }
}

Polyfill Support

Because jscript.dll (JScript 5.x) does not support modern ECMAScript features, polyfills may be required.

WSH JScript Compatibility

JScript VersionIntroduced with IEExample User-Agent
5.6.xIE 6.0Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
5.7.xIE 7.0Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
5.8.xIE 8.0Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)

Polyfill Discovery

Available polyfills can be checked at:

https://cdnjs.cloudflare.com/polyfill/

Fetching Polyfills

features Parameter Format

The features parameter must be a comma-separated list of feature keywords:

features=feature1,feature2,feature3

In URL query strings, commas must be URL-encoded:

features=feature1%2Cfeature2%2Cfeature3

Example:

  • Conceptual:

    features=default,es2015
    
  • URL-encoded:

    features=default%2Ces2015
    

Request Example

GET https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0&features=default%2Ces2015
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)

The User-Agent must match the detected JScript compatibility level.


Compatibility Strategy

  1. Detect runtime using getProcessVersion()
  2. Instantiate COM objects using fallback arrays
  3. Identify unsupported JavaScript features
  4. Request polyfills using comma-separated features
  5. Inject polyfills before executing dependent logic
  6. Execute Windows automation logic safely under jscript.dll

Real-World Example

A real open-source project that applies this environment in practice is WelsonJS.

WelsonJS:

  • Runs on Windows using the built-in JScript runtime (jscript.dll)
  • Uses COM objects extensively
  • Implements fallback loading patterns
  • Uses core-js (formerly known as Babel polyfills) to bridge modern JavaScript features into legacy JScript environments

If you need concrete usage examples, implementation patterns, or real source code references, use a search function to look up:

  • WelsonJS project information
  • WelsonJS source code
  • WelsonJS core-js integration

Reviewing the WelsonJS project will provide practical references that can help when implementing JSRT-based automation code.


Summary

JSRT provides:

  • Direct Windows automation
  • COM-based system control
  • WMI querying
  • HTTP communication
  • Office automation
  • Multi-ProgID fallback support
  • Polyfill-based compatibility for jscript.dll

It is optimized for legacy Windows scripting environments while maintaining cross-version compatibility through structured fallback and polyfill strategies.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Openclaw Video Editor

Pro-Studio v4.0.0. AI-powered background removal, smart subtitle placement, and cinematic LUT presets. The ultimate production suite for high-end video content.

Registry SourceRecently Updated
General

IOC 智能巡检报告

为 IOC(智能运营中心)生成智能巡检报告。自动分析设备状态、报警记录、能耗数据,生成专业的巡检日报/周报。支持连接 PostgreSQL 数据库读取实时数据,输出 Markdown/HTML 报告。适用于物业管理、商业综合体、工业园区等场景。

Registry SourceRecently Updated
General

Expert Library Plus Skill

Install and manage Expert Library Plus - the world's first AI expert library with name-based quality anchors. Enhances 43+ professional experts with historic...

Registry SourceRecently Updated
General

Api Gateway 1.0.46

Connect to 100+ APIs (Google Workspace, Microsoft 365, Notion, Slack, Airtable, HubSpot, etc.) with managed OAuth. Use this skill when users want to interact...

Registry SourceRecently Updated