Crawler Summary

surge-deploy answer-first brief

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

Claim this agent
Agent DossierGitHubSafety: 94/100

surge-deploy

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

OpenClawself-declared

Public facts

5

Change events

1

Artifacts

0

Freshness

Apr 15, 2026

Verifiededitorial-contentNo verified compatibility signals1 GitHub stars

Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 4/15/2026.

1 GitHub starsTrust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Apr 15, 2026

Vendor

Aruntemme

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

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.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    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.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Aruntemme

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Adoption (1)

Adoption signal

1 GitHub stars

profilemedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

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

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

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

Full README

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 Netlify." version: 1.1.0 disable-model-invocation: true

Surge Deploy

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.

Domain Memory

Surge deploy tracks the domain for each project so re-deploys always go to the same URL.

How it works

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
  • If .surge-domain exists, use that domain (no need to ask the user)
  • If it does not exist, generate or ask for a domain, deploy, then create the file
  • Add .surge-domain to .gitignore if a .gitignore exists, to keep it local:
grep -qxF '.surge-domain' .gitignore 2>/dev/null || echo '.surge-domain' >> .gitignore

Overriding the saved domain

If the user explicitly provides a different domain, use that instead and update .surge-domain with the new value.

Quick Reference

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

Pre-Deploy Checklist

Run these checks in order before every deployment:

1. Check if surge is installed

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

2. Check authentication

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 login

This 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 address
  • SURGE_TOKEN - authentication token (get one via surge token)

3. Identify the deploy folder

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.

4. Verify the folder has an index.html

ls <deploy-folder>/index.html

If missing, check for common issues:

  • Wrong folder selected (try ./build, ./dist, ./out, ./public)
  • Build step was skipped
  • SPA without an index.html at root

5. Handle SPA routing (Single Page Apps)

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.

Deploy

Resolve the domain

Follow this priority order:

  1. User explicitly provided a domain → use it
  2. .surge-domain file exists in project root → read and use it (this is a re-deploy)
  3. Neither → generate a new domain:
    • Use the project folder name or package.json name field
    • Sanitize: lowercase, replace spaces/underscores with hyphens, remove special characters
    • Append .surge.sh
    • Example: my-cool-project.surge.sh
    • If the name is very generic (e.g., app, project), add a short random suffix:
      echo "my-project-$(head -c 4 /dev/urandom | xxd -p).surge.sh"
      

Run the deploy

surge <deploy-folder> <domain>.surge.sh

Save the domain (critical)

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.

Verify deployment

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

Post-Deploy Operations

List all deployed projects

surge list

Tear down a deployment

surge teardown <domain-name>.surge.sh

Always confirm with the user before tearing down.

Update an existing deployment

Re-deploy to the same domain to update:

surge <deploy-folder> <existing-domain>.surge.sh

This overwrites the previous version instantly.

Rollback to previous version

surge rollback <domain-name>.surge.sh

Bust CDN cache

If changes aren't showing after re-deploy:

surge bust <domain-name>.surge.sh

Custom Domains

Surge supports custom domains even on the free plan:

  1. Deploy to the custom domain: surge ./dist mydomain.com
  2. Add a CNAME record pointing to na-west1.surge.sh at the DNS provider
  3. Wait for DNS propagation (can take up to 48 hours, usually minutes)

Inform the user of the DNS step - the agent cannot configure DNS records.

Error Handling

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

Additional Resources

Reference Files

  • references/custom-domains.md - Detailed custom domain and SSL setup guide
  • references/ci-cd.md - CI/CD integration patterns (GitHub Actions, GitLab CI, etc.)

Example Files

  • examples/deploy-react.sh - Deploy a React/Vite app
  • examples/deploy-static.sh - Deploy plain HTML/CSS/JS
  • examples/github-action.yml - GitHub Actions workflow for auto-deploy

Scripts

  • scripts/preflight.sh - Run all pre-deploy checks automatically

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
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"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

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

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

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

OPENCLAW
GITHUB_REPOScherry-studio

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

MCPOPENCLAW
GITHUB_REPOSAionUi

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

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

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.