Skip to content
Back to skills

Ngrok Preview

ASecurity

Generate short-lived, mobile-friendly ngrok preview links for local artifacts and share them in Telegram. Use when OpenClaw produces images/charts/generated files that the user needs to view remotely on phone, and a temporary per-task link is preferred over manual file transfer.

  • 7 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 7, 2026
toolspythonbash

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill ngrok-preview --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ngrok Preview?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ngrok Preview
[![Security: A โ€” Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-ngrok-preview/badge)](https://www.skillsdirectory.com/skills/modbender-ngrok-preview)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ngrok-preview
description: Generate short-lived, mobile-friendly ngrok preview links for local artifacts and share them in Telegram. Use when OpenClaw produces images/charts/generated files that the user needs to view remotely on phone, and a temporary per-task link is preferred over manual file transfer.
---

# ngrok-preview

Provide a temporary preview window for task outputs. Keep it fast, scoped, and easy: generate link -> send link -> close link.

## One-time setup

1. Install ngrok if missing.
2. Configure auth token once:

```bash
ngrok config add-authtoken "$NGROK_AUTHTOKEN"
ngrok config check
```

If token is not preconfigured, pass `--auth-token` when running the script.

## Per-task workflow

1. Collect only task artifacts (images/charts/files) for this request.
2. Create a session-scoped temporary preview link.
3. Send the link with explicit expiry in Telegram.
4. Stop and delete the preview session after user confirms or task ends.

Use this command from the skill directory:

```bash
python3 scripts/ngrok_preview.py up \
  --title "<task title>" \
  --session-id "<task-id>" \
  --ttl-minutes 120 \
  --source "<artifact-path-1>" \
  --source "<artifact-path-2>"
```

The command returns JSON including:
- `public_url`
- `expires_at`
- `session_id`
- `stop_command`

### Session ID convention (context binding)

Use IDs that map to the current conversation/task:
- `tg-<date>-<topic>`
- `task-<short-request-id>`

This keeps each link tied to one task context.

## Telegram send pattern

After `up` succeeds, send a concise message:

```text
๐Ÿ”— Temporary preview link (valid for <X> minutes)
<public_url>

Scope: artifacts from this task only
This link will be cleaned up after expiry
```

If not currently in Telegram, still return the same link format in the active channel.

## Safety boundaries

- Publish only task-specific outputs, never broad directories (do not expose workspace root).
- Keep TTL short (default 120 minutes; use shorter when possible).
- Treat link as temporary access, not persistent hosting.
- Stop session when no longer needed:

```bash
python3 scripts/ngrok_preview.py down --session-id "<task-id>" --delete-session-dir
```

- Periodically clear expired sessions:

```bash
python3 scripts/ngrok_preview.py cleanup
```

## Command quick reference

```bash
# List sessions
python3 scripts/ngrok_preview.py status

# Create preview (auto-generate session id)
python3 scripts/ngrok_preview.py up \
  --title "image results" \
  --source ./outputs/result-1.png \
  --source ./outputs/result-2.png

# Stop latest session
python3 scripts/ngrok_preview.py down
```

## Troubleshooting

If link creation fails, check `references/troubleshooting.md` and follow the minimum recovery sequence.

Files in this skill

  • SKILL.md2.8 KB
  • references/troubleshooting.md1.2 KB
  • scripts/ngrok_preview.py17.6 KB

Attribution

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

Loading commentsโ€ฆ