Tilda Modification Skill
Use this skill to create practical, paste-ready HTML/CSS/JS customizations for Tilda sites while keeping changes scoped, reversible, and resilient to Tilda's dynamic rendering.
Core Workflow
- Identify the target: standard block, Zero Block, catalog/card, product popup, form, menu, popup, or animation.
- Ask for the page URL, block ID, or exported HTML only if selectors cannot be inferred safely.
- Never invent exact Tilda selectors. Use exact selectors only from user-provided HTML or known page context.
- Mark block-dependent selectors as examples with comments such as
/* replace with your block id */.
- Scope every CSS and JS change to one page area, preferably
#recXXXXXX, .t-rec[data-record-type="..."], or a custom wrapper.
- Prefer vanilla JS. Do not add jQuery, libraries, build tools, or external dependencies unless the user explicitly asks.
- Account for dynamic loading: initialize on
DOMContentLoaded, window.load, Tilda events when available, and use MutationObserver for catalogs, popups, and asynchronously rendered elements.
- Prevent duplicate injected elements with
data-* markers and existence checks.
- Explain where to paste code in Tilda: page settings, site settings, HTML block, Zero Block custom code, or specific element settings.
- Finish with a desktop/tablet/mobile check plan.
Output Rules
- Write final guidance in Russian unless the user requests another language.
- Provide code ready to paste into Tilda.
- Separate CSS and JS when the insertion place differs.
- Include a short "Куда вставить" section before or after code.
- Include assumptions and selector notes when selectors are approximate.
- Do not promise that a selector works for every Tilda block.
Resource Map
Load only the files needed for the task:
references/tilda-insertion-points.md: where to paste code in Tilda.
references/selector-safety.md: selector rules and scoped CSS guidance.
references/dynamic-dom.md: initialization, MutationObserver, and duplicate prevention.
snippets/: paste-ready reusable CSS/JS patterns.
examples/: complete applied examples for common Tilda modifications.
checklists/responsive-qa.md: desktop/tablet/mobile verification checklist.
Default Response Shape
Use this structure for implementation answers:
**Что меняем**
Коротко описать цель и область действия.
**Куда вставить**
Указать точное место в Tilda.
**Код**
[готовый код]
**Что заменить**
Перечислить block ID, классы, тексты, ссылки, цвета.
**Проверка**
Краткий чеклист desktop/tablet/mobile.
Safety Defaults
- Use IIFEs for JS to avoid global variables.
- Use
data-tilda-codex-* attributes for injected nodes and init markers.
- Use
CSS.escape when building selectors from IDs or dynamic values, with a fallback if needed.
- Avoid broad selectors such as
.t-card, .t-btn, .t-input, .t-popup unless scoped to a specific block.
- Avoid editing generated inline styles unless there is no safer target.
- Avoid
setInterval; prefer event hooks and observers. If polling is unavoidable, stop it after a short timeout.
- Keep animations respectful: honor
prefers-reduced-motion.
1---2name: tilda-codex-skill3description: Build safe HTML, CSS, and vanilla JavaScript modifications for Tilda websites. Use when Codex needs to customize standard Tilda blocks, Zero Block, product catalogs, product cards, product popups, forms, menus, popups, animations, scoped CSS, dynamic DOM updates, MutationObserver behavior, or explain exactly where to paste code in Tilda.4---56# Tilda Modification Skill78Use this skill to create practical, paste-ready HTML/CSS/JS customizations for Tilda sites while keeping changes scoped, reversible, and resilient to Tilda's dynamic rendering.910## Core Workflow11121. Identify the target: standard block, Zero Block, catalog/card, product popup, form, menu, popup, or animation.132. Ask for the page URL, block ID, or exported HTML only if selectors cannot be inferred safely.143. Never invent exact Tilda selectors. Use exact selectors only from user-provided HTML or known page context.154. Mark block-dependent selectors as examples with comments such as `/* replace with your block id */`.165. Scope every CSS and JS change to one page area, preferably `#recXXXXXX`, `.t-rec[data-record-type="..."]`, or a custom wrapper.176. Prefer vanilla JS. Do not add jQuery, libraries, build tools, or external dependencies unless the user explicitly asks.187. Account for dynamic loading: initialize on `DOMContentLoaded`, `window.load`, Tilda events when available, and use `MutationObserver` for catalogs, popups, and asynchronously rendered elements.198. Prevent duplicate injected elements with `data-*` markers and existence checks.209. Explain where to paste code in Tilda: page settings, site settings, HTML block, Zero Block custom code, or specific element settings.2110. Finish with a desktop/tablet/mobile check plan.2223## Output Rules2425- Write final guidance in Russian unless the user requests another language.26- Provide code ready to paste into Tilda.27- Separate CSS and JS when the insertion place differs.28- Include a short "Куда вставить" section before or after code.29- Include assumptions and selector notes when selectors are approximate.30- Do not promise that a selector works for every Tilda block.3132## Resource Map3334Load only the files needed for the task:3536- `references/tilda-insertion-points.md`: where to paste code in Tilda.37- `references/selector-safety.md`: selector rules and scoped CSS guidance.38- `references/dynamic-dom.md`: initialization, MutationObserver, and duplicate prevention.39- `snippets/`: paste-ready reusable CSS/JS patterns.40- `examples/`: complete applied examples for common Tilda modifications.41- `checklists/responsive-qa.md`: desktop/tablet/mobile verification checklist.4243## Default Response Shape4445Use this structure for implementation answers:4647```markdown48**Что меняем**49Коротко описать цель и область действия.5051**Куда вставить**52Указать точное место в Tilda.5354**Код**55[готовый код]5657**Что заменить**58Перечислить block ID, классы, тексты, ссылки, цвета.5960**Проверка**61Краткий чеклист desktop/tablet/mobile.62```6364## Safety Defaults6566- Use IIFEs for JS to avoid global variables.67- Use `data-tilda-codex-*` attributes for injected nodes and init markers.68- Use `CSS.escape` when building selectors from IDs or dynamic values, with a fallback if needed.69- Avoid broad selectors such as `.t-card`, `.t-btn`, `.t-input`, `.t-popup` unless scoped to a specific block.70- Avoid editing generated inline styles unless there is no safer target.71- Avoid `setInterval`; prefer event hooks and observers. If polling is unavoidable, stop it after a short timeout.72- Keep animations respectful: honor `prefers-reduced-motion`.73