Agent skill

Godot UI Rich Text

by thedivergentai in thedivergentai/GD-Agentic-Skills

Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects.

LGPL-3.0Auto-check passedGame Development

Install Godot UI Rich Text

skills CLI
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-ui-rich-text -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install thedivergentai/GD-Agentic-Skills godot-ui-rich-text --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/godot-ui-rich-text .claude/skills/godot-ui-rich-text && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
godot-ui-rich-text
GitHub stars
821
Token cost
~3.2k tokens
SKILL.md length
910 words
Files
15 (incl. scripts, references)
Skills in repo
98
Repo updated
First seen
Licence
LGPL-3.0

At a glance

Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects.

  • Works in 3 steps: Rich-Text-MSDF-Outline (SDF) → Animated-Text-Reveal → Custom-BBCode-Effect (RichTextEffect)
  • Implementing dialogue systems OR formatted text
  • SKILL.md covers Available Scripts, NEVER Do (Expert UI Rules), Reveal API Decision and Non-Obvious Tags & Effects, plus 5 more sections
  • Tasks that involve Game development

What it does

Godot UI Rich Text is an agent skill from thedivergentai/GD-Agentic-Skills. Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects. Covers meta tags, RichTextEffect shaders, and dynamic content. Use when implementing dialogue systems OR formatted text. Keywords RichTextLabel, BBCode, [b], [color], [url], metaclicked, RichTextEffect, dialogue.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including scripts and reference files (for example `references/bbcode-tag-catalog.md` and `references/migration-notes.md`).

It sits in Game Development, covering Game development, Shaders and On-page SEO. It works with Godot. The repository describes itself as: The official "Long-Term Memory" for Godot 4.7+ AI Agents. A high-density library of 99 expert skills and 27 genre blueprints, providing audited, strictly typed GDScript patterns… The licence is LGPL-3.0.

When your agent uses it

  • Implementing dialogue systems OR formatted text
  • Tasks that involve Game development
  • Tasks that involve Shaders

Example prompts

  • “/godot-ui-rich-text”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Rich-Text-MSDF-Outline (SDF)
  2. Animated-Text-Reveal
  3. Custom-BBCode-Effect (RichTextEffect)

What it can do on your machine

Read from SKILL.md and the folder at commit 4c4d0ff. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 12 files in scripts/, which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.godotengine.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Godot UI Rich Text loads about 3.2k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 90 tokens; SKILL.md has 910 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from thedivergentai/GD-Agentic-Skills at commit 4c4d0ff, republished under its LGPL-3.0 licence (© thedivergentai). 910 words, ~3,190 tokens.

Download SKILL.mdSave it as .claude/skills/godot-ui-rich-text/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.
name
godot-ui-rich-text
description
Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects. Covers meta tags, RichTextEffect shaders, and dynamic content. Use when implementing dialogue systems OR formatted text. Keywords RichTextLabel, BBCode, [b], [color], [url], meta_clicked, RichTextEffect, dialogue.

Rich Text & BBCode

BBCode tags, meta clickable links, and RichTextEffect shaders define formatted text systems.

Available Scripts

rich_text_rainbow_effect.gd

Expert custom RichTextEffect that rotates colors over time.

rich_text_glitch_effect.gd

Professional horror-style glitch effects with spatial jitter and alpha flickering.

rich_text_typewriter_controller.gd

Dialogue manager that parses sequential event tags ([pause], [speed]) during animations.

rich_text_meta_dispatch.gd

Advanced handling for multi-prefix URLs in meta-clicks (items, quests, NPCs).

rich_text_image_scaler.gd

Utility to dynamically scale [img] tags to match runtime font sizes.

rich_text_hover_reactive.gd

Signals and logic for making text spans reactive to mouse hover (SFX/Cursors).

rich_text_bbcode_sanitizer.gd

Security utility to prevent BBCode injection in public chat interfaces.

rich_text_gradient_generator.gd

Generator for multi-stop linear gradients using granular character-level tagging.

rich_text_auto_scroller.gd

Smooth vertical auto-scrolling logic for credits, news feeds, and logs.

rich_text_syntax_highlighter.gd

Simple regex-based syntax highlighting pattern for code blocks in UI.

NEVER Do (Expert UI Rules)

Formatting & Rendering
  • NEVER use complex BBCode in tight loops — Parsing a 10,000 character string with 500 tags every frame will tank performance. Cache your formatted strings.
  • NEVER forget to register Custom Effects — Writing the script isn't enough. You MUST add the instance to RichTextLabel.custom_effects list via Inspector or install_effect().
  • NEVER use absolute pixel sizes in [img] — [img width=128] fails on higher resolutions. Use rich_text_image_scaler.gd to sync with line height.
