Playbook for creating and editing uCoz landing pages via MCP tools (templates_tool, ftp_tool, modules_tool)...
This skill activates for uCoz landing page creation and editing tasks.
After successfully completing the skill's main work, record the usage:
skills_tool(action="register_usage", skill_id="ucoz-landing-skill")
If the usage API is unavailable or returns an error, show a brief warning and continue the skill's main workflow. Do not ask the user for a UUID, token, or site URL — the site is taken from the active ucoz-mcp connection (the one chosen via select_site).
Landing page = personal template of the home page (page_id=1, page_owntmpl=1).
https://www.ucoz.com/mcp — the agent config needs only the URL, no tokens or Node.js.list_sites → select_site(site_id); all tools work on the selected site.| Tool | Purpose |
|---|---|
templates_tool |
Pages (page_*), menus (menu_*), mail forms (mail_*), patch_template / update_template |
files_tool |
Site files: list, mkdir, upload (text or content_base64), upload_url, content_get / content_put |
ftp_tool |
FTP password (ftp_password_*); in the legacy NPM MCP — also FTP file operations |
modules_tool |
Module catalog, mail forms module install (module_install); quarantine unlock for indexing (quarantine_unlock) |
modules_tool and ftp_password_* require the signed-in account to be the site owner or have site administrator rights.
Before starting, read the full playbook:
references/PLAYBOOK.md
The playbook includes:
patch_template rule for editing existing landing HTML (module_id=2, template_id=1)files_toolBefore Step 4 of the playbook (writing any CSS/HTML), also read the visual system:
references/VISUAL.md
VISUAL.md includes:
:root variables, WCAG contrast minimums, OKLCH/color-mix() derivation), component states (button/input/card default/hover/focus/active/disabled), and page-level background rhythm between sections@layer vs. unlayered system CSS, nesting depth ≤ 3)IntersectionObserver fallback, mandatory prefers-reduced-motion)script.js tiered the same way, including the rule to never intercept $MFORM_N$ submission with fetch/FormData