一键导入
anyclaw-publish
// Build and publish beautiful web apps to Anyclaw hosting using the REST API. Use when asked to create, deploy, publish, update, or list hosted apps (both local dev and production).
// Build and publish beautiful web apps to Anyclaw hosting using the REST API. Use when asked to create, deploy, publish, update, or list hosted apps (both local dev and production).
Search local Codex chat history by project, thread title, or message text across sessions and archived_sessions, returning thread IDs, project/cwd values, timestamps, and snippets. Use when the user asks to find prior chats, filter history to one project, discover threads about a topic, or locate historical Codex messages.
Help users operate the published Composio CLI to find the right tool, connect accounts, inspect schemas, execute tools, subscribe to trigger events with `composio listen`, script workflows with `composio run`, and call authenticated app APIs with `composio proxy`. Use when the user asks how to do something with `composio`, wants to run a known tool slug, needs to discover a slug with `composio search`, fix a missing connection with `composio link`, inspect tool inputs with `--get-schema` or `--dry-run`, troubleshoot top-level CLI flows, or explicitly needs `composio dev` guidance.
Track flight prices using Google Flights data. Search flights, find cheapest dates, filter by airline/time/duration/price, track routes over time, and get alerts when prices drop. Also runs as an MCP server. Requires Python 3.10+ and the 'flights' and 'mcp' pip packages. Run setup.sh to install dependencies.
Send Telegram bot messages using token and chatIds stored in ~/.codex/telegram-bridge.json. Use this when a user asks to send any text update to Telegram; if news is requested, research it first, then send the composed summary text.
Automatically publish short text posts to X/Twitter via Shizuku and Android UI automation. Use when the user asks to open Twitter and post text fully autonomously without manual tapping.
| name | anyclaw-publish |
| description | Build and publish beautiful web apps to Anyclaw hosting using the REST API. Use when asked to create, deploy, publish, update, or list hosted apps (both local dev and production). |
Use this skill when building or publishing web apps on Anyclaw via the REST API:
POST /api/deploy — upload an app and receive a claim URLGET /api/apps — list all appsCreating, building, updating, or improving an Anyclaw app includes publishing unless the user explicitly says not to deploy.
For app creation/update requests:
app.json.site_map list for all major views/pages when the app has multiple views/pages (examples: #settings, /pricing, about.html).POST /api/deploy and site_map when available. If site_map is omitted, the server captures / by default.app_id and claim_url from the deploy response.Do not stop at local files when production deployment is possible. Use local dev only when explicitly requested or targeted.
When stack is not specified, default to fast iteration stack:
When the user does not provide design direction, use these defaults:
Use Firebase for login, signup, profiles, authenticated routes, user-owned data, persistence, or cross-device/shared state.
Use Firebase Auth for login apps. Use Firestore for user-owned data keyed by auth.currentUser.uid.
Do not use localStorage for fake login or durable app data unless the user explicitly requests a local-only prototype. localStorage is fine for transient UI state like theme, tips, drafts, or filters.
When an app needs Firebase, initialize Firebase with this client config:
const firebaseConfig = {
apiKey: "AIzaSyAf0CIHBZ-wEQJ8CCUUWo1Wl9P7typ_ZPI",
authDomain: "gptcall-416910.firebaseapp.com",
projectId: "gptcall-416910",
storageBucket: "gptcall-416910.appspot.com",
messagingSenderId: "99275526699",
appId: "1:99275526699:web:3b623e1e2996108b52106e"
};
Every app ZIP must include these assets before deployment:
icon.svg or existing PNG)Generate a custom SVG icon for the app unless a suitable PNG icon already exists. The icon should:
icon.svg in the project root for newly created iconsicon.png or keep its existing relative path and reference that path in app.jsonapp.json)Include an app.json in the ZIP root:
{
"title": "My App",
"description": "A clear, compelling description of what the app does.",
"category": "Productivity",
"icon": "icon.svg",
(optional) "screenshots": ["screenshots/screenshot-1.png"]
}
1366x768768x1366site_map during deploy; server auto-captures both orientations for each entry.site_map is provided, the server captures the front page (/) in both orientations.| Environment | Base URL | Deploy | List |
|---|---|---|---|
| Production | https://anyclaw.store | POST /api/deploy | GET /api/apps |
| Local dev | http://localhost:<PORT> (set by npm run dev) | POST /api/deploy | GET /api/apps |
Use local when the local dev server is running (cd /Users/igor/Git-projects/incus-mcp-php-hosting && npm run dev).
If you run npm run dev, capture the printed port in its output and use that value as <PORT>.
Use production for real deployments.
Create a ZIP of your app, base64-encode it, then deploy with curl:
ZIP_B64=$(base64 < /path/to/app.zip | tr -d '\n')
curl -X POST <BASE_URL>/api/deploy \
-H "Content-Type: application/json" \
-d "{
\"app_id\": \"my-app\",
\"zip_b64\": \"$ZIP_B64\",
\"app_type\": \"<web_app|website|game>\",
\"site_map\": [\"/\", \"#settings\", \"/pricing\", \"about.html\"]
}"
Set app_type to categorize the app:
website — informational/marketing sites, landing pages, company sites, restaurant/kitchen/studio sites, portfolios, blogs, documentation, and other content-first sitesweb_app — interactive applications, dashboards, tools, authenticated apps, productivity apps, and app-like utilitiesgame — browser gamesIf the user asks for a "site", "website", "landing page", "homepage", "marketing page", "portfolio", "blog", "docs", "restaurant site", or similar content-first project, deploy with app_type: "website".
Do not republish a website as web_app just to get PWA install behavior. Website deploys intentionally keep app_type: "website" and still get an Anyclaw store/detail page at /install.
Deploy response returns claim_token and claim_url. Do not claim uploads from this skill; return the claim link to the user.
All app types are claimed through the returned claim URL. Only web_app and game deploys get manifests, service workers, PWA icons, and an install button after claim. website deploys do not get PWA assets or install prompts.
curl <BASE_URL>/api/apps
<base>/claim/<claim-token><base>/After successful deployment, reply with a short, friendly, non-technical message like:
Your app is uploaded! Open it here:
Do not dump raw JSON or technical deployment details. Just share the claim link.
--headed with Playwright — always headlessapp_type param — set it to match your app's categoryapp_type from website to web_app to get PWA install behavior; websites have a store/detail page but no PWA install buttonsite_map when there are multiple important views/pages; single-page apps can rely on the server default front-page screenshotsapp_id and claim_url from the deploy response.