SSH Skill

An SSH skill for Codex and Claude Code: remote commands, file transfer and tunnels with one JSON result and replay protection.

  • 553 ★ on the repository
  • Last commit
Skill

Broad access

Why this level

  • The agent gains the ability to run commands on your servers, move files and open tunnels.
  • Bulk operations affect several machines at once, production included.
All reasons and checks

badseal/ssh-skill

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/ssh-skill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent gains the ability to run commands on your servers, move files and open tunnels.
  • Bulk operations affect several machines at once, production included.

This is third-party code. Review the repository files before installing.

What it does

The skill wraps SSH in one Python entry point, `scripts/ssh_skill.py`. Through it an agent runs commands on remote servers, uploads and downloads files, transfers data between servers and manages configuration, tunnels and a connection daemon. The output is always the same: one JSON document of version 1.0 on stdout with progress on stderr. Remote commands pass as separate arguments and are not re-parsed by the local shell. If a request was sent but no answer arrived, the result is marked `outcome_unknown` and `retryable=false` so the agent does not replay a side effect. Bulk operations only preview a plan by default, running needs `--apply`, and production targets also need `--confirm-production`.

Who it is for. Administrators and developers who hand server work to an agent and want protection against replays and accidental runs on production machines.

Good fit when

  • An agent deploys an archive to a server and reads an application log.
  • A file is copied between two servers without an intermediate download.
  • One command runs on a group of servers after reviewing the target list.
  • A tunnel to a database on a remote machine is needed.

Not a fit when

  • There is no right to connect to the servers or the agent must not reach them.
  • The task is solved locally with no remote machines.
  • Python 3.8 or 3.9 must be verified; they are outside the formal test matrix.

Example request

Show the configured servers, then run `uname -a` on example-host and return the result as JSON.

Limitations

Python, an OpenSSH client and Paramiko are required; Python 3.10-3.13 are formally supported. Automated tests never connect to real servers, and real checks are run separately by the author. New configuration rejects plaintext passwords and old ones are read with masking only. The agent gets access to your keys and servers, so limit the host list and avoid production access unless necessary. The README gives no ready install command: place the skill in the agent skills directory, for example `.claude/skills/ssh-skill/`.

How to disable. Delete the skill folder from `.claude/skills/` or `.codex/skills/`, stop running tunnels and the connection daemon and remove extra entries from `~/.ssh/known_hosts` if any were added.

FAQ

What does outcome_unknown mean?

The command may have run on the server and the answer was lost. Do not retry: keep the request ID and check state with a separate read-only command.

How do I run a command on a server group?

`cluster` with an environment first previews targets without connecting. Then add `--apply`, plus `--confirm-production` for production servers.

Are passwords stored?

New configuration rejects plaintext passwords; old ones are readable but always masked in output.

What about host keys?

The default is `accept-new`: new keys are accepted and a conflict with a known key is rejected.

How do I check the installation?

Run `python3 scripts/ssh_skill.py doctor --json`; it reports the version, skill copies and drift.

Discussion

No questions or reviews yet.

Skills

Docker Skills

docker-skills

Official

Official Docker skills for agents: Dockerfile and builds, Compose, Sandboxes, Docker Agent and a skill that confirms irreversible actions

SkillMinimal access615Repository stars

KubeShark skill: the agent finds the failure mode first, then writes manifests, Helm and Kustomize to official practice with a rollback plan

SkillMinimal access473Repository stars

An SSH MCP server: the agent runs commands, reads and writes files over SFTP, transfers files and starts long jobs while credentials stay with you

MCP serverBroad access1KRepository stars

Clipboard bridge over SSH: images from your local clipboard reach Claude Code, Codex CLI and Cursor running on a remote server

CLIExtended access180Repository stars

31 DevOps skills for Claude Code and Codex: config generators, validators and a Kubernetes debugger for Terraform, Helm, CI and Docker

SkillExtended access332Repository stars

A skill for Claude Code and Codex that publishes a local service through Cloudflare Tunnel: a temporary link or your own domain.

SkillExtended access292Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
SSH Skill (this card)no553
MCP SSH ManagernoAPI key532an MCP server for SSH management; here a skill with a local Python entry point, one JSON result and confirmations for production targets
SSH MCP Server (classfang): remote commands over SSHnonot required1,019an SSH MCP server for an agent; here a ready skill with replay protection and a preview mode

README in short

The README covers version 4.0.0, compatibility, invocation on each system, commands, the cluster confirmation gate, the result format and safety boundaries.

README badge

Report a problem

Foxx AISSH Skill
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.