# shell_run

Executes a shell command in a subprocess and returns stdout, stderr, and the exit code. Includes a configurable timeout (default 60 seconds) matching the Alive skill execution limit.

## Usage

```python
from skill import run

result = run("ls -la /tmp")
print(result["stdout"])      # directory listing
print(result["returncode"])  # 0
```

## Parameters

- `command` (str): The shell command to execute.
- `timeout` (int, optional): Maximum execution time in seconds. Default: 60.
- `cwd` (str, optional): Working directory for the command.

## Returns

A dict with:
- `stdout` (str): Standard output
- `stderr` (str): Standard error
- `returncode` (int): Process exit code
- `command` (str): The command that was run
