MCP Debugger
debugmcp/mcp-debugger
A skill your agent uses when investigating a bug, failing test, or unexpected runtime behavior and the mcp-debugger MCP server is available — drives real step-through debuggers (breakpoints, stack…
Expert guidance for building, debugging, and working with Slint GUI applications.
$ npx skills add Moosync/Moosync --skill slint -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Moosync/Moosync slint --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Moosync/Moosync.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/slint .claude/skills/slint && rm -rf skills-srcUse ~/.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/
Install the "slint" agent skill from https://github.com/Moosync/Moosync/tree/main/.agents/skills/slint into .claude/skills/slint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slint", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Moosync/Moosync/tree/main/.agents/skills/slintType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Moosync/Moosync --skill slint -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Moosync/Moosync slint --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Moosync/Moosync.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/slint .agents/skills/slint && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "slint" agent skill from https://github.com/Moosync/Moosync/tree/main/.agents/skills/slint into .agents/skills/slint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slint", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Moosync/Moosync --skill slint -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Moosync/Moosync slint --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Moosync/Moosync.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/slint .cursor/skills/slint && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "slint" agent skill from https://github.com/Moosync/Moosync/tree/main/.agents/skills/slint into .cursor/skills/slint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slint", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Moosync/Moosync.git --path .agents/skills/slint--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Moosync/Moosync --skill slint -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Moosync/Moosync slint --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Moosync/Moosync.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/slint .gemini/skills/slint && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "slint" agent skill from https://github.com/Moosync/Moosync/tree/main/.agents/skills/slint into .gemini/skills/slint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slint", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Moosync/Moosync slintInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Moosync/Moosync --skill slint -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Moosync/Moosync.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/slint .github/skills/slint && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "slint" agent skill from https://github.com/Moosync/Moosync/tree/main/.agents/skills/slint into .github/skills/slint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slint", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Moosync/Moosync --skill slint -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Moosync/Moosync slint --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Moosync/Moosync.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/slint .opencode/skills/slint && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "slint" agent skill from https://github.com/Moosync/Moosync/tree/main/.agents/skills/slint into .opencode/skills/slint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slint", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
slintExpert guidance for building, debugging, and working with Slint GUI applications.
Slint is an agent skill from Moosync/Moosync. Expert guidance for building, debugging, and working with Slint GUI applications. Covers the .slint markup language, project setup, debugging with the embedded MCP server, and language API bindings for Rust, C++, JavaScript, and Python.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Debugging, MCP servers and Internationalization. It works with Model Context Protocol, Rust, C++ and JavaScript. The licence is GPL-3.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a2b81ce. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
bazelcurlcargoFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
snapshots.slint.devAlso links to:
slint.devdocs.slint.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Slint loads about 2.4k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 807 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from Moosync/Moosync at commit a2b81ce, republished under its GPL-3.0 licence (© Moosync). 807 words, ~2,405 tokens.
.claude/skills/slint/SKILL.md (or your agent's skills folder).Use this skill when building, debugging, or reviewing applications that use Slint, a declarative GUI toolkit for native user interfaces across desktop, embedded, mobile, and web platforms.
Use this skill when the task involves:
.slint filesWhen using this skill:
Slint UIs are written in .slint markup files. The language is declarative and reactive.
Follow these project naming conventions when writing .slint and related Rust files:
PascalCase for component names and struct types (e.g., QueuePage, SongModel, TextInputGroup, ModalSize).snake_case and NEVER kebab-case (e.g., in property <bool> is_active;, in-out property <string> new_playlist_name;, callback remove_clicked();, save_queue_as_playlist(string)).snake_case, keep names simple and obvious, and avoid repeating struct/module context in function names (e.g., save_queue rather than save_queue_page_queue_songs).# BUILD.bazel
load("@rules_rust//rust:defs.bzl", "rust_binary")
load("@rules_rust//cargo:cargo_build_script.bzl", "cargo_build_script")
cargo_build_script(
name = "build_script",
srcs = ["build.rs"],
# Ensure the build script watches the .slint files for rebuilds
data = glob(["ui/**/*.slint"]),
deps = [
"@crates//:slint-build",
],
)
rust_binary(
name = "my_app",
srcs = ["main.rs"],
deps = [
":build_script",
"@crates//:slint",
],
)
// build.rs
fn main() {
slint_build::compile("ui/main.slint").unwrap();
}
// main.rs
slint::include_modules!();
fn main() -> Result<(), slint::PlatformError> {
let app = MainWindow::new()?;
// Set up callbacks, models, etc.
app.run()
}
width, height (may be 0 if not in a layout), visible, opacity, and parent clipping.width/height. Inside layouts, they get sized automatically. Use preferred-width, min-width, max-width to constrain.length and int/float are different types. Use 1px * my_int to convert, or my_length / 1px to get a number.ListView (not for in ScrollView) for long lists because it virtualizes. Use image-rendering: pixelated only when needed. Avoid deeply nested opacity or clip layers.debug("message", expression) prints to stderr at runtimeSLINT_DEBUG_PERFORMANCE=refresh_lazy,console enables performance diagnosticsSLINT_BACKEND=winit-skia or other backend variants for testingSlint includes an embedded MCP (Model Context Protocol) server that lets you inspect and interact with a running Slint application in real time. The server provides tools for exploring the UI tree, taking screenshots, clicking elements, dragging, typing, and more.
Once enabled, an AI coding assistant can connect to the MCP endpoint to inspect and interact with the running UI.
Step 1: Build with SLINT_EMIT_DEBUG_INFO=1 so that element IDs and source locations are preserved in the compiled output. Without this, elements will lack the debug metadata needed for meaningful introspection. Set SLINT_MCP_PORT to an available port when running via Bazel:
SLINT_EMIT_DEBUG_INFO=1 SLINT_MCP_PORT=9315 bazel run //:my_app
In a Bazel setup, ensure the mcp feature is enabled for the slint crate within your workspace dependencies (e.g., via crate.annotation in bzlmod or annotations in crates_repository). Since Bazel does not have a direct equivalent to Cargo's ad-hoc --features command-line flag, you must configure it ahead of time in your build graph.
Step 2: Connect to the running application's MCP server at http://localhost:9315/mcp using Streamable HTTP transport and use the available tools to inspect and interact with the UI.
When scripting or verifying the server from the command line, use curl — it is the most reliable approach for raw JSON-RPC. Prefer curl over built-in HTTP fetch tools, which agents sometimes reach for but which are less predictable for this use case:
# Initialize (confirms the server is up and prints available tools)
curl -s -X POST http://127.0.0.1:9315/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
# List windows
curl -s -X POST http://127.0.0.1:9315/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_windows","arguments":{}}}'
# Take a screenshot (response contains a base64-encoded PNG in the "data" field)
curl -s -X POST http://127.0.0.1:9315/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"take_screenshot","arguments":{"windowHandle":{"index":"1","generation":"1"}}}}'
| Slint Version | MCP Support |
|---|---|
| < 1.17.0 | Not available |
| >= 1.17.0 | Enable via the mcp crate feature in your Bazel Rust dependencies configuration |
Suggest enabling the MCP server when the user is:
.slint FilesUse @tr(...) to mark user-facing string literals for translation:
// Simple text
Text { text: @tr("Songs"); }
// String formatting
Text { text: @tr("Adjust the color for {}", item.name); }
// Plural forms
Text { text: @tr("I have {n} item" | "I have {n} items" % count); }A Bazel rule is provided to extract all @tr(...) strings into ui/slint/locales/en_US/LC_MESSAGES/slint_app.po:
# Extract strings across all Slint files
bazel run //tools:extract_translations
# Or extract from specific Slint files
bazel run //tools:extract_translations -- ui/slint/src/app.slintNote: This rule uses
slint-tr-extractor(installable viacargo install slint-tr-extractor).
Translation catalogs follow the standard Gettext hierarchy under ui/slint/locales/:
ui/slint/locales/
├── en_US/LC_MESSAGES/slint_app.po
├── de_DE/LC_MESSAGES/slint_app.po
├── es_ES/LC_MESSAGES/slint_app.po
├── fr_FR/LC_MESSAGES/slint_app.po
└── ...build.rs:
let config = slint_build::CompilerConfiguration::new()
.with_bundled_translations("locales")
.with_default_translation_context(slint_build::DefaultTranslationContext::None);
slint_build::compile_with_config("src/app.slint", config).unwrap();ui/slint/BUILD:
build_script_env must specify "CARGO_PKG_NAME": "slint_app".data in cargo_build_script and compile_data in rust_library must include "locales/**/*.po".Full documentation for the latest version is at https://slint.dev/docs. Key sections:
The documentation can be found at https://snapshots.slint.dev/master/docs/slint/.
© Moosync, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/slint of Moosync/Moosync.
Open the folder on GitHubat commit a2b81ce
Slint 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Slint this skillMoosync/Moosync | 259 | — | ~2.4k | Automated safety check: Pass | GPL-3.0 | |
| MCP Debuggerdebugmcp/mcp-debugger | 171 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Ue Live DebuggingJasonMa0012/MooaToon | 749 | — | ~2.9k | Automated safety check: Notes | Custom licence | |
| Memorywhale Debuggingwuisabel-gif/MemWhale | 151 | — | ~370 | Automated safety check: Pass | MIT | |
| LangBot Plugin Developmentlangbot-app/LangBot | 18k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Embedded DebuggerAdancurusul/embedded-debugger-mcp | 199 | — | ~1.4k | Automated safety check: Pass | MIT |
debugmcp/mcp-debugger
A skill your agent uses when investigating a bug, failing test, or unexpected runtime behavior and the mcp-debugger MCP server is available — drives real step-through debuggers (breakpoints, stack…
JasonMa0012/MooaToon
A skill your agent uses when debugging UE C++ crashes, runtime bugs, or unexpected behavior with Rider MCP available.
wuisabel-gif/MemWhale
MemoryWhale debugging; compiler failures; terminal diagnostics.
langbot-app/LangBot
Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.
Adancurusul/embedded-debugger-mcp
Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp.
theodo-group/debug-that
Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that.
Moosync/Moosync
Hermetic Bazel build, test, and packaging commands for the Moosync project.
Moosync/Moosync
Hermetic tracing instrumentation rules and validation. An agent skill from Moosync/Moosync.
Moosync/Moosync
Project-wide helpers for adding new features to Moosync. An agent skill from Moosync/Moosync.
Moosync/Moosync
Hermetic Rust crate building, testing, and formatting via Bazel targets.
Categories
Expert guidance for building, debugging, and working with Slint GUI applications. Slint is an agent skill from Moosync/Moosync. Expert guidance for building, debugging, and working with Slint GUI applications.
Slint fits situations like: tasks that involve Debugging; tasks that involve MCP servers; tasks that involve Internationalization.
Run `npx skills add Moosync/Moosync --skill slint -a claude-code`. Or copy the skill folder (.agents/skills/slint in Moosync/Moosync) into .claude/skills/slint in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Moosync/Moosync --skill slint -a codex`. Or copy the skill folder (.agents/skills/slint in Moosync/Moosync) into .agents/skills/slint in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Moosync/Moosync --skill slint -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/slint, .gemini/skills/slint, .github/skills/slint and .opencode/skills/slint in your project.
Going by SKILL.md and its folder, Slint needs the command-line tools its instructions call (bazel, curl and cargo). Our summary lists: Python 3; Node.js.
SKILL.md names 3 domains. In commands or code: snapshots.slint.dev; the agent is likely to contact it when it follows the instructions. As links in the text: slint.dev and docs.slint.dev. This is read from the text; nothing was executed.
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. Review the folder before installing.
Slint is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Slint: MCP Debugger (debugmcp/mcp-debugger, 171 stars), Ue Live Debugging (JasonMa0012/MooaToon, 749 stars), Memorywhale Debugging (wuisabel-gif/MemWhale, 151 stars) and LangBot Plugin Development (langbot-app/LangBot, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Moosync (a GitHub organization) maintains it in Moosync/Moosync, which has 259 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 1, 2026.
Source: Moosync/Moosync on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.