agentsclimarketplace

Agentwin

Skill xiaoka76/agentwin/skills/agentwin

Remotely manage Windows machines (NAS, server, workstation) from Linux/macOS/Windows via WinRM or SSH — execute commands, collect system info, transfer files. Use when the user asks to connect to / run commands on / get info from a Windows host, manage a Windows server or NAS, run PowerShell remotely, or transfer files to/from Windows.From its SKILL.md

Install
npx -y skills add xiaoka76/agentwin --skill agentwin

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.4 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

agentwin skill

Use this skill when you need to remotely manage a Windows machine (NAS, server, workstation) from a Linux/macOS/Windows environment via WinRM or SSH.

Trigger phrases

  • "Connect to a Windows machine and run a command"
  • "Run PowerShell on remote Windows"
  • "Check Windows server status"
  • "Get Windows system info"
  • "List processes/services on Windows"
  • "Upload/download files to/from Windows"
  • "Manage my Windows server / NAS"

Prerequisites

# Install (one-time, from PyPI)
uv tool install agentwin

# Or use the npx-style runner — no global install needed
uvx agentwin --help

If uv is not installed yet, install it first:

curl -LsSf https://astral.sh/uv/install.sh | sh

Workflow

1. Health check — scan target host

agentwin health <host>
# e.g. agentwin health 10.0.0.20
# Reports open ports and available protocols (WinRM, SSH)

2. Authenticate — save encrypted credentials

agentwin auth <host> --user <username> --password "<password>"
# e.g. agentwin auth 10.0.0.20 --user Administrator --password "mypassword"
# Returns a 12-char hex UUID (e.g. e2404c202530)

# Specify auth method explicitly (default: port 5985→WinRM, port 22→SSH)
agentwin auth <host> --user Administrator --password "mypassword" --method winrm-password
agentwin auth <host> --user Administrator --password "mypassword" --port 2222 --method ssh-password
agentwin auth <host> --user Administrator --key ~/.ssh/id_rsa

3. Execute commands

# PowerShell (default) — supports Get-ChildItem, Get-Process, etc.
agentwin execute --host <uuid> "Get-ChildItem C:\Users"

# cmd.exe — use --cmd flag for traditional commands
agentwin execute --host <uuid> --cmd "ipconfig /all"

4. Collect system information

agentwin sysinfo --host <uuid>
# Shows OS version, CPU, disk volumes, network interfaces

5. Run script files or inline content

# PowerShell script file (default)
agentwin script --host <uuid> ./myscript.ps1

# CMD script file
agentwin script --host <uuid> --cmd ./myscript.bat

# Inline script content — no file needed, pass script directly
agentwin script --host <uuid> --inline "Get-Service | Where-Object Status -eq Running"
agentwin script --host <uuid> --cmd --inline "ipconfig /all"

6. File transfer

# Upload a file to remote host
agentwin cp --host <uuid> ./local-file.txt "C:\Users\Administrator\Desktop\"

# Download a file from remote host
agentwin cp --host <uuid> --direction pull "C:\Users\Administrator\Desktop\remote.txt" ./

# Alias for pull
agentwin pull --host <uuid> "C:\Users\Administrator\Desktop\remote.txt" ./

File transfer strategy:

ConnectionFile SizeMethod
SSHAnySFTP direct transfer (no size limit)
WinRM≤ 1MBBase64 chunked upload
WinRM> 1MBError — prompts user to use SSH or SMB

WinRM file transfer is limited by powershell -encodedcommand (8191-char CLI limit). For large files, enable OpenSSH on the Windows machine and register an SSH connection with agentwin auth <host> --port 22.

7. Manage saved hosts

# List all saved hosts
agentwin list

# Remove a saved host
agentwin remove <uuid>

Important notes

Output format

  • Default output is concise (key facts + path to full markdown file)
  • Full results saved to ~/.config/agentwin/runs/<uuid>/<timestamp>_<subcmd>.md (health uses host IP)
  • Always read the full file at the path shown in stdout (Full: <path>)
  • PowerShell output is cleaned: CLIXML noise, progress records, and pure empty lines are stripped
  • All subcommands support these output flags:
FlagBehavior
--fullPrint full output to stdout
--quiet / -qStatus code + UUID only
--jsonForce JSON output to stdout
--output <path>Custom save path
--no-saveSkip file save

Execution environment

SubcommandDefault shellFlag for alternative
executePowerShell--cmd → cmd.exe
scriptPowerShell--cmd → cmd.exe; --inline for inline content

Credential security

  • Encrypted with Fernet (AES-128-CBC + HMAC), key derived from machine_id + username + salt
  • Stored in ~/.config/agentwin/hosts.json (Linux/macOS) or %APPDATA%\agentwin\ (Windows)
  • No master password, no keyring — zero manual intervention
  • Changing machine = re-authentication required

Protocol support

ProtocolAuth MethodsPorts
WinRMNTLM (password)5985 (HTTP), 5986 (HTTPS)
SSHKey (ed25519) / Password22
  • Auto-detected by health subcommand
  • Fallback chain: WinRM → SSH key → SSH password

Enabling OpenSSH Server on Windows

Once SSH is enabled on Windows, you can transfer large files via SFTP (bypassing WinRM's size limitation):

# Check OpenSSH installation status
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

# Install OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

# Start sshd service
Start-Service sshd

# Enable automatic startup
Set-Service -Name sshd -StartupType 'Automatic'

# Ensure TCP port 22 is allowed through firewall
Get-NetFirewallRule -Name *OpenSSH-Server* | Select Name, Enabled

# If not enabled, add the rule manually
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' `
  -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

# Note: by default, SSH accepts username/password login

After setup, register the SSH connection in agentwin:

agentwin auth <host> --user Administrator --password "your_password" --port 22

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,645. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.