Static Website Hosting - Static.app
Deploy static websites to Static.app hosting. Use when the user wants to deploy, upload, or host a static site on Static.app. Triggers on phrases like "deploy to static.app", "upload to static", "host on static.app", "static.app deploy", or when working with the Static.app hosting service.
Best use case
Static Website Hosting - Static.app is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Deploy static websites to Static.app hosting. Use when the user wants to deploy, upload, or host a static site on Static.app. Triggers on phrases like "deploy to static.app", "upload to static", "host on static.app", "static.app deploy", or when working with the Static.app hosting service.
Teams using Static Website Hosting - Static.app should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/static-app/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Static Website Hosting - Static.app Compares
| Feature / Agent | Static Website Hosting - Static.app | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Deploy static websites to Static.app hosting. Use when the user wants to deploy, upload, or host a static site on Static.app. Triggers on phrases like "deploy to static.app", "upload to static", "host on static.app", "static.app deploy", or when working with the Static.app hosting service.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# Static.app Deployment Skill
Deploy static websites and applications to [Static.app](https://static.app) hosting directly from OpenClaw.
## Workspace Structure
All Static.app operations in your workspace use a dedicated folder structure:
```
workspace/
└── staticapp/ # Main folder for all Static.app operations
├── new-site/ # New sites created locally
└── {pid}/ # Downloaded existing sites (by PID)
```
- **New sites**: Created in `staticapp/` subfolders before deployment
- **Downloaded sites**: Extracted to `staticapp/{pid}/` for editing
## How Static.app Handles Files
Static.app automatically creates clean URLs from your filenames:
| File | URL |
|------|-----|
| `index.html` | `/` (homepage) |
| `about.html` | `/about` |
| `portfolio.html` | `/portfolio` |
| `contact.html` | `/contact` |
**No subdirectories needed!** Just create `.html` files in the root folder.
## Project Structure
### Simple Multi-Page Site
```
my-site/
├── index.html # Homepage → /
├── about.html # About page → /about
├── portfolio.html # Portfolio → /portfolio
├── contact.html # Contact → /contact
├── style.css # Stylesheet
├── js/ # JavaScript files
│ ├── main.js
│ └── utils.js
└── images/ # Images folder
├── logo.png
└── photo.jpg
```
### JavaScript App (React, Vue, etc.)
For JS apps, **build first**, then deploy the `dist` (or `build`) folder:
```bash
# Build your app
npm run build
# Deploy the dist folder
node scripts/deploy.js ./dist
```
## Prerequisites
1. **Get API Key**: Go to https://static.app/account/api and create an API key (starts with `sk_`)
2. **Set Environment Variable**: Store the API key in `STATIC_APP_API_KEY` env var
## Usage
### Deploy Multi-Page Site
```bash
# Create your pages
echo '<h1>Home</h1>' > index.html
echo '<h1>About</h1>' > about.html
echo '<h1>Portfolio</h1>' > portfolio.html
# Deploy
node scripts/deploy.js
```
### Deploy Specific Directory
```bash
node scripts/deploy.js ./my-site
```
### Update Existing Site
```bash
node scripts/deploy.js . --pid olhdscieyr
```
### List All Sites
```bash
node scripts/list.js
```
### List Site Files
```bash
node scripts/files.js YOUR_PID
```
Options:
- `--raw` — Output raw JSON
- `-k <key>` — Specify API key
### Delete Site
```bash
node scripts/delete.js YOUR_PID
```
Options:
- `-f, --force` — Skip confirmation prompt
- `-k <key>` — Specify API key
### Download Site
Download an existing site to your workspace for editing:
```bash
node scripts/download.js YOUR_PID
```
This will:
1. Fetch the download URL from Static.app API
2. Download the site archive
3. Extract it to `staticapp/{pid}/`
Options:
- `-p, --pid` — Site PID to download
- `-o, --output` — Custom output directory (default: `./staticapp/{pid}`)
- `-k <key>` — Specify API key
- `--raw` — Output raw JSON response
Example:
```bash
# Download site to default location
node scripts/download.js abc123
# Download to custom folder
node scripts/download.js abc123 -o ./my-site
```
## Script Options
```
node scripts/deploy.js [SOURCE_DIR] [OPTIONS]
Arguments:
SOURCE_DIR Directory to deploy (default: current directory)
Options:
-k, --api-key API key (or set STATIC_APP_API_KEY env var)
-p, --pid Project PID to update existing site
-e, --exclude Comma-separated exclude patterns
--keep-zip Keep zip archive after deployment
```
## Default Exclusions
The following are automatically excluded from deployment:
- `node_modules`
- `.git`, `.github`
- `*.md`
- `package*.json`
- `.env`
- `.openclaw`
## Important Notes
### ✅ What Works
- **Static HTML sites** — Any number of `.html` pages
- **CSS & JavaScript** — Frontend frameworks, vanilla JS
- **Images & Assets** — Place in `images/` folder or root
- **JavaScript files** — Place in `js/` folder or root
- **Built JS Apps** — Deploy `dist/` or `build/` folder after `npm run build`
### ❌ What Doesn't Work
- **Node.js Server Apps** — No server-side rendering, no Express.js, no API routes
- **PHP, Python, Ruby** — Static.app only serves static files
- **Databases** — Use client-side storage or external APIs
### JavaScript Apps Workflow
```bash
# 1. Build your React/Vue/Angular app
npm run build
# 2. Deploy the build output
node scripts/deploy.js ./dist --pid YOUR_PID
```
## API Reference
### Deploy Site
- **Endpoint**: `POST https://api.static.app/v1/sites/zip`
- **Auth**: Bearer token (API key)
- **Body**: Multipart form with `archive` (zip file) and optional `pid`
### List Sites
- **Endpoint**: `GET https://api.static.app/v1/sites`
- **Auth**: Bearer token (API key)
- **Headers**: `Accept: application/json`
### List Site Files
- **Endpoint**: `GET https://api.static.app/v1/sites/files/{pid}`
- **Auth**: Bearer token (API key)
- **Headers**: `Accept: application/json`
### Delete Site
- **Endpoint**: `DELETE https://api.static.app/v1/sites/{pid}`
- **Auth**: Bearer token (API key)
- **Headers**: `Accept: application/json`
### Download Site
- **Endpoint**: `GET https://api.static.app/v1/sites/download/{pid}`
- **Auth**: Bearer token (API key)
- **Headers**: `Accept: application/json`
- **Response**: Returns download URL for the site archive
## Dependencies
- `archiver` — Zip archive creation
- `form-data` — Multipart form encoding
- `node-fetch` — HTTP requests
- `adm-zip` — Zip extraction
Install with: `cd scripts && npm install`
## Response
On success, the script outputs:
```
✅ Deployment successful!
🌐 Site URL: https://xyz.static.app
📋 PID: abc123
STATIC_APP_URL=https://xyz.static.app
STATIC_APP_PID=abc123
```
## Workflow
1. Check for `STATIC_APP_API_KEY` env var or `--api-key`
2. Create zip archive from source directory (with exclusions)
3. Upload to Static.app API
4. Parse response and output URLs
5. Clean up temporary zip file
## Error Handling
- Missing API key → Clear error with instructions
- Network issues → HTTP error details
- Invalid PID → API error messageRelated Skills
website-audit
Website Audit mit 230+ Rules für SEO, Performance, Security, Technical und Content Issues. LLM-optimierte Reports mit Health Scores und Handlungsempfehlungen.
static-files
Host static files on subdomains with optional authentication. Use when you need to serve HTML, images, CSS, JS, or any static content on a dedicated subdomain. Supports file upload, basic auth, quota management, and automatic SSL via Caddy. Commands include sf sites (create/list/delete), sf upload (files/directories), sf files (list/delete).
website-change-watcher
Monitor website/docs/pricing changes, diff meaningful updates, and summarize business impact with alert-ready reports.
You are Website Builder, a product-minded website planning assistant.
Your job is to help the user design and structure websites through conversation.
wp-to-static
Convert a WordPress website to a static site and deploy to Cloudflare Pages. Mirrors the rendered HTML via SSH, extracts only referenced assets (shrinks 1.5GB+ to ~25MB), fixes URLs, self-hosts fonts, strips WordPress cruft, and deploys. Use when migrating a WordPress site to static hosting.
Static (ø) Agent Interface Skill
This document describes how automated agents (openclaw, clawdbot, moldbot) can interact with the Static (ø) social media platform.
afrexai-self-hosting-mastery
Complete self-hosting and homelab operating system. Deploy, secure, monitor, and maintain self-hosted services with production-grade reliability. Use when setting up home servers, Docker infrastructure, reverse proxies, backups, monitoring, or evaluating self-hosted alternatives to SaaS.
---
name: article-factory-wechat
humanizer
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
tavily-search
Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.
baidu-search
Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.