Agent skill

Testing Preview

by boringcomputers in boringcomputers/nehemiah

Test the preview proxy feature end-to-end. An agent skill from boringcomputers/nehemiah.

Apache-2.0Auto-check: notesProductivity & Automation

Install Testing Preview

skills CLI
$ npx skills add boringcomputers/nehemiah --skill testing-preview -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install boringcomputers/nehemiah testing-preview --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/boringcomputers/nehemiah.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/testing-preview .claude/skills/testing-preview && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
testing-preview
GitHub stars
338
Token cost
~822 tokens
SKILL.md length
308 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Test the preview proxy feature end-to-end. An agent skill from boringcomputers/nehemiah.

  • Works in 2 steps: Path-based… → Subdomain-based (--.) — requires Caddy…
  • Verifying preview URL changes
  • SKILL.md covers What It Does, Prerequisites, How to Set Up a Test VM and Key Test Cases, plus 3 more sections
  • Calls curl, python3 and go; needs NEHEMIAH_TOKEN

What it does

Testing Preview is an agent skill from boringcomputers/nehemiah. Test the preview proxy feature end-to-end. Use when verifying preview URL changes, auth changes on the web proxy route, or networking-related fixes.

Its SKILL.md is about 820 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation. It works with Model Context Protocol, Svelte and Go. The repository describes itself as: On-demand Linux computers you can hand to an AI — real Firecracker microVMs with a browser, terminal, coding agents, and an AI that drives them. The licence is Apache-2.0.

When your agent uses it

  • Verifying preview URL changes
  • Auth changes on the web proxy route
  • Networking-related fixes

Example prompts

  • “/testing-preview”

Requirements

  • Python 3
  • A credential in NEHEMIAH_TOKEN

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Path-based (/v1/machines/{id}/web/{port}/{path...}) — works over SSH tunnel and without wildcard DNS
  2. Subdomain-based (--.) — requires Caddy on-demand TLS + wildcard DNS

What it can do on your machine

Read from SKILL.md and the folder at commit fea6f0a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • python3
    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NEHEMIAH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Testing Preview loads about 822 tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 308 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~822

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:26
    sudo NEHEMIAH_NET=1 NEHEMIAH_JAILER=0 NEHEMIAH_TOKEN=test-token /tmp/nehemiahd &

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from boringcomputers/nehemiah at commit fea6f0a, republished under its Apache-2.0 licence (© boringcomputers). 308 words, ~822 tokens.

