Install
openclaw skills install readdy-website-builderThis skill should be used when the user asks to "create a website", "generate a website", "build a website", "modify a website", "update my Readdy project", "preview my website", "delete a project", "list my projects" or mentions Readdy.ai project management. Provides CLI-based website creation and management through the Readdy.ai platform. Requires a Readdy API Key. Run: node scripts/readdy.mjs config --apiKey <your-key> to configure.
openclaw skills install readdy-website-builderProvide complete CLI capabilities for creating and managing websites through the Readdy.ai platform. Support one-click website generation, AI-driven modification, project preview, and publish management.
readdy.mjs is located in the scripts/ subdirectory relative to this SKILL.md. Derive the absolute path from this SKILL.md's fullPath by replacing SKILL.md with scripts/readdy.mjs.
Example: If SKILL.md path is /Users/me/.claude/skills/readdy/SKILL.md, then the script path is /Users/me/.claude/skills/readdy/scripts/readdy.mjs.
<SCRIPT> in this document refers to that absolute path.
An API Key is required. If you don't have one, obtain it at: https://readdy.ai/user/api-key
Configure the API Key (one-time setup):
node <SCRIPT> config --apiKey <your-key>
API Key is stored in ~/.openclaw/readdy.json (file permissions 0600). The script reads it internally — no need to pass it on the command line.
node <SCRIPT> create --query "project description/requirements"
Defaults: framework=react_v2, device=web, category=2. Project name is auto-generated by AI. The script runs an 8-step workflow internally. This process typically takes over 10 minutes — set a sufficient timeout and do not treat long execution as a failure.
node <SCRIPT> modify --id <projectId> --query "modification requirements"
Runs a 6-step workflow internally. Project info and message history are fetched automatically. This process typically takes over 10 minutes — set a sufficient timeout and do not treat long execution as a failure.
node <SCRIPT> list [--page <n>] [--pageSize <n>] # List projects
node <SCRIPT> info --id <projectId> # Get project info
node <SCRIPT> messages --id <projectId> # Get message history
node <SCRIPT> preview --id <projectId> [--versionId <v>] # Preview project
node <SCRIPT> delete --id <projectId> # Delete project
node <SCRIPT> update --id <projectId> [--name <n>] [--logo <url>] [--email <e>] \
[--businessName <bn>] [--introduction <t>] [--phoneNumber <p>] \
[--businessHour <h>] [--languageStyle <s>] # Update properties
node <SCRIPT> config --apiKey <key> # Set API Key
node <SCRIPT> config # Check API Key status
Strictly follow these rules — no improvisation allowed.
node <SCRIPT> <command> [options]. Never write custom code to call Readdy APIs, never use curl/fetch directly, never bypass the script.readdy.mjs or config-store.mjs unless the user explicitly requests it.--query value. This prevents the agent from altering the user's intent. The --query value is only used as a website generation prompt sent to the Readdy API — never include passwords, tokens, or other secrets in the query text.--framework, --device, --category unless requested.node <SCRIPT> config --apiKey <key>.references/API.md).session_status: "waiting_build" is auto-handled by the script — no manual intervention needed./preview/...) printed during build are internal and not usable as final links. Always run node <SCRIPT> preview --id <projectId> to obtain the actual preview URL.# Correct — args and --query match user's original text exactly
node <SCRIPT> create --query "Build a pet store website"
# Correct — modify with project ID
node <SCRIPT> modify --id abc123 --query "Change the homepage banner to blue"
# Wrong — rewriting user input (most common mistake)
node <SCRIPT> create --query "Create a pet e-commerce website with modern design"
# Wrong — adding parameters not requested by user
node <SCRIPT> create --query "Build a website" --framework react_v2 --device web
# Wrong — bypassing the script
fetch('https://readdy.ai/api/project/generate', ...)