ngrok-preview

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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ngrok-preview" with this command: npx skills add wynnsu/ngrok-preview

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:
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:

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:

🔗 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:
python3 scripts/ngrok_preview.py down --session-id "<task-id>" --delete-session-dir
  • Periodically clear expired sessions:
python3 scripts/ngrok_preview.py cleanup

Command quick reference

# 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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Topic Selection Expert

选题专家:全网热点监控 → 筛选打分 → 初步三要素 → 写入飞书选题库 → 推送Telegram。Use when user asks to 启动选题专家 / 获取选题推荐 / 查看热点 / 帮我选题。

Registry SourceRecently Updated
1240Profile unavailable
General

Morning Coffee Briefing

Daily morning briefing skill. Reads your TASKS.md and memory files, synthesizes a prioritized day plan, and sends it to you via Telegram so you start the day...

Registry SourceRecently Updated
1990Profile unavailable
General

Telegram Voice Transcribe

Transcribe Telegram voice messages and audio notes into text using the OpenAI Whisper API. Use when (1) a user sends a voice message or audio note via Telegr...

Registry SourceRecently Updated
2480Profile unavailable
General

OpenClaw AWS Deploy

Deploy OpenClaw securely on AWS with a single command. Creates VPC, EC2 (ARM64), Telegram channel, and configurable AI model (Bedrock, Gemini, or any provide...

Registry SourceRecently Updated
4120Profile unavailable