Click & Hover UX
  • NEVER use [url] without visual feedback — If the text doesn't change color on hover or the cursor doesn't change, players won't know it's clickable. Use rich_text_hover_reactive.gd.
  • NEVER hardcode layout logic into strings; strictly use BBCode Tables and Alignment Tags to ensure text structures remain flexible.
  • NEVER animate text typewriter effects by modifying the text or bbcode string frame-by-frame; strictly use visible_ratio or visible_characters to avoid expensive parsing overhead and flickering.
  • NEVER use standard bitmap fonts for large titles or dynamic UI; strictly use MSDF (Multichannel Signed Distance Field) fonts to ensure perfectly crisp outlines and scaling at any resolution.
  • NEVER perform heavy logic inside meta_clicked — This signal is on the Main Thread. Use it to emit a command and handle processing asynchronously if needed.
Dialogue & Narrative
  • NEVER use visible_ratio for pausing typewriter — visible_ratio is unreliable for per-character logic. Use visible_characters and explicit character indexing (rich_text_typewriter_controller.gd).
  • NEVER allow unfiltered user input in Chat Labels — A user could type [img]huge_image_path[/img] or [color=transparent] to break your UI. MANDATORY: pipe every user-generated string through rich_text_bbcode_sanitizer.gd before assigning text.

gdscript
$RichTextLabel.bbcode_enabled = true
$RichTextLabel.text = "[b]Bold[/b] and [i]italic[/i] text"

Reveal API Decision

NeedAPIMANDATORY
Simple fade / whole-line revealvisible_ratio + TweenInline ok (see pattern below)
Pause / speed / event tags ([pause], [speed])visible_characters + indexerrich_text_typewriter_controller.gd

NEVER use visible_ratio when you need per-character pause/speed tags.

Non-Obvious Tags & Effects

Skip cataloging [b] / [i] / [u] / [color] — see docs. Prefer these when non-obvious:

User-Generated Rich Text

MANDATORY: rich_text_bbcode_sanitizer.gd on any chat, lobby, or player-typed path before RichTextLabel.text = ….

Prefer rich_text_meta_dispatch.gd. Minimal hook:

gdscript
func _ready() -> void:
    $RichTextLabel.meta_clicked.connect(_on_meta_clicked)

func _on_meta_clicked(meta: Variant) -> void:
    # Emit a command; do not run heavy game logic here
    pass

Expert Text Patterns

1. Rich-Text-MSDF-Outline (SDF)

Enable crisp, high-resolution outlines and scaling by enabling MSDF on font resources and using theme overrides.

gdscript
# msdf_styler.gd
func _ready():
    # Crisp outlines regardless of screen scale
    label.add_theme_color_override("font_outline_color", Color.BLACK)
    label.add_theme_constant_override("outline_size", 4)
2. Animated-Text-Reveal

Simple fade — tween visible_ratio (keeps BBCode effects; no string rewrite):

gdscript
func reveal_fade(label: RichTextLabel, new_text: String, duration: float) -> void:
    label.text = new_text
    label.visible_ratio = 0.0
    create_tween().tween_property(label, "visible_ratio", 1.0, duration)

Pause/speed tags — MANDATORY rich_text_typewriter_controller.gd using visible_characters (not visible_ratio).

3. Custom-BBCode-Effect (RichTextEffect)

Define custom visual tags (like [relic]) by extending RichTextEffect for unique gameplay-themed text animations.

gdscript
# relic_effect.gd
@tool
extends RichTextEffect
var bbcode = "relic"

func _process_custom_fx(char_fx: CharFXTransform):
    # Retrieve param: [relic color=#ff00ff]
    var color = char_fx.env.get("color", Color.GOLD)
    # Apply sinusoidal floating
    char_fx.offset.y += sin(char_fx.elapsed_time * 5.0) * 2.0
    char_fx.color = color
    return true
Show full SKILL.md (377 more words)Show less

Deep recipes (on demand)

LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.

TopicReference
Tag catalog + 4.7 img unitsbbcode-tag-catalog.md

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation
  • BBCode in RichTextLabel — tag syntax, built-in effects, images, and [url] meta for dialogue and formatted UI copy.
  • RichTextLabel — bbcode_enabled, visible_characters / visible_ratio, meta_clicked, and custom_effects / install_effect().
  • RichTextEffect — subclass contract for custom BBCode effects (bbcode id + _process_custom_fx).
  • CharFXTransform — per-glyph color, offset, and env params used by rainbow/glitch/custom effects.
  • Using fonts — MSDF / dynamic fonts so titles and BBCode scale crisply across resolutions.
  • GUI skinning — theme color/constant overrides (outline, fonts) without baking styles into BBCode strings.
  • Size and anchors — responsive dialogue boxes and log panels so rich text layouts survive resolution changes.
  • GUI containers — keep buttons/icons in containers; use RichTextLabel for body text only.
  • Custom mouse cursor — pointer feedback when hovering [url] / meta spans.
  • Internationalizing games — tr() / CSV keys so BBCode templates stay localization-ready.
  • Signals — wire meta_clicked / hover signals without stuffing game logic into the label.
  • Tween — tween visible_ratio / visible_characters for typewriter reveals without re-parsing BBCode every frame.
