Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Bash

BSecurity

Execute shell commands. Use for: running web-search and agent-browser CLIs, installing packages, running scripts (python3, node), system commands. This is your gateway to web search, browsing, and code execution.

39 stars
0 votes
0 copies
0 views
Added 9/23/2026
ai-agentspythonshellbashnodetestinggitapisecurity

Works with

terminalcliapi

Security Analysis

B85/100
highPerforms destructive filesystem operations

Scanned 9/23/2026

Install to Claude Code

$npx -y skills add tashfeenahmed/scallopbot --skill bash --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bash?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Bash
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/tashfeenahmed-bash/badge)](https://www.skillsdirectory.com/skills/tashfeenahmed-bash)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: bash
description: "Execute shell commands. Use for: running web-search and agent-browser CLIs, installing packages, running scripts (python3, node), system commands. This is your gateway to web search, browsing, and code execution."
user-invocable: false
triggers: [command, shell, terminal, execute, run, bash]
inputSchema:
  type: object
  properties:
    command:
      type: string
      description: "The bash command to execute"
    timeout:
      type: number
      description: "Timeout in milliseconds (default: 60000)"
    cwd:
      type: string
      description: "Working directory for execution"
    max_output:
      type: number
      description: "Maximum output size in bytes (default: 30720). Increase when you need to see more output (e.g. long test runs, large search results). Max: 204800."
  required: [command]
scripts:
  run: "scripts/run.ts"
metadata:
  openclaw:
    emoji: "\U0001F4BB"
    requires:
      bins: [bash]
---

# Bash Skill

Execute shell commands in the workspace directory with output capture and timeout handling.

## When to Use

Use the bash skill for:

- **Running commands**: Execute shell commands like `ls`, `npm`, `git`, etc.
- **Checking system state**: Check file existence, disk space, process status
- **File operations**: Move, copy, delete files (when dedicated file skills aren't appropriate)
- **Package management**: Install dependencies, run build scripts
- **Testing**: Run test suites, linters, type checkers

## Input Format

The skill accepts JSON arguments via the `SKILL_ARGS` environment variable:

```json
{
  "command": "echo 'Hello World'",
  "timeout": 60000,
  "cwd": "/path/to/directory"
}
```

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `command` | string | Yes | - | The bash command to execute |
| `timeout` | number | No | 60000 | Timeout in milliseconds |
| `cwd` | string | No | workspace | Working directory for execution |
| `max_output` | number | No | 30720 | Max output bytes. Increase for long test runs or large search results. Max: 204800 |

## Output Format

The skill returns JSON to stdout:

```json
{
  "success": true,
  "output": "command output here",
  "error": "stderr content if any",
  "exitCode": 0
}
```

### Response Fields

| Field | Type | Description |
|-------|------|-------------|
| `success` | boolean | True if command exited with code 0 |
| `output` | string | Captured stdout (truncated at max_output limit, default 30KB) |
| `error` | string | Captured stderr or error message |
| `exitCode` | number | Process exit code |

## Safety Considerations

1. **No interactive commands**: Commands requiring user input will hang or fail
2. **Avoid destructive operations**: Always confirm before `rm -rf`, `git reset --hard`, etc.
3. **Sensitive data**: Don't echo secrets or credentials to output
4. **Long-running processes**: Use appropriate timeouts; default is 60 seconds
5. **Resource limits**: Output is truncated at 30KB by default (adjustable via `max_output`, up to 200KB)
6. **HTTP writes**: Mutating `curl` calls must include `--fail-with-body` (or `-f`) so a 4xx/5xx response cannot be mistaken for success

## Security Features

The bash skill includes basic protections against accidental damage:

### Dangerous Command Blocking

The following patterns are automatically blocked with exit code 126:

- `rm -rf /` and variations (root filesystem removal)
- `--no-preserve-root` flag (bypassing safety)
- Fork bombs like `:(){ :|:& };:`
- Direct device access (`/dev/sda`, `/dev/nvme`, etc.)
- Filesystem formatting (`mkfs` commands)
- `dd` writes to raw devices
- Writes to system directories (`/etc`, `/boot`, `/sys`, `/proc`)

### Path Restrictions

The `cwd` parameter is validated to prevent escaping the workspace:

- Path traversal with `../` that escapes workspace is blocked
- Symlinks that resolve outside workspace are blocked
- All paths are resolved relative to the workspace root

**Note:** These are basic protections to prevent obvious accidents, not a security sandbox. They don't protect against determined malicious use.

## Examples

### Check directory contents

```json
{ "command": "ls -la" }
```

### Run tests with timeout

```json
{
  "command": "npm test",
  "timeout": 120000
}
```

### Execute in specific directory

```json
{
  "command": "git status",
  "cwd": "/path/to/repo"
}
```

### Check Node.js version

```json
{ "command": "node --version" }
```

Attribution

tashfeenahmedtashfeenahmed
View sourceMore from tashfeenahmed →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

694821 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →