Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
This skill should be used when the user asks to deploy to surge, publish to surge.sh, or says 'static deploy', 'deploy static', 'deploy to surge', '/static-deploy'. Deploys any static build output - React, Vite, Vue, Next.js static export, Astro, SvelteKit, Hugo, plain HTML, or any framework that produces a build folder. This is specifically for surge.sh deployments, not Vercel or Netlify. --- name: surge-deploy description: "This skill should be used when the user asks to deploy to surge, publish to surge.sh, or says 'static deploy', 'deploy static', 'deploy to surge', '/static-deploy'. Deploys any static build output - React, Vite, Vue, Next.js static export, Astro, SvelteKit, Hugo, plain HTML, or any framework that produces a build folder. This is specifically for surge.sh deployments, not Vercel or Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 4/15/2026.
Freshness
Last checked 4/15/2026
Best For
surge-deploy is best for take, custom workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
This skill should be used when the user asks to deploy to surge, publish to surge.sh, or says 'static deploy', 'deploy static', 'deploy to surge', '/static-deploy'. Deploys any static build output - React, Vite, Vue, Next.js static export, Astro, SvelteKit, Hugo, plain HTML, or any framework that produces a build folder. This is specifically for surge.sh deployments, not Vercel or Netlify. --- name: surge-deploy description: "This skill should be used when the user asks to deploy to surge, publish to surge.sh, or says 'static deploy', 'deploy static', 'deploy to surge', '/static-deploy'. Deploys any static build output - React, Vite, Vue, Next.js static export, Astro, SvelteKit, Hugo, plain HTML, or any framework that produces a build folder. This is specifically for surge.sh deployments, not Vercel or
Public facts
5
Change events
1
Artifacts
0
Freshness
Apr 15, 2026
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Apr 15, 2026
Vendor
Aruntemme
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 4/15/2026.
Setup snapshot
git clone https://github.com/aruntemme/surge-deploy.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Aruntemme
Protocol compatibility
OpenClaw
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
bash
echo "my-project.surge.sh" > .surge-domain
bash
cat .surge-domain 2>/dev/null
bash
grep -qxF '.surge-domain' .gitignore 2>/dev/null || echo '.surge-domain' >> .gitignore
bash
which surge
bash
npm install -g surge
bash
surge whoami
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
This skill should be used when the user asks to deploy to surge, publish to surge.sh, or says 'static deploy', 'deploy static', 'deploy to surge', '/static-deploy'. Deploys any static build output - React, Vite, Vue, Next.js static export, Astro, SvelteKit, Hugo, plain HTML, or any framework that produces a build folder. This is specifically for surge.sh deployments, not Vercel or Netlify. --- name: surge-deploy description: "This skill should be used when the user asks to deploy to surge, publish to surge.sh, or says 'static deploy', 'deploy static', 'deploy to surge', '/static-deploy'. Deploys any static build output - React, Vite, Vue, Next.js static export, Astro, SvelteKit, Hugo, plain HTML, or any framework that produces a build folder. This is specifically for surge.sh deployments, not Vercel or
Deploy any website's build output to the web in seconds using surge.sh. Works with React, Vite, Vue, Next.js (static export), Astro, SvelteKit, Hugo, 11ty, plain HTML - anything that produces a folder of static files after build.
Scope: Surge serves static files. If the project needs server-side rendering, serverless functions, or API routes at runtime, use Vercel/Netlify instead.
Surge deploy tracks the domain for each project so re-deploys always go to the same URL.
After a successful first deploy, save the domain in a .surge-domain file at the project root:
echo "my-project.surge.sh" > .surge-domain
On every subsequent deploy, always check for this file first:
cat .surge-domain 2>/dev/null
.surge-domain exists, use that domain (no need to ask the user).surge-domain to .gitignore if a .gitignore exists, to keep it local:grep -qxF '.surge-domain' .gitignore 2>/dev/null || echo '.surge-domain' >> .gitignore
If the user explicitly provides a different domain, use that instead and update .surge-domain with the new value.
| Action | Command |
|---|---|
| Deploy | surge ./path name.surge.sh |
| List projects | surge list |
| Tear down | surge teardown name.surge.sh |
| Check auth | surge whoami |
| View files | surge files name.surge.sh |
| Bust cache | surge bust name.surge.sh |
| Rollback | surge rollback name.surge.sh |
Run these checks in order before every deployment:
which surge
If not found, install it:
npm install -g surge
If npm is not available, try npx surge as a fallback (works without global install).
surge whoami
If not authenticated, do NOT attempt to run surge login programmatically - it is interactive and requires the user to type their email and password.
Instead, inform the user:
Surge requires a one-time login. Run this in your terminal:
surge loginThis takes 30 seconds - enter your email and password (or create a free account). Once done, authentication persists forever until you explicitly log out.
Then stop and wait for the user to confirm they've logged in before proceeding.
For CI/CD or token-based auth, check for environment variables:
SURGE_LOGIN - email addressSURGE_TOKEN - authentication token (get one via surge token)Determine the correct folder to deploy. Common patterns:
| Framework | Build command | Output folder |
|---|---|---|
| Plain HTML/CSS/JS | None needed | Project root or ./ |
| React (CRA) | npm run build | ./build |
| Vite | npm run build | ./dist |
| Next.js (static) | next build && next export | ./out |
| Astro | npm run build | ./dist |
| SvelteKit (static) | npm run build | ./build |
| Hugo | hugo | ./public |
| 11ty | npx eleventy | ./docs or ./_site |
If the project has a package.json with a build script, run the build first:
npm run build
If the folder contains only HTML/CSS/JS files with no build step, deploy the folder directly.
ls <deploy-folder>/index.html
If missing, check for common issues:
./build, ./dist, ./out, ./public)For SPAs using client-side routing (React Router, Vue Router, etc.), create a 200.html that is a copy of index.html:
cp <deploy-folder>/index.html <deploy-folder>/200.html
This tells surge to serve index.html for all routes, preventing 404s on direct URL access or page refresh.
Follow this priority order:
.surge-domain file exists in project root → read and use it (this is a re-deploy)package.json name field.surge.shmy-cool-project.surge.shapp, project), add a short random suffix:
echo "my-project-$(head -c 4 /dev/urandom | xxd -p).surge.sh"
surge <deploy-folder> <domain>.surge.sh
After a successful deploy, always persist the domain:
echo "<domain>.surge.sh" > .surge-domain
grep -qxF '.surge-domain' .gitignore 2>/dev/null || echo '.surge-domain' >> .gitignore
This ensures the next /surge re-deploys to the same URL automatically.
After surge completes, confirm the URL is live:
curl -s -o /dev/null -w "%{http_code}" https://<domain>.surge.sh
A 200 status confirms success. Present the live URL to the user prominently:
Your site is live at: https://domain.surge.sh
surge list
surge teardown <domain-name>.surge.sh
Always confirm with the user before tearing down.
Re-deploy to the same domain to update:
surge <deploy-folder> <existing-domain>.surge.sh
This overwrites the previous version instantly.
surge rollback <domain-name>.surge.sh
If changes aren't showing after re-deploy:
surge bust <domain-name>.surge.sh
Surge supports custom domains even on the free plan:
surge ./dist mydomain.comna-west1.surge.sh at the DNS providerInform the user of the DNS step - the agent cannot configure DNS records.
| Error | Cause | Fix |
|---|---|---|
| Not authorized | Not logged in | Run surge login |
| Domain already taken | Another user owns that subdomain | Choose a different name |
| No index.html | Missing entry point | Check deploy folder path |
| ENOENT | Folder doesn't exist | Verify the path |
| EACCES | Permission denied | Check folder permissions |
references/custom-domains.md - Detailed custom domain and SSL setup guidereferences/ci-cd.md - CI/CD integration patterns (GitHub Actions, GitLab CI, etc.)examples/deploy-react.sh - Deploy a React/Vite appexamples/deploy-static.sh - Deploy plain HTML/CSS/JSexamples/github-action.yml - GitHub Actions workflow for auto-deployscripts/preflight.sh - Run all pre-deploy checks automaticallyMachine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/snapshot"
curl -s "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/contract"
curl -s "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 5d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-17T00:52:43.082Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "take",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "custom",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:take|supported|profile capability:custom|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Aruntemme",
"href": "https://github.com/aruntemme/surge-deploy",
"sourceUrl": "https://github.com/aruntemme/surge-deploy",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:18:50.943Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T00:18:50.943Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1 GitHub stars",
"href": "https://github.com/aruntemme/surge-deploy",
"sourceUrl": "https://github.com/aruntemme/surge-deploy",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:18:50.943Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/aruntemme-surge-deploy/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to surge-deploy and adjacent AI workflows.