Prerequisites
  • godot-project-foundations — scene tree, Control basics, and resource imports before wiring RichTextLabel dialogue chrome.
  • godot-ui-containers — responsive VBox/HBox/Scroll shells so rich text stays body copy, not a layout engine.
  • godot-signal-architecture — typed meta/hover command signals so click handlers stay thin on the main thread.
  • godot-gdscript-mastery — RegEx, @tool, and RefCounted helpers used by sanitizers, highlighters, and effect scripts.
Complements
  • godot-ui-theming — theme type variations and font/outline overrides that BBCode should reference, not hardcode.
  • godot-tweening — lifecycle-safe tweens for typewriter visible_ratio and auto-scroll polish.
  • godot-input-handling — skip/advance and cursor changes that pair with meta hover without fighting Control focus.
  • godot-dialogue-system — line runners and event tags that feed RichTextLabel typewriter controllers.
  • godot-shaders-basics — when CharFX alone is not enough and you need canvas-item shaders around text panels.
Downstream / consumers
  • godot-genre-visual-novel — VN dialogue boxes that depend on BBCode, visible_characters, and meta choice links.
  • godot-genre-educational — lesson/copy UIs and interactive rich text that reuse sanitizers and highlighters.
  • godot-genre-romance — affinity dialogue presentation that reuses typewriter and meta dispatch patterns.
Master
  • godot-master — library router and mirrored module entry for cross-skill discovery.

© thedivergentai, LGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 14 other files (scripts, references) in skills/godot-ui-rich-text of thedivergentai/GD-Agentic-Skills.

  • SKILL.md
  • references/bbcode-tag-catalog.md
  • references/migration-notes.md
  • scripts/custom_bbcode_effect.gd
  • scripts/rich_text_animator.gd
  • scripts/rich_text_auto_scroller.gd
  • scripts/rich_text_bbcode_sanitizer.gd
  • scripts/rich_text_glitch_effect.gd
  • scripts/rich_text_gradient_generator.gd
  • scripts/rich_text_hover_reactive.gd
  • scripts/rich_text_image_scaler.gd
  • scripts/rich_text_meta_dispatch.gd
  • scripts/rich_text_rainbow_effect.gd
  • scripts/rich_text_syntax_highlighter.gd
  • scripts/rich_text_typewriter_controller.gd

Open the folder on GitHubat commit 4c4d0ff

Compare with similar skills

Godot UI Rich Text next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Godot UI Rich Text compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Godot UI Rich Text this skillthedivergentai/GD-Agentic-Skills821—~3.2kAutomated safety check: PassLGPL-3.0
Shader Basicsjame581/GodotPrompter805—~3.7kAutomated safety check: PassMIT
Godot Shader Fundamentals925236118/AlphaAgent103—~1.5kAutomated safety check: PassMIT
Godot Shadersgamedev-skills/awesome-gamedev-agent-skills1.4k—~1.4kAutomated safety check: PassApache-2.0
Scenario Godot Shadersscenario-labs/skills946—~4.9kAutomated safety check: PassMIT
Gamedev Shadersericrisco/rsc-harness180—~3.6kAutomated safety check: PassMIT

Similar skills

  • Shader Basics

    jame581/GodotPrompter

    A skill your agent uses when implementing shaders — Godot shader language, visual shaders, common visual recipes, and post-processing effects

    805 GitHub stars~3.7k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Godot Shader Fundamentals

    925236118/AlphaAgent

    Godot 4 Shader 基础语法与数学,包含类型系统、Uniform变量、内置函数及实用技巧. An agent skill from 925236118/AlphaAgent.

    103 GitHub stars~1.5k tokensUpdated 3 days ago
    Game DevelopmentAuto-check passed
  • Godot Shaders

    gamedev-skills/awesome-gamedev-agent-skills

    Write Godot 4.7 shaders in the Godot Shading Language: canvasitem shaders for 2D and spatial shaders for 3D, with vertex/fragment functions, uniforms (sourcecolor, hintrange), TIME/UV animation, and…

    1.4k GitHub stars~1.4k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Scenario Godot Shaders

    scenario-labs/skills

    A skill your agent uses when writing or fixing Godot 4.7 shaders: .gdshader code (spatial, canvasitem, particles, sky, fog), VisualShader graphs built in code, stylized or toon water, dissolve or…

    946 GitHub stars~4.9k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Gamedev Shaders

    ericrisco/rsc-harness

    A skill your agent uses when authoring or debugging a shader, material, VFX, or full-screen post-process in a game engine — Godot 4.x .gdshader, Unity 6 URP/HDRP, Unreal 5.x Materials, effect…

    180 GitHub stars~3.6k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Godot Gdscript Patterns

    925236118/AlphaAgent

    Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.

    103 GitHub starsUsed in 10 repos~5k tokens
    Game DevelopmentAuto-check passed