Download SKILL.mdSave it as .claude/skills/testing-preview/SKILL.md (or your agent's skills folder).
name
testing-preview
description
Test the preview proxy feature end-to-end. Use when verifying preview URL changes, auth changes on the web proxy route, or networking-related fixes.

Testing the Preview Feature

What It Does

The preview proxy exposes a port running inside a guest Firecracker VM at a public URL. Two implementations exist:

  1. Path-based (/v1/machines/{id}/web/{port}/{path...}) — works over SSH tunnel and without wildcard DNS
  2. Subdomain-based (<id>--<port>.<PreviewBase>) — requires Caddy on-demand TLS + wildcard DNS

Prerequisites

  • nehemiahd must be running with NEHEMIAH_NET=1 (enables guest networking via tap/bridge/DHCP)
  • A test VM must be created with net: true (ensures DHCP lease is assigned)
  • An HTTP server must be running inside the guest on a known port

How to Set Up a Test VM

bash
# Build and run nehemiahd (with auth to test the auth bypass)
cd nehemiahd && go build -o /tmp/nehemiahd .
sudo NEHEMIAH_NET=1 NEHEMIAH_JAILER=0 NEHEMIAH_TOKEN=test-token /tmp/nehemiahd &

# Create a VM with networking
curl -s http://localhost:8080/v1/machines -X POST \
  -H "Authorization: Bearer test-token" \
  -d '{"template":"python","ttl_seconds":900,"net":true}'

# Start an HTTP server inside the guest (via WebSocket TTY)
python3 -c "
import websocket, time
ws = websocket.create_connection('ws://localhost:8080/v1/machines/MACHINE_ID/tty',
    header=['Authorization: Bearer test-token'])
time.sleep(0.5)
ws.send(b'cd / && python3 -m http.server 8000 --bind 0.0.0.0 &\n')
time.sleep(2)
ws.close()
"

Key Test Cases

The server above is started from / (cd /), so http.server serves the guest's root filesystem — that makes the sub-path test below resolve.

  1. Preview without auth: curl http://localhost:8080/v1/machines/{id}/web/8000/ should return content (the / directory listing; no auth header needed)
  2. Other routes still require auth: curl http://localhost:8080/v1/machines/{id} should return 401
  3. Sub-path routing: curl http://localhost:8080/v1/machines/{id}/web/8000/etc/ should show the guest's /etc directory listing (proves sub-paths are proxied through)
  4. Via Vite proxy: curl http://localhost:5173/boring/v1/machines/{id}/web/8000/ should work

Architecture Notes

  • The web proxy route is intentionally unauthenticated — preview URLs are opened via window.open in new browser tabs which can't add Authorization headers
  • The machine ID acts as the access token (unguessable)
  • machineIP() resolves guest IP: first checks driver.ip (for forks), then falls back to DHCP lease file (/var/lib/misc/dnsmasq.leases)
  • Guest MAC is derived from machine ID via SHA1: guestMAC(id) → 06:00:XX:XX:XX:XX

Common Failure Modes

  • "this computer isn't on the network": NEHEMIAH_NET not set, or machine created without net=true (for snapshot-eligible templates)
  • "nothing is listening on port X": Server not started in guest, or bound to 127.0.0.1 instead of 0.0.0.0
  • 401 on preview URL: The route might have been accidentally wrapped in s.auth() again
  • Machine TTL expired: Default TTL is short; use 900s for testing

Devin Secrets Needed

  • None required for local testing (NEHEMIAH_TOKEN is set at runtime for test isolation)

© boringcomputers, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/testing-preview of boringcomputers/nehemiah.

Open the folder on GitHubat commit fea6f0a

Compare with similar skills

Testing Preview next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Testing Preview compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Testing Preview this skillboringcomputers/nehemiah338—~822Automated safety check: NotesApache-2.0
PadPerpetualSoftware/pad185—~1.1kAutomated safety check: PassApache-2.0
TuiosGaurav-Gosain/tuios5k—~3.5kAutomated safety check: PassMIT
remindb Integration Testsradimsem/remindb129—~1.8kAutomated safety check: PassMIT
Effect V4ComposioHQ/composio30k—~1kAutomated safety check: PassMIT
Grepaiyoanbernabeu/grepai1.9k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Pad

    PerpetualSoftware/pad

    Work with the user's Pad workspaces through the Pad tools. An agent skill from PerpetualSoftware/pad.

    185 GitHub stars~1.1k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Tuios

    Gaurav-Gosain/tuios

    Drive tuios from inside one of its panes. An agent skill from Gaurav-Gosain/tuios.

    5k GitHub stars~3.5k tokensUpdated today
    MobileAuto-check passed
  • Explains how to add an end-to-end test scenario to remindb, choosing between a direct API test and an MCP test and using the shared helpers and fixtures.

    129 GitHub stars~1.8k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Effect V4

    ComposioHQ/composio

    Write, review, or upgrade Effect v4 code in the Composio CLI, cli-keyring, and json-schema-to-effect-schema packages, all pinned exactly to effect@4.0.0-rc.117 — Context.Service and explicit layers…

    30k GitHub stars~1k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Grepai

    yoanbernabeu/grepai

    Semantic code search and call-graph tracing. An agent skill from yoanbernabeu/grepai.

    1.9k GitHub stars~1.1k tokensUpdated 16 days ago
    DevelopmentAuto-check passed
  • AIPex Browser Control

    AIPexStudio/AIPex

    Lets an agent drive Chrome through the AIPex extension and its MCP bridge: navigation, clicking, form filling, screenshots, tab management and downloads.

    1.3k GitHub stars~1.8k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

Questions about Testing Preview

What does Testing Preview do?

Test the preview proxy feature end-to-end. An agent skill from boringcomputers/nehemiah. Testing Preview is an agent skill from boringcomputers/nehemiah. Test the preview proxy feature end-to-end.

When should I use Testing Preview?

Testing Preview fits situations like: verifying preview URL changes; auth changes on the web proxy route; networking-related fixes.

How do I install Testing Preview in Claude Code?

Run `npx skills add boringcomputers/nehemiah --skill testing-preview -a claude-code`. Or copy the skill folder (.agents/skills/testing-preview in boringcomputers/nehemiah) into .claude/skills/testing-preview in your project. Claude Code loads it when a task matches its description.

How do I install Testing Preview in Codex?

Run `npx skills add boringcomputers/nehemiah --skill testing-preview -a codex`. Or copy the skill folder (.agents/skills/testing-preview in boringcomputers/nehemiah) into .agents/skills/testing-preview in your project. Codex loads it when a task matches its description.

Can I use Testing Preview in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add boringcomputers/nehemiah --skill testing-preview -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-preview, .gemini/skills/testing-preview, .github/skills/testing-preview and .opencode/skills/testing-preview in your project.

What does Testing Preview need to run?

Going by SKILL.md and its folder, Testing Preview needs the command-line tools its instructions call (curl, python3 and go) and credentials named NEHEMIAH_TOKEN. Our summary lists: Python 3; A credential in NEHEMIAH_TOKEN.

Does Testing Preview access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Testing Preview safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Testing Preview use?

Testing Preview is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Testing Preview use?

About 822 tokens (SKILL.md is roughly 3.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Testing Preview?

Skills that share tags, products or a category with Testing Preview: Pad (PerpetualSoftware/pad, 185 stars), Tuios (Gaurav-Gosain/tuios, 5k stars), remindb Integration Tests (radimsem/remindb, 129 stars) and Effect V4 (ComposioHQ/composio, 30k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Testing Preview?

boringcomputers (a GitHub organization) maintains it in boringcomputers/nehemiah, which has 338 GitHub stars. The repository was last updated on September 19, 2026.

Source: boringcomputers/nehemiah on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.