
Web App
- 2 installs
- Updated May 12, 2026
- tryshift-sh/skills-store
Creates or updates a live self-contained web app in an E2B sandbox through Shift's Skill Router and returns a shareable browser preview URL.
About
Publishes static HTML/CSS/JS to an E2B sandbox via Shift's local Skill Router and returns a live preview URL, updating one active app per agent. A developer uses it when an output like a landing page, dashboard, or demo is best experienced as a clickable browser preview.
- POSTs files to Shift's local gateway; no E2B credentials needed
- One active app per agent, updated in place with optional deletePaths
Web App by the numbers
- 2 all-time installs (skills.sh)
- Ranked #1,862 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Data as of Jul 27, 2026 (Skillselion catalog sync)
npx skills add https://github.com/tryshift-sh/skills-store --skill web-appAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| Last updated | May 12, 2026 |
| Repository | tryshift-sh/skills-store ↗ |
What it does
Creates or updates a live self-contained web app in an E2B sandbox through Shift's Skill Router and returns a shareable browser preview URL.
Files
E2B Web App
Use this managed skill when the user is asking for a webpage, landing page, dashboard, interactive demo, or another output that is best experienced as a live browser preview instead of plain text.
This skill uses Shift's local Skill Router. Do not ask the user for E2B credentials.
When to use it
Use this skill when the deliverable should be:
- a small shareable landing page
- a lightweight interactive UI demo
- a dashboard or microsite
- a web artifact the user should click and view in a browser
Do not use this skill for:
- plain summaries or static markdown outputs
- files that are better returned through Shift Files
- tasks that do not need a live browser preview
App model
- v1 keeps one active live app per agent
- calling the tool again updates the same app instead of creating a new one
- the app should stay simple and self-contained
- prefer static HTML/CSS/JS with no build step
Invocation
Send a POST request to:
${SHIFT_LOCAL_GATEWAY}/skill-router/invokeRequest body:
{
"skillProvider": "e2b",
"skill": "web-app",
"action": "publish",
"input": {
"files": [
{
"path": "index.html",
"content": "<!doctype html><html><body><h1>Hello</h1></body></html>"
},
{
"path": "styles.css",
"content": "body { font-family: sans-serif; }"
}
],
"deletePaths": ["old-script.js"]
}
}Input
files: required array of files to write into the live apppath: required relative path such asindex.html,styles.css, orapp.jscontent: required file contentsdeletePaths: optional list of relative paths to remove from the existing app
Output
The tool returns:
previewUrlsandboxIdstatuscreatedresumedupdatedPathsdeletedPaths
Agent behavior
1. Prefer a small self-contained app. Avoid frameworks or package installs in v1. 2. Use index.html as the entry point and keep supporting files minimal. 3. When the user asks for edits to an existing live app, send only the changed files and any deletePaths needed. 4. After the tool succeeds, reply with the live URL and a short explanation of what is ready to view. 5. If the task is better as a file or plain answer, do not invoke this skill.
{
"id": "web-app",
"name": "Web App",
"description": "Create or update a shareable live web app sandbox in E2B.",
"actions": {
"publish": {
"handler": {
"id": "e2b.web_app.publish"
},
"input": {
"bodyTemplate": {
"files": "$input.files",
"deletePaths": "$input.deletePaths"
}
},
"output": {
"responseMap": {
"sandboxId": "$response.sandboxId",
"previewUrl": "$response.previewUrl",
"status": "$response.status",
"templateName": "$response.templateName",
"created": "$response.created",
"resumed": "$response.resumed",
"updatedPaths": "$response.updatedPaths",
"deletedPaths": "$response.deletedPaths"
}
}
}
}
}