More from thedivergentai/GD-Agentic-Skills

All 98 skills in this repo
  • Godot 2D Animation

    thedivergentai/GD-Agentic-Skills

    Expert patterns for 2D animation in Godot using AnimatedSprite2D and skeletal cutout rigs.

    821 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot 3D World Building

    thedivergentai/GD-Agentic-Skills

    Expert patterns for 3D level design using GridMap with MeshLibrary, CSG constructive solid geometry, occlusion, and runtime GridMap builders.

    821 GitHub stars~3.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Adapt 2D To 3D

    thedivergentai/GD-Agentic-Skills

    Expert patterns for migrating 2D games to 3D including node type conversions, camera systems (third-person, first-person, orbit), physics layer migration, sprite-to-model art pipeline, and control…

    821 GitHub stars~4.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Adapt 3D To 2D

    thedivergentai/GD-Agentic-Skills

    Expert patterns for simplifying 3D games to 2D including dimension reduction strategies, 2.5D fake-depth, isometric ports, camera flattening, physics conversion, 3D-to-sprite art pipeline, and…

    821 GitHub stars~4.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Agent Vision

    thedivergentai/GD-Agentic-Skills

    Agentic eyes for Godot work: cross-platform screenshot CLI (asset/region/window/screen) to budgeted WebP, TEMP editor viewport bridge under .gdskills/, and Taste Receptor Atlas v2 (~237…

    821 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Animation Tree Mastery

    thedivergentai/GD-Agentic-Skills

    Expert patterns for AnimationTree including StateMachine transitions, BlendSpace2D for directional movement, BlendTree for layered animations, root motion, transition conditions, advance…

    821 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Godot UI Rich Text

What does Godot UI Rich Text do?

Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects. Godot UI Rich Text is an agent skill from thedivergentai/GD-Agentic-Skills. Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects.

When should I use Godot UI Rich Text?

Godot UI Rich Text fits situations like: implementing dialogue systems OR formatted text; tasks that involve Game development; tasks that involve Shaders.

How do I install Godot UI Rich Text in Claude Code?

Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-ui-rich-text -a claude-code`. Or copy the skill folder (skills/godot-ui-rich-text in thedivergentai/GD-Agentic-Skills) into .claude/skills/godot-ui-rich-text in your project. Claude Code loads it when a task matches its description.

How do I install Godot UI Rich Text in Codex?

Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-ui-rich-text -a codex`. Or copy the skill folder (skills/godot-ui-rich-text in thedivergentai/GD-Agentic-Skills) into .agents/skills/godot-ui-rich-text in your project. Codex loads it when a task matches its description.

Can I use Godot UI Rich Text in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-ui-rich-text -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/godot-ui-rich-text, .gemini/skills/godot-ui-rich-text, .github/skills/godot-ui-rich-text and .opencode/skills/godot-ui-rich-text in your project.

What does Godot UI Rich Text need to run?

SKILL.md names no scripts, command-line tools or credentials: Godot UI Rich Text is instructions for the agent only.

Does Godot UI Rich Text access the network?

SKILL.md names 1 domain. As links in the text: docs.godotengine.org. This is read from the text; nothing was executed.

Is Godot UI Rich Text safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Godot UI Rich Text use?

Godot UI Rich Text is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Godot UI Rich Text use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 922 tokens, read only when the agent opens those files.

What are the alternatives to Godot UI Rich Text?

Skills that share tags, products or a category with Godot UI Rich Text: Shader Basics (jame581/GodotPrompter, 805 stars), Godot Shader Fundamentals (925236118/AlphaAgent, 103 stars), Godot Shaders (gamedev-skills/awesome-gamedev-agent-skills, 1.4k stars) and Scenario Godot Shaders (scenario-labs/skills, 946 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Godot UI Rich Text?

thedivergentai (a GitHub user) maintains it in thedivergentai/GD-Agentic-Skills, which has 821 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on September 9, 2026.

Source: thedivergentai/GD-Agentic-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.