Install
openclaw skills install universal-shell-deployerInstall, configure, start, stop, and verify local or remote development infrastructure across Windows, Linux, and macOS by executing commands through a unified workflow. Use when the user asks to set up databases, MinIO, ZLMediaKit, Docker, Redis, PostgreSQL, MySQL, Nginx, Node.js, Java, or other developer environments on local machines or remote hosts.
openclaw skills install universal-shell-deployerUse this skill for cross-platform environment setup driven by command execution.
Targets may be:
This skill is configuration-first. Always read the sibling config.json before planning or executing changes.
Before executing anything, identify:
install, configure, start, stop, restart, status, verify, uninstallIf any of these are unclear, ask the user.
Read config.json in the same directory and use it as the single source of truth for:
Update config.json after meaningful progress so future runs can resume from the last known state.
Read config.json and resolve:
defaultsnodesrecipesstateIf the requested node does not exist, ask whether to create it before proceeding.
Choose a node by name. Respect the node's:
transportosshellworkdirpackageManagerIf the node says enabled: false, do not use it without user confirmation.
If a named recipe exists, use it as the default implementation.
Prefer the recipe's:
If no recipe exists, build a minimal plan using the node defaults and keep it idempotent.
State the concrete execution plan before changing the system:
Break risky changes into small steps.
Run commands directly in the correct shell:
powershellbashUse ssh and keep commands non-interactive where possible.
Prefer:
Use the configured command bridge in the node definition. Default to PowerShell Remoting semantics unless the user configured something else.
After install or configuration, verify with one or more of:
Never mark a step complete without a verification signal.
Write back useful state into config.json, such as:
state.lastSelectedNodestate.lastRecipestate.lastActionstate.lastResultsstate.installationsstate.servicesRecord failures with timestamps and short error summaries.
sudo on Windows.systemctl exists on all Linux hosts.docker compose when already configured in the node or recipe.When updating config.json, use these sections consistently:
nodes.<node>.connection: stable connection metadatanodes.<node>.overrides: node-specific behavior overridesrecipes.<recipe>: reusable install/config templatesstate.installations.<node>.<service>: install status and versionstate.services.<node>.<service>: running status and healthstate.lastResults.<node>: last action summaryKeep recipes for common environment services:
redispostgresqlmysqlminiozlmediakitdockernginxnodejspythonjavaEach recipe should define:
When using this skill:
config.json fields were updated