# godot-ui-rich-text

Скилл для работы с RichTextLabel в Godot: BBCode-разметка, кликабельные ссылки, кастомные эффекты и системы диалогов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 400 установок · ★ 893
- Автор: thedivergentai
- Лицензия: LGPL-3.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/thedivergentai/Game-Dev-Agentic-Skills/tree/HEAD/skills/godot-ui-rich-text/SKILL.md
- Обновлён: 2026-10-16
- HTML: https://affpapa.org/nevibecode/skills/godot-ui-rich-text

## Что делает

Скилл даёт агенту готовые рецепты для `RichTextLabel` в Godot: теги BBCode, мета-ссылки с обработкой `meta_clicked`, эффекты на шейдерах `RichTextEffect` и динамический текст. Внутри десять скриптов на GDScript — от радужного перелива и глитча до контроллера печатной машинки с тегами `[pause]` и `[speed]`.

Отдельно разобраны грабли, на которые легко наступить. Сложный BBCode в цикле на каждом кадре роняет производительность, поэтому форматированные строки советуют кэшировать. Анимацию печатной машинки делают через `visible_characters`, а не перезаписью строки — иначе парсинг тормозит и текст мигает. Кастомный эффект нужно ещё зарегистрировать в `custom_effects` или через `install_effect()`, одного скрипта мало.

Для пользовательского ввода в чатах и лобби есть санитайзер: без него кто-нибудь вставит `[img]` с огромной картинкой и разломает вёрстку. Тяжёлую логику в `meta_clicked` не кладут — сигнал идёт в главном потоке, лучше отправить команду и обработать её отдельно. Размеры картинок в `[img]` задают через `width_unit` и `height_unit`, а не в пикселях, иначе на высоких разрешениях всё поедет.

## Требования
- Работает с: Godot

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-rich-text -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/godot-ui-rich-text/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/godot-ui-rich-text/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-rich-text -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/godot-ui-rich-text/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-rich-text -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/godot-ui-rich-text/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install thedivergentai/Game-Dev-Agentic-Skills godot-ui-rich-text
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/godot-ui-rich-text/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-rich-text -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/thedivergentai/Game-Dev-Agentic-Skills --path skills/godot-ui-rich-text
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/godot-ui-rich-text/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-rich-text -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/thedivergentai/Game-Dev-Agentic-Skills/tree/HEAD/skills/godot-ui-rich-text/SKILL.md

## Когда брать
- вывести диалог с паузами и сменой скорости печати
- сделать кликабельные ссылки на предметы и квесты в тексте
- защитить чат от вставки BBCode-тегов игроками
- подогнать размер картинок под текущий кегль шрифта
- добавить кастомный эффект вроде глитча или перелива

## Примеры запросов агенту
- Сделай диалоговое окно на RichTextLabel с тегами [pause] и [speed]
- Настрой meta_clicked для ссылок вида item: и quest:
- Пропусти текст из чата через санитайзер перед выводом

## Похожие
- [godot-ui-control](https://affpapa.org/nevibecode/skills/godot-ui-control.md) — скилл · 6700 установок
- [godot-gdscript](https://affpapa.org/nevibecode/skills/godot-gdscript.md) — скилл · 6500 установок
- [godot-ui](https://affpapa.org/nevibecode/skills/godot-ui.md) — скилл · 2700 установок
- [godot](https://affpapa.org/nevibecode/rules/godot.md) — правило · ★ 3579
- [godot-mcp-enhanced](https://affpapa.org/nevibecode/mcp/godot-mcp-enhanced.md) — MCP-сервер · ★ 103
- [godot-gdscript-patterns](https://affpapa.org/nevibecode/skills/godot-gdscript-patterns.md) — скилл · 17396 установок

Из того же набора: [thedivergentai/game-dev-agentic-skills](https://affpapa.org/nevibecode/by/thedivergentai/game-dev-agentic-skills.md) — 50 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
