multi-script ยท diff
git:20260505.5c57b27 to git:20260723.c79db80
1 added, 0 removed. Audit A to A.
---
name: multi-script
description: >-
Example skill โ demonstrates a skill with multiple script types (Python,
Shell, Batch). Use as a reference when writing cross-platform skills. Not
intended for production use โ this is an authoring reference only.
license: MIT
compatibility: Python 3.7+; bash required on Linux/macOS; cmd on Windows
allowed-tools: Bash Read
metadata:
dcc-mcp:
dcc: python
version: "1.0.0"
layer: example
search-hint: "multi-script, cross-platform, python shell batch, script types, authoring reference"
tags: "example, multi-language, cross-platform"
tools: tools.yaml
---
# Multi-Script Skill
A reference skill demonstrating **cross-platform, multi-language script support**
in `dcc-mcp-core`.
## Supported Script Extensions
| Extension | Language | Platform |
|-----------|----------|----------|
| `.py` | Python | All |
| `.sh` | Shell/Bash | Linux, macOS |
| `.bat` | Batch/CMD | Windows |
| `.ps1` | PowerShell | Windows |
| `.mel` | MEL | Maya |
| `.ms` / `.mcr` | MaxScript | 3ds Max |
| `.js` | JavaScript | Node.js |
## Tools
### `multi_script__action_python`
Cross-platform Python implementation โ works on all operating systems.
### `multi_script__action_shell`
Bash shell implementation for Linux and macOS.
### `multi_script__action_batch`
Windows Batch (CMD) implementation for Windows environments.
## How the dispatcher chooses a script
When a tool is called via `tools/call`, the `SkillCatalog` uses the
`source_file` field in each `ToolDeclaration` to dispatch to the correct
script. If `source_file` is empty, it matches scripts by name stem.
## Script convention
All scripts in this skill read JSON parameters from **stdin** and write
a JSON result to **stdout**:
```python
# action_python.py
import json, sys
+
params = json.load(sys.stdin)
msg = params.get("message", "hello")
print(json.dumps({"success": True, "message": f"Python says: {msg}"}))
```