Engine Whats New
flutter/flutter
Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).
End-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent.
$ npx skills add Redth/Maui.Gtk --skill maui-ai-debugging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Redth/Maui.Gtk maui-ai-debugging --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/Redth/Maui.Gtk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/maui-ai-debugging .claude/skills/maui-ai-debugging && 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 "maui-ai-debugging" agent skill from https://github.com/Redth/Maui.Gtk/tree/main/.claude/skills/maui-ai-debugging into .claude/skills/maui-ai-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maui-ai-debugging", 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/Redth/Maui.Gtk/tree/main/.claude/skills/maui-ai-debuggingType 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 Redth/Maui.Gtk --skill maui-ai-debugging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Redth/Maui.Gtk maui-ai-debugging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Redth/Maui.Gtk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/maui-ai-debugging .agents/skills/maui-ai-debugging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "maui-ai-debugging" agent skill from https://github.com/Redth/Maui.Gtk/tree/main/.claude/skills/maui-ai-debugging into .agents/skills/maui-ai-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maui-ai-debugging", 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 Redth/Maui.Gtk --skill maui-ai-debugging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Redth/Maui.Gtk maui-ai-debugging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Redth/Maui.Gtk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/maui-ai-debugging .cursor/skills/maui-ai-debugging && 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 "maui-ai-debugging" agent skill from https://github.com/Redth/Maui.Gtk/tree/main/.claude/skills/maui-ai-debugging into .cursor/skills/maui-ai-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maui-ai-debugging", 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/Redth/Maui.Gtk.git --path .claude/skills/maui-ai-debugging--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 Redth/Maui.Gtk --skill maui-ai-debugging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Redth/Maui.Gtk maui-ai-debugging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Redth/Maui.Gtk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/maui-ai-debugging .gemini/skills/maui-ai-debugging && 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 "maui-ai-debugging" agent skill from https://github.com/Redth/Maui.Gtk/tree/main/.claude/skills/maui-ai-debugging into .gemini/skills/maui-ai-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maui-ai-debugging", 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 Redth/Maui.Gtk maui-ai-debuggingInstalls 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 Redth/Maui.Gtk --skill maui-ai-debugging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Redth/Maui.Gtk.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/maui-ai-debugging .github/skills/maui-ai-debugging && 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 "maui-ai-debugging" agent skill from https://github.com/Redth/Maui.Gtk/tree/main/.claude/skills/maui-ai-debugging into .github/skills/maui-ai-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maui-ai-debugging", 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 Redth/Maui.Gtk --skill maui-ai-debugging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Redth/Maui.Gtk maui-ai-debugging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Redth/Maui.Gtk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/maui-ai-debugging .opencode/skills/maui-ai-debugging && 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 "maui-ai-debugging" agent skill from https://github.com/Redth/Maui.Gtk/tree/main/.claude/skills/maui-ai-debugging into .opencode/skills/maui-ai-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "maui-ai-debugging", 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.
maui-ai-debuggingEnd-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent.
Maui AI Debugging is an agent skill from Redth/Maui.Gtk. End-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent. Use when: (1) Building or running a MAUI app on iOS simulator, Android emulator, Mac Catalyst, macOS (AppKit), or Linux/GTK, (2) Inspecting or interacting with a running app's UI (visual tree, tapping, filling text, screenshots, property queries), (3) Debugging Blazor WebView content via CDP, (4) Managing simulators or emulators, (5) Setting up MauiDevFlow in a MAUI project, (6) Completing…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/android.md`, `references/batch.md` and `references/ios-and-mac.md`).
It sits in Mobile, covering Cross-platform mobile apps, Mobile testing and debugging and Debugging. It works with macOS, Blazor, Linux and Android. The repository describes itself as: GTK based backend for .NET MAUI. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c732514. 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:
dotnetxcrunadbFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Maui AI Debugging loads about 4.1k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 217 tokens; SKILL.md has 1,527 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 Redth/Maui.Gtk at commit c732514, republished under its MIT licence (© Redth). 1,527 words, ~4,076 tokens.
.claude/skills/maui-ai-debugging/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Build, deploy, inspect, and debug .NET MAUI apps from the terminal. This skill enables a complete feedback loop: build → deploy → inspect → fix → rebuild.
dotnet tool install --global Redth.MauiDevFlow.CLI || dotnet tool update --global Redth.MauiDevFlow.CLI
dotnet tool install --global androidsdk.tool # Android only
dotnet tool install --global appledev.tools # iOS/Mac onlyKeep the skill up to date: maui-devflow update-skill. Check installed version vs remote
with maui-devflow skill-version. For full update procedures, see
references/setup.md.
For complete setup instructions, see references/setup.md.
Quick summary:
Redth.MauiDevFlow.Agent, and Redth.MauiDevFlow.Blazor for Blazor Hybrid)grep -i 'GirCore\|Maui\.Gtk' *.csproj), use Agent.Gtk and Blazor.Gtk insteadgrep -i 'Platform\.Maui\.MacOS' *.csproj), the standard Agent and Blazor packages include macOS supportMauiProgram.cs inside #if DEBUGnetwork.server entitlementadb reverse for broker + agent portsopen App.app to launch. See references/macos.md⚠️ Multi-project conflict avoidance: When multiple projects may run simultaneously (common with AI agents), each project should use its own dedicated simulator/emulator to prevent apps from replacing each other. Check what's already in use first:
maui-devflow list # see all registered agentsIf another iOS or Android agent is already registered, create a new simulator/emulator for your project instead of reusing the one that's already booted.
iOS Simulator:
xcrun simctl list devices booted # check booted sims
# Create a project-dedicated simulator to avoid conflicts
xcrun simctl create "MyApp-iPhone17Pro" "iPhone 17 Pro" "iOS 26.2"
xcrun simctl boot <UDID> # boot the new simAndroid Emulator:
android avd list # list AVDs
# Create a project-dedicated emulator to avoid conflicts
android avd create --name "MyApp-Pixel8" \
--sdk "system-images;android-35;google_apis;arm64-v8a" --device pixel_8
android avd start --name "MyApp-Pixel8"Mac Catalyst / macOS (AppKit) / Linux/GTK: No device setup needed — runs as desktop app. Multiple desktop apps can run simultaneously without conflicts.
IMPORTANT: Before building, detect the correct Target Framework Moniker from the project.
Do NOT assume net10.0 — many projects use net9.0, net8.0, etc.
grep -i 'TargetFrameworks' *.csproj Directory.Build.props 2>/dev/nullUse the detected version (e.g. net9.0) in all build commands. The examples use $TFM.
Follow these steps for every launch and rebuild.
Step 1: Kill any previous instance (skip on first launch).
A stale app's agent stays registered with the broker, causing maui-devflow wait to return
the old port instantly instead of waiting for the new build.
# Stop the async shell from the previous launch, then confirm:
maui-devflow list # should show no agents (or only unrelated ones)Step 2: Launch in an async shell.
# iOS Simulator
dotnet build -f $TFM-ios -t:Run -p:_DeviceName=:v2:udid=<UDID>
# Android Emulator
dotnet build -f $TFM-android -t:Run
# Mac Catalyst
dotnet build -f $TFM-maccatalyst -t:Run
# macOS AppKit — build exits after compiling; launch separately
dotnet build -f $TFM-macos <path-to-macos-project>
open path/to/bin/Debug/$TFM-macos/osx-arm64/AppName.app
# Linux/GTK
dotnet run --project <path-to-gtk-project>⚠️ Process lifecycle rules:
dotnet build -t:Run (iOS, Android, Mac Catalyst) and dotnet run (Linux/GTK) block
for the lifetime of the app. Killing or stopping the shell kills the app. Use
mode: "async" with initial_wait: 120 and do NOT stop the shell until you are done.dotnet build exits after compiling, and open
launches the app independently — the app survives shell termination.Step 3: Wait for the agent — never use sleep.
maui-devflow wait # blocks until agent registers (default 120s)
maui-devflow wait --project path/to/App.csproj # filter to specific projectmaui-devflow wait prints the assigned port as soon as the agent connects. Exit code 1
means timeout — check async shell output for build errors.
Android only — set up port forwarding after the agent connects:
adb reverse tcp:19223 tcp:19223 # Broker (lets agent in emulator reach host broker)
adb forward tcp:<port> tcp:<port> # Agent (lets CLI reach agent in emulator)To rebuild: repeat from Step 1. See references/troubleshooting.md if the build fails.
Typical inspection flow:
maui-devflow MAUI tree — see the full visual tree with element IDs, types, text, boundsmaui-devflow MAUI query --automationId "MyButton" — find specific elementsmaui-devflow MAUI element <id> — get full details (type, bounds, visibility, children)maui-devflow MAUI property <id> Text — read any property by namemaui-devflow MAUI screenshot --output screen.png — visual verificationProperty inspection is more reliable than screenshots for verifying exact runtime values:
maui-devflow MAUI property <id> BackgroundColor # verify dark mode colors
maui-devflow MAUI property <id> IsVisible # check element visibilityLive editing (no rebuild needed):
maui-devflow MAUI set-property <id> TextColor "Tomato"
maui-devflow MAUI set-property <id> FontSize "24"Supports: string, bool, int, double, Color (named/hex), Thickness, enums. Changes persist until the app restarts — safe for experimentation.
Typical interaction flow:
maui-devflow MAUI fill <entryId> "text" — type into Entry/Editor fieldsmaui-devflow MAUI tap <buttonId> — tap buttons, checkboxes, list itemsmaui-devflow MAUI clear <entryId> — clear text fieldsBlazor WebView (if applicable):
maui-devflow cdp snapshot — DOM tree as accessible text (best for AI)maui-devflow cdp Input fill "css-selector" "text" — fill inputsmaui-devflow cdp Input dispatchClickEvent "css-selector" — click elementsmaui-devflow cdp Runtime evaluate "js-expression" — run JSLive CSS/DOM editing in Blazor (no rebuild needed):
maui-devflow cdp Runtime evaluate "document.querySelector('h1').style.color = 'tomato'"
maui-devflow cdp Runtime evaluate "document.documentElement.style.setProperty('--bg-color', '#1a1a2e')"MauiDevFlow automatically captures all ILogger output and WebView console.* calls
to rotating log files, retrievable remotely:
maui-devflow MAUI logs # fetch 100 most recent log entries
maui-devflow MAUI logs --limit 50 # fetch 50 entries
maui-devflow MAUI logs --source webview # only WebView/Blazor console logs
maui-devflow MAUI logs --source native # only native ILogger logsDebugging workflow: Reproduce the issue → maui-devflow MAUI logs --limit 20 → check for
errors. Add temporary ILogger calls for more detail, rebuild, reproduce, and fetch logs again.
Capture video of the app while performing interactions. Recording is host-side (not in-app) using platform-native tools.
# Start recording (default 30s timeout)
maui-devflow MAUI recording start --output demo.mp4
# Interact with the app
maui-devflow MAUI tap <buttonId>
maui-devflow MAUI navigate "//blazor"
maui-devflow MAUI fill <entryId> "Hello World"
# Stop and save
maui-devflow MAUI recording stopPlatform tools used automatically:
adb screenrecord (max 180s, capped with warning)xcrun simctl io recordVideoscreencapture -v (targets app window when possible)ffmpeg (must be on PATH)Options: --timeout <seconds> (default 30), --output <path> (default recording_<timestamp>.mp4).
Only one recording at a time — stop before starting a new one.
Global options: --agent-host (default localhost), --agent-port (auto-discovered via broker), --platform.
These options work on any subcommand position: maui-devflow MAUI status --agent-port 10224
or maui-devflow --agent-port 10224 MAUI status — both are valid.
| Command | Description |
|---|---|
MAUI status | Agent connection status, platform, app name |
MAUI tree [--depth N] | Visual tree (IDs, types, text, bounds). Depth 0=unlimited |
MAUI query --type T --automationId A --text T | Find elements (any/all filters) |
MAUI tap <elementId> | Tap an element |
MAUI fill <elementId> <text> | Fill text into Entry/Editor |
MAUI clear <elementId> | Clear text from element |
MAUI screenshot [--output path.png] | PNG screenshot |
MAUI property <elementId> <prop> | Read property (Text, IsVisible, FontSize, etc.) |
MAUI set-property <elementId> <prop> <value> | Set property (live editing — colors, text, sizes, etc.) |
MAUI element <elementId> | Full element JSON (type, bounds, children, etc.) |
MAUI navigate <route> | Shell navigation (e.g. //native, //blazor) |
MAUI logs [--limit N] [--skip N] [--source S] | Fetch application logs (newest first). Source: native, webview, or omit for all |
MAUI recording start [--output path] [--timeout 30] | Start screen recording. Default timeout 30s. Uses platform-native tools (adb screenrecord, xcrun simctl, screencapture, ffmpeg) |
MAUI recording stop | Stop active recording and save the video file |
MAUI recording status | Check if a recording is currently in progress |
Element IDs come from MAUI tree or MAUI query. AutomationId-based elements use their
AutomationId directly. Others use generated hex IDs. When multiple elements share the same
AutomationId, suffixes are appended: TodoCheckBox, TodoCheckBox_1, TodoCheckBox_2, etc.
Global options: --agent-host (default localhost), --agent-port (auto-discovered via broker).
CDP commands use the same agent port — all communication goes through a single port.
| Command | Description |
|---|---|
cdp status | CDP connection status |
cdp snapshot | Accessible DOM text (best for AI agents) |
cdp Browser getVersion | Browser/WebView version info |
cdp Runtime evaluate <expr> | Evaluate JavaScript |
cdp DOM getDocument | Full DOM document |
cdp DOM querySelector <sel> | Find first matching element |
cdp DOM querySelectorAll <sel> | Find all matching elements |
cdp DOM getOuterHTML <sel> | Get outer HTML of element |
cdp Page navigate <url> | Navigate to URL |
cdp Page reload | Reload page |
cdp Page captureScreenshot | Screenshot as base64 |
cdp Input dispatchClickEvent <sel> | Click element by CSS selector |
cdp Input insertText <text> | Insert text at focused element |
cdp Input fill <selector> <text> | Focus + fill text into element |
The broker is a background daemon that manages port assignments for all running agents. The CLI auto-starts the broker on first use — no manual setup needed.
| Command | Description |
|---|---|
list | Show all registered agents (ID, app, platform, TFM, port, uptime) |
wait [--timeout 120] [--project path] [--wait-platform P] [--json] | Wait for an agent to connect. Outputs the port (or JSON with --json). Useful after dotnet build -t:Run to block until the app is ready |
broker status | Broker daemon status and connected agent count |
broker start | Start broker daemon (auto-started by CLI — rarely needed manually) |
broker stop | Stop broker daemon |
broker log | Show broker log file |
Execute multiple commands in one invocation via stdin. Returns JSONL responses. Use for multi-step interactions to avoid repeated port resolution.
echo "MAUI fill textUsername user; MAUI fill textPassword pwd123; MAUI tap buttonLogin" | maui-devflow batchFor full options, JSONL format, and streaming details, see references/batch.md.
For detailed platform-specific setup, simulator/emulator management, and troubleshooting:
CRITICAL: Never run commands that steal focus, move windows, simulate mouse/keyboard input, or otherwise disrupt the user's desktop. The user is likely working on the same computer.
Never use:
osascript to focus/activate windows, click UI elements, or send keystrokesscreencapture interactively (the MauiDevFlow screenshot command captures in-process instead)xdotool focus/activate/key commands that affect the active windowopen -a to bring apps to the foreground (use open only to launch, not to focus)Instead: All inspection and interaction goes through maui-devflow CLI commands, which
communicate with the in-app agent over HTTP — no foreground focus required. If you need
something that would require OS-level control (e.g., dismissing a system dialog outside the
app), ask the user to do it manually rather than attempting automation that would hijack
their input.
maui-devflow batch for multi-step interactions — resolves port once, adds delays,
returns structured JSONL. See references/batch.md.maui-devflow MAUI screenshot — captures in-process, app does NOT need
foreground focus.AutomationId on important MAUI controls for stable element references.cdp snapshot is the most AI-friendly way to read page state.© Redth, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in .claude/skills/maui-ai-debugging of Redth/Maui.Gtk.
Open the folder on GitHubat commit c732514
Maui AI Debugging 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 |
|---|---|---|---|---|---|---|
| Maui AI Debugging this skillRedth/Maui.Gtk | 101 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Engine Whats Newflutter/flutter | 179k | — | ~978 | Automated safety check: Pass | BSD-3-Clause | |
| Apple Crash Log .NET Symbolicationdotnet/skills | 5.6k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| flutter_soloud Setupalnitak/flutter_soloud | 424 | — | ~3.6k | Automated safety check: Notes | MIT | |
| Fkit SetupJoker-x-dev/FlutterKit | 127 | — | ~720 | Automated safety check: Pass | MIT | |
| Maui Safe Areadotnet/skills | 5.6k | 1 repos | ~3.2k | Automated safety check: Pass | MIT |
flutter/flutter
Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).
dotnet/skills
Resolves .NET runtime frames in Apple .ips crash logs to function names, source files and line numbers using dSYM symbols, atos and the Microsoft symbol server.
alnitak/flutter_soloud
Walks through adding the flutter_soloud audio engine to a Flutter app, with per-platform setup, initialization, binary-size and logging options, and output device switching.
Joker-x-dev/FlutterKit
将 FlutterKit 脚手架初始化为新的应用项目,统一修改应用显示名称、Dart 包名、Android Application ID、Apple Bundle ID、Linux/Windows 标识、Web 名称、运行时品牌文案、Logo、桌面图标和启动页。用户拉取模板后要求改名、改包名、替换品牌资源或完成首次项目配置时使用。
dotnet/skills
.NET MAUI safe area and edge-to-edge layout guidance for .NET 10+.
boardsesh/boardsesh
Capture screenshots of the Boardsesh React Native app (packages/mobile/) running on an Android emulator, driven against Metro with a cached dev-client APK.
Categories
End-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent. Gtk.NET MAUI and MAUI Blazor Hybrid apps as an AI agent.
Maui AI Debugging fits situations like: running a MAUI app on iOS simulator; android emulator; interacting with a running apps UI (visual tree; property queries).
Run `npx skills add Redth/Maui.Gtk --skill maui-ai-debugging -a claude-code`. Or copy the skill folder (.claude/skills/maui-ai-debugging in Redth/Maui.Gtk) into .claude/skills/maui-ai-debugging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Redth/Maui.Gtk --skill maui-ai-debugging -a codex`. Or copy the skill folder (.claude/skills/maui-ai-debugging in Redth/Maui.Gtk) into .agents/skills/maui-ai-debugging 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 Redth/Maui.Gtk --skill maui-ai-debugging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/maui-ai-debugging, .gemini/skills/maui-ai-debugging, .github/skills/maui-ai-debugging and .opencode/skills/maui-ai-debugging in your project.
Going by SKILL.md and its folder, Maui AI Debugging needs the command-line tools its instructions call (dotnet, xcrun and adb).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Maui AI Debugging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k 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 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Maui AI Debugging: Engine Whats New (flutter/flutter, 179k stars), Apple Crash Log .NET Symbolication (dotnet/skills, 5.6k stars), flutter_soloud Setup (alnitak/flutter_soloud, 424 stars) and Fkit Setup (Joker-x-dev/FlutterKit, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Redth (a GitHub user) maintains it in Redth/Maui.Gtk, which has 101 GitHub stars. The repository was last updated on April 16, 2026.
Source: Redth/Maui.Gtk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.