uCoz Design Editor Skill
This skill teaches how to redesign and restyle uCoz sites through ucoz-mcp, with platform-safe template edits.
It does not replace the MCP tools — it supplies domain knowledge the MCP does not: design-system
architecture, system markup, CSS placement, safety rules, and which reference to open for a task.
Rule 0 — Usage accounting
After the skill's main work completes successfully, record usage:
skills_tool(action="register_usage", skill_id="ucoz-design-editor-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 and token come from the active ucoz-mcp connection.
Scope
- Site-wide design / redesign (chrome, tokens, shared CSS)
- Global blocks, menus, mail forms, site pages
- Content modules (blog, news, articles, photo albums, site directory, …)
- Shop, users, search, subscriptions modules
- FTP assets and module install/enable
MCP tools
| Tool |
Purpose |
templates_tool |
Templates, backups, global blocks, menus, mail forms, pages |
ftp_tool |
File upload/download; FTP password management |
modules_tool |
Install/uninstall modules, quarantine; needs Control Panel API access |
skills_tool |
Usage accounting (register_usage) after successful work |
Safety checklist (before patch_template / update_template)
Always confirm with the user first: update_template on an existing template, restore_backup, delete_backup, page_delete / menu_delete / mail_delete_form, module_uninstall, quarantine_unlock, ftp_password_reset / ftp_password_change.
Details: EDITING.md, ARCHITECTURE.md.
Anti-patterns
| Wrong |
Correct |
| Guess variable names by analogy |
Confirm via read_template / get_variables |
update_template for a small change |
patch_template with exact code_search |
Reformat whitespace in code_search |
Copy byte-for-byte from read_template |
Inline <style> in page/global-block templates |
CSS template 3/3, module CSS, or one FTP asset |
| Hand-coded menu / mail form HTML |
menu_* / mail_* + $NMENU_*$ / $MFORM_*$ |
Hide $POWERED_BY$ |
Keep visible in BFOOTER |
Grid on wrapper around $BODY$ instead of #allEntries |
See SYSTEM-MARKUP.md |
| Assume template markup is what the live page renders |
Fetch the live page first (#uf-register, widgets, …) |
Quick decision helper
| Task |
Open |
| Find module/template IDs |
ARCHITECTURE.md → list_modules |
| Header / footer / shared chrome |
GBLOCKS.md |
Custom global block / $GLOBAL_*$ |
GBLOCKS.md |
| Where to put CSS / verify live CSS |
ARCHITECTURE.md |
| Patch vs rewrite / backups / encoding |
EDITING.md |
$VAR$ / <?if?> expressions |
LANGUAGE.md |
| Menus, mail forms, pages, FTP, modules |
TOOLS.md |
eMessage / manTable / #allEntries / .goods-list |
SYSTEM-MARKUP.md |
System _uWnd / xw-* toasts, alerts, mail success modals |
UWND.md → EXAMPLES.md#uwnd-glass |
| Blog / news / articles / photo / other content modules |
BLOG.md → SYSTEM-MARKUP.md |
| Photo albums specifically |
PHOTO.md |
| Forum (rules) |
FORUM.md |
| Forum glass CSS pattern |
EXAMPLES.md#forum-glass-apple |
| Shop |
SHOP.md |
| Users / cabinet |
USERS.md |
| Search overlay / results |
SEARCH.md |
| Subscriptions & plans |
SUBSCRIPTIONS.md |
| Auth modal / other UI patterns |
EXAMPLES.md |
Rules vs examples: references/*.md = hard platform rules. EXAMPLES.md = optional copy-paste UI patterns. Forum rules → references/FORUM.md; forum glass sample → EXAMPLES.md#forum-glass-apple. System _uWnd popups/modals → references/UWND.md (not FORUM.md).
Core workflow
- Locate —
list_modules if needed → read_template.
- Diagnose —
$GLOBAL_XXX$ → edit that global block; list card → Entry view template; else page template. Fetch live DOM when layout/CSS is involved.
- Verify variables — LANGUAGE.md.
- Edit —
patch_template (byte-exact) or confirmed update_template; menus/mail/pages via their APIs (TOOLS.md).
- Validate —
validate_template for non-trivial changes.
- Confirm — re-read template or live page after save.
- Report — what changed (module/template/block) and any manual CP step.
Site-wide redesign order
Prefer cheapest/safest first:
- Design tokens in the CSS template / canonical stylesheet
- Component CSS (hardcoded values → tokens)
- Structural HTML last — and only where needed; keep JS-wired DOM shapes intact (SYSTEM-MARKUP.md)
References
| File |
Contents |
| EDITING.md |
Patch/update, validation, backups, troubleshooting |
| LANGUAGE.md |
Variables and expressions |
| ARCHITECTURE.md |
Template structure, CSS strategy |
| SYSTEM-MARKUP.md |
System forms, #allEntries, shop grids |
| UWND.md |
_uWnd / xw-* toasts, alerts, mail success modals |
| TOOLS.md |
FTP, modules, mail, menus, pages |
| GBLOCKS.md |
Global blocks |
| BLOG.md |
Content-module playbook (blog + peers) |
| PHOTO.md |
Photo albums (9) |
| FORUM.md |
Forum (8) |
| SHOP.md |
Online store (20) |
| USERS.md |
Users module (4) |
| SEARCH.md |
Search (19) |
| SUBSCRIPTIONS.md |
Subscriptions (25) |
| EXAMPLES.md |
Optional implementation patterns (auth modal, cards, shop UI, …) |
Setup
Requires MCP env: UCOZ_API_TOKEN, UCOZ_SITE_URL, UCOZ_FTP_HOST, UCOZ_FTP_USER, UCOZ_FTP_PASS.
modules_tool and most admin actions need Control Panel settings access on the API key.
This skill assumes ucoz-mcp is already connected.
1---2name: ucoz-design-editor-skill3description: Redesign and restyle uCoz sites via MCP: colors, typography, CSS, header/footer, global blocks, menus, forms, and module templates (blog, shop, forum, photos, users, search, subscriptions). Use when the user asks to redesign, restyle, change the design or CSS, or make a uCoz site look better.4license: MIT5---67# uCoz Design Editor Skill89This skill teaches how to redesign and restyle **uCoz sites** through `ucoz-mcp`, with platform-safe template edits.10It does not replace the MCP tools — it supplies domain knowledge the MCP does not: design-system11architecture, system markup, CSS placement, safety rules, and which reference to open for a task.1213## Rule 0 — Usage accounting1415After the skill's main work completes successfully, record usage:1617```text18skills_tool(action="register_usage", skill_id="ucoz-design-editor-skill")19```2021If 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 and token come from the active `ucoz-mcp` connection.2223## Scope2425- Site-wide design / redesign (chrome, tokens, shared CSS)26- Global blocks, menus, mail forms, site pages27- Content modules (blog, news, articles, photo albums, site directory, …)28- Shop, users, search, subscriptions modules29- FTP assets and module install/enable3031## MCP tools3233| Tool | Purpose |34|---|---|35| `templates_tool` | Templates, backups, global blocks, menus, mail forms, pages |36| `ftp_tool` | File upload/download; FTP password management |37| `modules_tool` | Install/uninstall modules, quarantine; needs Control Panel API access |38| `skills_tool` | Usage accounting (`register_usage`) after successful work |3940## Safety checklist (before `patch_template` / `update_template`)4142- [ ] Production header only in `1/AHEADER`; production footer (single visible `$POWERED_BY$`) only in `1/BFOOTER`43- [ ] Public full-page shells render `$GLOBAL_AHEADER$` and `$GLOBAL_BFOOTER$` — never copy header/footer into module templates44- [ ] Navigation from menu variables (e.g. `$NMENU_1$`), not hardcoded menu HTML45- [ ] Multi-section redesign CSS: one canonical external stylesheet via FTP (or module CSS / `3/3` per [ARCHITECTURE.md](references/ARCHITECTURE.md)) — no scattered `<style>` blocks46- [ ] `read_template` first; variables only from that output or `get_variables` — never invent names47- [ ] Partial edit → `patch_template` with byte-exact `code_search`; full rewrite → `update_template` only after user confirmation48- [ ] Before `update_template`, `read_template` again in the same turn (do not reconstruct from memory — especially third-party scripts)49- [ ] Never hide `$POWERED_BY$` (including CSS tricks)50- [ ] After save: re-`read_template` or fetch live page — `patch_template` can report success without persisting51- [ ] Risky bulk change: check backup headroom (`list_backups`)5253**Always confirm with the user first:** `update_template` on an existing template, `restore_backup`, `delete_backup`, `page_delete` / `menu_delete` / `mail_delete_form`, `module_uninstall`, `quarantine_unlock`, `ftp_password_reset` / `ftp_password_change`.5455Details: [EDITING.md](references/EDITING.md), [ARCHITECTURE.md](references/ARCHITECTURE.md).5657## Anti-patterns5859| Wrong | Correct |60|---|---|61| Guess variable names by analogy | Confirm via `read_template` / `get_variables` |62| `update_template` for a small change | `patch_template` with exact `code_search` |63| Reformat whitespace in `code_search` | Copy byte-for-byte from `read_template` |64| Inline `<style>` in page/global-block templates | CSS template `3/3`, module CSS, or one FTP asset |65| Hand-coded menu / mail form HTML | `menu_*` / `mail_*` + `$NMENU_*$` / `$MFORM_*$` |66| Hide `$POWERED_BY$` | Keep visible in `BFOOTER` |67| Grid on wrapper around `$BODY$` instead of `#allEntries` | See [SYSTEM-MARKUP.md](references/SYSTEM-MARKUP.md) |68| Assume template markup is what the live page renders | Fetch the live page first (`#uf-register`, widgets, …) |6970## Quick decision helper7172| Task | Open |73|---|---|74| Find module/template IDs | [ARCHITECTURE.md](references/ARCHITECTURE.md) → `list_modules` |75| Header / footer / shared chrome | [GBLOCKS.md](references/GBLOCKS.md) |76| Custom global block / `$GLOBAL_*$` | [GBLOCKS.md](references/GBLOCKS.md) |77| Where to put CSS / verify live CSS | [ARCHITECTURE.md](references/ARCHITECTURE.md) |78| Patch vs rewrite / backups / encoding | [EDITING.md](references/EDITING.md) |79| `$VAR$` / `<?if?>` expressions | [LANGUAGE.md](references/LANGUAGE.md) |80| Menus, mail forms, pages, FTP, modules | [TOOLS.md](references/TOOLS.md) |81| `eMessage` / `manTable` / `#allEntries` / `.goods-list` | [SYSTEM-MARKUP.md](references/SYSTEM-MARKUP.md) |82| System `_uWnd` / `xw-*` toasts, alerts, mail success modals | [UWND.md](references/UWND.md) → [EXAMPLES.md#uwnd-glass](EXAMPLES.md#uwnd-glass) |83| Blog / news / articles / photo / other content modules | [BLOG.md](references/BLOG.md) → [SYSTEM-MARKUP.md](references/SYSTEM-MARKUP.md) |84| Photo albums specifically | [PHOTO.md](references/PHOTO.md) |85| Forum (rules) | [FORUM.md](references/FORUM.md) |86| Forum glass CSS pattern | [EXAMPLES.md#forum-glass-apple](EXAMPLES.md#forum-glass-apple) |87| Shop | [SHOP.md](references/SHOP.md) |88| Users / cabinet | [USERS.md](references/USERS.md) |89| Search overlay / results | [SEARCH.md](references/SEARCH.md) |90| Subscriptions & plans | [SUBSCRIPTIONS.md](references/SUBSCRIPTIONS.md) |91| Auth modal / other UI patterns | [EXAMPLES.md](EXAMPLES.md) |9293**Rules vs examples:** `references/*.md` = hard platform rules. `EXAMPLES.md` = optional copy-paste UI patterns. Forum rules → `references/FORUM.md`; forum glass sample → `EXAMPLES.md#forum-glass-apple`. System `_uWnd` popups/modals → `references/UWND.md` (not FORUM.md).9495## Core workflow96971. **Locate** — `list_modules` if needed → `read_template`.982. **Diagnose** — `$GLOBAL_XXX$` → edit that global block; list card → Entry view template; else page template. Fetch live DOM when layout/CSS is involved.993. **Verify variables** — [LANGUAGE.md](references/LANGUAGE.md).1004. **Edit** — `patch_template` (byte-exact) or confirmed `update_template`; menus/mail/pages via their APIs ([TOOLS.md](references/TOOLS.md)).1015. **Validate** — `validate_template` for non-trivial changes.1026. **Confirm** — re-read template or live page after save.1037. **Report** — what changed (module/template/block) and any manual CP step.104105## Site-wide redesign order106107Prefer cheapest/safest first:1081091. Design tokens in the CSS template / canonical stylesheet1102. Component CSS (hardcoded values → tokens)1113. Structural HTML last — and only where needed; keep JS-wired DOM shapes intact ([SYSTEM-MARKUP.md](references/SYSTEM-MARKUP.md))112113## References114115| File | Contents |116|---|---|117| [EDITING.md](references/EDITING.md) | Patch/update, validation, backups, troubleshooting |118| [LANGUAGE.md](references/LANGUAGE.md) | Variables and expressions |119| [ARCHITECTURE.md](references/ARCHITECTURE.md) | Template structure, CSS strategy |120| [SYSTEM-MARKUP.md](references/SYSTEM-MARKUP.md) | System forms, `#allEntries`, shop grids |121| [UWND.md](references/UWND.md) | `_uWnd` / `xw-*` toasts, alerts, mail success modals |122| [TOOLS.md](references/TOOLS.md) | FTP, modules, mail, menus, pages |123| [GBLOCKS.md](references/GBLOCKS.md) | Global blocks |124| [BLOG.md](references/BLOG.md) | Content-module playbook (blog + peers) |125| [PHOTO.md](references/PHOTO.md) | Photo albums (`9`) |126| [FORUM.md](references/FORUM.md) | Forum (`8`) |127| [SHOP.md](references/SHOP.md) | Online store (`20`) |128| [USERS.md](references/USERS.md) | Users module (`4`) |129| [SEARCH.md](references/SEARCH.md) | Search (`19`) |130| [SUBSCRIPTIONS.md](references/SUBSCRIPTIONS.md) | Subscriptions (`25`) |131| [EXAMPLES.md](EXAMPLES.md) | Optional implementation patterns (auth modal, cards, shop UI, …) |132133## Setup134135Requires MCP env: `UCOZ_API_TOKEN`, `UCOZ_SITE_URL`, `UCOZ_FTP_HOST`, `UCOZ_FTP_USER`, `UCOZ_FTP_PASS`.136`modules_tool` and most admin actions need Control Panel settings access on the API key.137This skill assumes `ucoz-mcp` is already connected.