davidortinau
- 133 skills
- 0 followers
- last month last updated
- ▌ Maui AI Debugging 2 · davidortinau bundleEnd-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, or Mac Catalyst, (2) Deploying a MAUI app to a device/emulator/simulator, (3) Inspecting or interacting with a running MAUI app's UI (visual tree, element tapping, filling text, screenshots, property queries), (4) Debugging Blazor WebView content inside a MAUI app via CDP, (5) Managing iOS simulators or Android emulators (create, boot, list, install), (6) Setting up the MauiDevFlow agent and CLI in a MAUI project, (7) Completing a build-deploy-inspect-fix feedback loop for MAUI app development, (8) Handling iOS permission dialogs, system alerts, and app-level alerts via simctl privacy or accessibility tree detection. Covers: maui-devflow CLI, androidsdk.tool (android), appledev.tools (apple), adb, xcrun simctl, and dotnet build/run for all MAUI target platforms.
- ▌ Maui Devflow Debug 2 · davidortinau bundleRun build, deploy, inspect, and fix loops for .NET MAUI apps that already have MAUI DevFlow integrated. USE FOR: launching MAUI apps, selecting devices or emulators, waiting for or recovering agent connections, broker/port/adb connectivity issues, visual tree inspection, screenshots, UI interaction, Blazor WebView CDP debugging, reading DevFlow logs, and iterative app debugging. DO NOT USE FOR: first-time DevFlow package setup (use maui-devflow-onboard), or generic desktop automation unrelated to MAUI. INVOKES: maui devflow CLI, dotnet CLI, Android adb/android tools, and Apple simctl tools.
- ▌ UX Mobile 2 · davidortinauApply medium-specific UX reasoning for MOBILE (phone) applications — touch input, small screen, one-handed use, single-surface focus. Use this skill alongside ux-first-principles whenever the target is a phone app (iOS or Android, native or otherwise) and the decision is affected by touch target sizing, the absence of hover, thumb reach, limited screen real estate, or single-task focus. Trigger it for "design a mobile screen", "lay out this phone app", "what should the mobile navigation be", or any UI work on a handheld touch device. This skill holds only what CHANGES for phones; the invariant principles live in ux-first-principles. It does NOT pick colors, fonts, or platform chrome — see the render-time handoff below.
- ▌ UX Tablet 2 · davidortinauApply medium-specific UX reasoning for TABLET applications — the hybrid medium that is touch-first but large-screen, often two-handed, sometimes with an attached keyboard/pointer, and capable of multi-pane and split-view multitasking. Use this skill alongside ux-first-principles whenever the target is a tablet (iPad or Android tablet) and the decision is affected by touch sizing, large-screen density, two-handed reach, multi-pane layout, or intermittent pointer/keyboard. Trigger it for 'design a tablet app', 'lay out this iPad screen', 'should this be one pane or two on tablet', or any UI work on a large touch device. This skill holds only what CHANGES for tablets, and where they inherit from mobile vs. desktop. It does NOT pick colors, fonts, or platform chrome — see the render-time handoff.
- ▌ UX Desktop 2 · davidortinauApply medium-specific UX reasoning for DESKTOP applications (mouse/trackpad + keyboard, large screen, multi-window). Use this skill alongside ux-first-principles whenever the target is a desktop app — Windows, macOS, or Linux, native or web-in-a-window — and the decision is affected by input precision, information density, hover, multi-window behavior, or keyboard operation. Trigger it for "design a desktop app screen", "lay out this desktop dashboard", "what should the desktop layout be", or any UI work where the user is on a pointer-and-keyboard machine. This skill holds only what CHANGES for desktop; the invariant principles live in ux-first-principles. It does NOT pick colors, fonts, or platform chrome — see the render-time handoff below.
- ▌ UX First Principles 2 · davidortinau bundleApply the foundational reasoning of a senior UI/UX designer to interface decisions — BEFORE and WHILE generating UI, not just styling it afterward. Use this skill whenever you are designing, structuring, or evaluating an application interface — choosing a layout, a navigation pattern, a flow, an affordance, how much to show at once, or how to group and prioritize elements. This is about design FIRST PRINCIPLES (visual hierarchy, cognitive load, Gestalt grouping, usability heuristics, accessibility) — the 'why' behind good design — NOT design EXECUTION (color tokens, fonts, spacing scales, brand systems, component libraries). Trigger it even when the user does not say 'principles' — phrases like 'design a screen for…', 'lay out this dashboard', 'what navigation should this app use', 'is this UI any good', 'structure this form', 'reduce clutter', or 'make this clearer' all warrant it. Composes alongside execution/styling skills — this one decides WHAT and WHY; those decide HOW it looks.
- ▌ Versioning Policy 2 · davidortinauSemver versioning rules for Squad SDK and CLI — prevents prerelease version incidents
- ▌ Maui Bootstrap Theme 2 · davidortinau bundleStyling guide for MauiBootstrapTheme (Plugin.Maui.BootstrapTheme NuGet). Use when writing, editing, or reviewing .NET MAUI XAML, C#, or MauiReactor code that uses Bootstrap-style classes. Covers installation, setup, per-control StyleClass reference, DynamicResource keys, visual states, theme switching, and common mistakes. Triggers: "bootstrap", "btn-primary", "StyleClass", "form-control", "card", "bootstrap theme", "theme switching", "BootstrapTheme", or any Bootstrap CSS class name used in MAUI context.
- ▌
- ▌ Aspireify 2 · davidortinau bundleOne-time skill for completing Aspire initialization in an existing app after `aspire init` has dropped the skeleton AppHost. Use this skill when an `aspire.config.json` exists but the AppHost has not yet been wired up.
- ▌
- ▌ Aspire 3 · davidortinau bundleUse this skill when the user is working with an Aspire distributed application and needs to operate the AppHost or its resources through the Aspire CLI: start, restart, stop, or wait on the app; inspect resources, logs, traces, docs, or health; add integrations; manage secrets or config; publish, deploy, or rerun a named pipeline step; initialize Aspire in an existing app; recover missing `.modules` files in a TypeScript AppHost; discover the right frontend URL for Playwright from Aspire state; expose custom dashboard/resource commands; or understand unfamiliar Aspire AppHost APIs in C# or TypeScript. Use it even if they describe the task in terms of an AppHost, resources, dashboard, existing app bootstrap, missing generated modules, Playwright URL discovery, C# API understanding, or local distributed app workflow without explicitly naming Aspire. Do not use it for non-Aspire .NET apps, container-only repos with no AppHost, or ordinary build and test tasks.
- ▌
- ▌
- ▌ History Hygiene 2 · davidortinauRecord final outcomes to history.md, not intermediate requests or reversed decisions
- ▌ Release Process 2 · davidortinauStep-by-step release checklist for Squad — prevents v0.8.22-style disasters
- ▌ Distributed Mesh 2 · davidortinau bundleHow to coordinate with squads on different machines using git as transport
- ▌ CI Validation Gates 2 · davidortinauDefensive CI/CD patterns: semver validation, token checks, retry logic, draft detection — earned from v0.8.22
- ▌ Squad Version Check 2 · davidortinauSKILL: Squad CLI Internals — Version Stamping & Upgrade Mechanics
- ▌ Client Compatibility 2 · davidortinauPlatform detection and adaptive spawning for CLI vs VS Code vs other surfaces
- ▌ Github Multi Account 2 · davidortinauDetect and set up account-locked gh aliases for multi-account GitHub. The AI reads this skill, detects accounts, asks the user which is personal/work, and runs the setup automatically.
- ▌
- ▌ Architectural Proposals 2 · davidortinauHow to write comprehensive architectural proposals that drive alignment before code is written
- ▌
- ▌
- ▌ Aspireify · davidortinau bundleOne-time skill for completing Aspire initialization in an existing app after `aspire init` has dropped the skeleton AppHost. Use this skill when an `aspire.config.json` exists but the AppHost has not yet been wired up.
- ▌
- ▌
- ▌ Economy Mode · davidortinauShifts Layer 3 model selection to cost-optimized alternatives when economy mode is active.
- ▌
- ▌
- ▌ History Hygiene · davidortinauRecord final outcomes to history.md, not intermediate requests or reversed decisions
- ▌ Distributed Mesh · davidortinau bundleHow to coordinate with squads on different machines using git as transport
- ▌ CI Validation Gates · davidortinauDefensive CI/CD patterns: semver validation, token checks, retry logic, draft detection — earned from v0.8.22
- ▌ Squad Version Check · davidortinauSKILL: Squad CLI Internals — Version Stamping & Upgrade Mechanics
- ▌ Client Compatibility · davidortinauPlatform detection and adaptive spawning for CLI vs VS Code vs other surfaces
- ▌ Github Multi Account · davidortinauDetect and set up account-locked gh aliases for multi-account GitHub. The AI reads this skill, detects accounts, asks the user which is personal/work, and runs the setup automatically.
- ▌
- ▌ Architectural Proposals · davidortinauHow to write comprehensive architectural proposals that drive alignment before code is written
- ▌ Versioning Policy · davidortinauSemver versioning rules for Squad SDK and CLI — prevents prerelease version incidents
- ▌ Aspire 2 · davidortinau**WORKFLOW SKILL** - Orchestrates Aspire applications using the Aspire CLI and MCP tools for running, debugging, deploying, and managing distributed apps. USE FOR: aspire run, aspire stop, aspire deploy, start aspire app, aspire describe, list aspire integrations, debug aspire issues, view aspire logs, add aspire resource, aspire dashboard, update aspire apphost, Azure Container Apps deployment, PostgreSQL production configuration. DO NOT USE FOR: non-Aspire .NET apps (use dotnet CLI), container-only deployments (use docker/podman). INVOKES: Aspire MCP tools (list_resources, list_integrations, list_structured_logs, get_doc, search_docs), bash for CLI commands. FOR SINGLE OPERATIONS: Use Aspire MCP tools directly for quick resource status or doc lookups.
- ▌
- ▌ Hotreload Sentinel · davidortinauAI-assisted .NET MAUI Hot Reload diagnostics. Monitors hot reload sessions, validates environment setup, tracks per-change developer confirmations, and generates bug reports. Use when hot reload isn't working, UI doesn't update after code changes, or for monitoring hot reload sessions in real-time.
- ▌ Maui AI Debugging · davidortinau bundleEnd-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, or Linux/GTK, (2) Deploying a MAUI app to a device/emulator/simulator, (3) Inspecting or interacting with a running MAUI app's UI (visual tree, element tapping, filling text, screenshots, property queries), (4) Debugging Blazor WebView content inside a MAUI app via CDP, (5) Managing iOS simulators or Android emulators (create, boot, list, install), (6) Setting up the MauiDevFlow agent and CLI in a MAUI project (including Linux/GTK apps), (7) Completing a build-deploy-inspect-fix feedback loop for MAUI app development, (8) Handling iOS permission dialogs, system alerts, and app-level alerts via simctl privacy or accessibility tree detection, (9) Managing multiple simultaneous MAUI apps via the broker daemon. Covers: maui-devflow CLI, androidsdk.tool (android), appledev.tools (apple), adb, xcrun
- ▌ Maui Bootstrap Theme · davidortinau bundleStyling guide for MauiBootstrapTheme (Plugin.Maui.BootstrapTheme NuGet). Use when writing, editing, or reviewing .NET MAUI XAML, C#, or MauiReactor code that uses Bootstrap-style classes. Covers installation, setup, per-control StyleClass reference, DynamicResource keys, visual states, theme switching, and common mistakes. Triggers: "bootstrap", "btn-primary", "StyleClass", "form-control", "card", "bootstrap theme", "theme switching", "BootstrapTheme", or any Bootstrap CSS class name used in MAUI context.
- ▌ Styling Guide · davidortinau bundleApplies colors, typography, spacing, sizing, visual states, and other styling attributes for BaristaNotes .NET MAUI app. Use this skill when implementing UI components, updating styles, or ensuring visual consistency across the app.
- ▌
- ▌
- ▌
- ▌ Release Process · davidortinauPre-release validation, npm publish procedures, and post-publish verification
- ▌ Aspire · davidortinau bundleUse when working with an Aspire distributed application and operating the AppHost or its resources through the Aspire CLI: start/restart/stop/wait on the app; iterate via watch, rebuild, hot reload, or resource commands; inspect resources, logs, traces, docs, or health; add integrations; manage secrets/config; publish, deploy, or rerun a named pipeline step; initialize Aspire in an existing app; recover missing `.modules` files in a TypeScript AppHost; discover the frontend URL for Playwright from Aspire state; expose custom dashboard/resource commands; or understand Aspire AppHost APIs in C# or TypeScript. Use it even if the task is described in terms of AppHost, resources, dashboard, app bootstrap, missing generated modules, Playwright URL discovery, or local distributed app workflow without naming Aspire. Do not use for non-Aspire .NET apps, container-only repos with no AppHost, or ordinary build and test tasks.
- ▌ E2e Testing · davidortinau bundleEnd-to-end testing and verification for SentenceStudio. USE THIS SKILL whenever the user says "test", "verify", "check", "validate", "confirm it works", "smoke test", "run the app and check", "does it work", "try it", "make sure", or any variation of testing a feature or fix in a running app. Also use after EVERY bug fix or feature implementation as a mandatory final verification step — even if you think a build check is enough. Covers: launching via Aspire, interacting with Playwright (webapp) or maui-devflow-debug (native), verifying UI state, checking database records, and reading structured logs. If someone asks you to test anything in this app, or to verify a fix works, or to run a smoke test, or to check that CRUD operations work, or to confirm audio/quiz/import/activity features behave correctly — this is the skill to use. Do NOT skip this skill when verification is needed.
- ▌ Aspire Recovery · davidortinauSystematic recovery procedure for Aspire AppHost failures caused by orphaned processes holding critical ports (especially 22070). Covers diagnostics, two-pass cleanup (AppHost + dcp tree, then orphaned services), verification, and restart validation. USE FOR: "aspire won't start", "cannot access disposed object", "address already in use", "aspire dashboard not loading", "port 22070 in use", "aspire restart failed", "orphaned dcp processes", dashboard stuck on "starting", build succeeds but services won't start, previous Aspire session crashed and won't restart. DO NOT USE FOR: initial Aspire setup, configuration changes, deployment issues, or general Aspire CLI usage (use the aspire skill instead).
- ▌
- ▌
- ▌ Maui Azure Monitor · davidortinauSkill: Wire Azure Monitor (Application Insights) into a .NET MAUI app via OpenTelemetry
- ▌
- ▌ Maui Devflow Debug · davidortinau bundleRun build, deploy, inspect, and fix loops for .NET MAUI apps that already have MAUI DevFlow integrated. USE FOR: launching MAUI apps, selecting devices or emulators, waiting for or recovering agent connections, broker/port/adb connectivity issues, visual tree inspection, screenshots, UI interaction, Blazor WebView CDP debugging, reading DevFlow logs, and iterative app debugging. DO NOT USE FOR: first-time DevFlow package setup (use maui-devflow-onboard), or generic desktop automation unrelated to MAUI. INVOKES: maui devflow CLI, dotnet CLI, Android adb/android tools, and Apple simctl tools.
- ▌
- ▌ Learning Value Gate · davidortinauBlocking checklist for any learning activity change. Ensures every prompt/response combination produces target-language learning value. Earned from the 2026-07-15 Vocab Quiz photo-hide-text miss.
- ▌
- ▌
- ▌
- ▌
- ▌ Maui Devflow Onboard · davidortinau bundleAdd MAUI DevFlow to a .NET MAUI project with agent package references, MauiProgram.cs registration, Blazor WebView support, GTK variants, Central Package Management guidance, and verification commands. USE FOR: first-time DevFlow setup, reviewing what files to edit, choosing DevFlow packages, or continuing after `maui devflow init` installs skills. DO NOT USE FOR: troubleshooting an already-integrated app that cannot connect, iterative app debugging, UI inspection, or generic MAUI build failures (use maui-devflow-debug). INVOKES: maui devflow CLI and dotnet CLI.
- ▌
- ▌ Resourceid Decoupling · davidortinauSkill: 4-Layer ResourceId Decoupling for Vocabulary-Driven Activities
- ▌
- ▌
- ▌
- ▌
- ▌ Resource Id Decoupling · davidortinauResourceId Decoupling Pattern for Vocabulary-Driven Activities
- ▌
- ▌ Aspire Maui Bundle Shim · davidortinauSkill: Aspire.Hosting.Maui bundle-name shim (MSBuild post-build)
- ▌
- ▌
- ▌ Aspnetcore Azure Monitor · davidortinauSkill: Wire Azure Monitor (Application Insights) into an ASP.NET Core / Aspire web tier via OpenTelemetry
- ▌ Available Copilot Skills · davidortinauCopilot CLI skills and custom agents available in this environment
- ▌ Agent Progress Diagnostic · davidortinauHow to tell whether a long-running background agent is hung vs. making progress, before reaching for stop_bash.
- ▌
- ▌
- ▌
- ▌ Validation Problem Details · davidortinauSkill: ASP.NET Core Validation via `TypedResults.ValidationProblem`
- ▌
- ▌
- ▌
- ▌ Maui Devflow Session Review · davidortinau bundleReview previous AI sessions that used MAUI DevFlow to identify opt-in product feedback, friction, repeated attempts, failed advertised features, and workarounds. USE FOR: MAUI DevFlow session review, stuck maui devflow debugging sessions, reviewing CLI/MCP behavior for friction, markdown feedback reports, filing dotnet/maui-labs GitHub issues. DO NOT USE FOR: fixing discovered bugs, adding DevFlow to apps (use maui-devflow-onboard), iterative app debugging (use maui-devflow-debug), or generic memory search. INVOKES: session history/search tools, gh CLI, and maui devflow CLI.
- ▌ Blazor Activity Layout Shell · davidortinauCanonical Blazor activity-page layout shell for SentenceStudio webapp. Copy VocabQuiz verbatim; only swap inner content.
- ▌ API Endpoint Review Checklist · davidortinau10-point checklist for reviewing new API endpoints in multi-user, dual-provider (PostgreSQL/SQLite) contexts
- ▌
- ▌
- ▌ Blazor Hybrid Firstrender Jsinit · davidortinauBlazor Hybrid: JS-interop init must follow state, not firstRender
- ▌ Sqlite Migration History Reconcile · davidortinauSQLite Migration History Reconciliation (Local Dev Drift)
- ▌ Maui Local Notifications · davidortinau bundleAdd local notifications to .NET MAUI apps on Android, iOS, and Mac Catalyst. Covers notification channels, permissions, scheduling, foreground/background handling, and DI registration. Works with XAML/MVVM, C# Markup, and MauiReactor. USE FOR: "local notification", "schedule notification", "notification channel", "notification permission", "reminder notification", "alert notification", "in-app notification", "foreground notification". DO NOT USE FOR: push notifications from a server (use maui-push-notifications), permission handling only (use maui-permissions), or app lifecycle background tasks (use maui-app-lifecycle).
- ▌ Maui Dependency Injection · davidortinau bundleGuidance for dependency injection in .NET MAUI apps — service registration, lifetime selection (Singleton/Transient/Scoped), constructor injection, automatic resolution via Shell navigation, explicit resolution patterns, platform-specific registrations, and testability best practices. USE FOR: "dependency injection", "DI registration", "AddSingleton", "AddTransient", "AddScoped", "service registration", "constructor injection", "IServiceProvider", "MauiProgram DI", "register services". DO NOT USE FOR: data binding (use maui-data-binding), Shell route setup (use maui-shell-navigation), or unit test mocking patterns (use maui-unit-testing).
- ▌ Xamarin Android Migration · davidortinau bundle**WORKFLOW SKILL** - Guide for migrating Xamarin.Android native apps to .NET for Android. Covers SDK-style project conversion, target framework monikers, MSBuild property changes, AndroidManifest.xml updates, NuGet dependency compatibility, Android binding library migration, Xamarin.Essentials in native apps, .NET CLI support, and platform-specific gotchas. USE FOR: "migrate Xamarin.Android", "upgrade Xamarin.Android to .NET", "Xamarin.Android to .NET for Android", "Android project migration", "Android binding library migration", "convert Android project to SDK-style", "AndroidSupportedAbis to RuntimeIdentifiers". DO NOT USE FOR: migrating Xamarin.Forms apps (use xamarin-forms-migration), migrating Xamarin.iOS apps (use xamarin-ios-migration), creating new MAUI apps from scratch (use feature-specific MAUI skills).
- ▌ Maui Hot Reload Diagnostics · davidortinau bundleDiagnose and troubleshoot .NET MAUI Hot Reload issues (C# Hot Reload, XAML Hot Reload, Blazor Hybrid). Covers all UI approaches (XAML, MauiReactor, C# Markup, Blazor Hybrid), Visual Studio, VS Code, environment variables, encoding requirements, and MetadataUpdateHandler. USE FOR: "hot reload not working", "XAML hot reload", "C# hot reload", "UI not updating", "hot reload troubleshooting", "MetadataUpdateHandler", "hot reload Blazor Hybrid", "hot reload VS Code", "DOTNET_WATCH". DO NOT USE FOR: general build errors (not hot reload related), app lifecycle events (use maui-app-lifecycle), or performance profiling (use maui-performance).
- ▌ Maui App Lifecycle · davidortinau bundle.NET MAUI app lifecycle guidance covering the four app states (not running, running, deactivated, stopped), cross-platform Window lifecycle events, backgrounding and resume behaviour, platform-specific lifecycle mapping for Android and iOS/Mac Catalyst, and state-preservation patterns. USE FOR: "app lifecycle", "OnStart", "OnSleep", "OnResume", "backgrounding", "app state", "window lifecycle", "save state on background", "resume app", "deactivated event", "lifecycle events". DO NOT USE FOR: navigation events (use maui-shell-navigation), dependency injection setup (use maui-dependency-injection), or platform APIs (use maui-platform-invoke).
- ▌ Maui File Handling · davidortinau bundleGuidance for file picker, file system helpers, bundled assets, and app data storage in .NET MAUI applications. Covers FilePicker APIs, FileResult handling, platform permissions, and common pitfalls across Android, iOS, macOS, and Windows. USE FOR: "file picker", "FilePicker", "pick file", "open file", "save file", "bundled assets", "FileSystem helpers", "AppDataDirectory", "CacheDirectory", "FileResult", "read file MAUI". DO NOT USE FOR: media capture or photo picking (use maui-media-picker), secure credential storage (use maui-secure-storage), or SQLite database files (use maui-sqlite-database).
- ▌ Maui Hybridwebview · davidortinau bundleGuidance for embedding web content in .NET MAUI apps using HybridWebView, including JavaScript–C# interop, bidirectional communication, raw messaging, and trimming/NativeAOT considerations. USE FOR: "HybridWebView", "JavaScript interop", "embed web content", "JS to C# interop", "C# to JavaScript", "web view interop", "raw message", "InvokeJavaScriptAsync", "web content MAUI". DO NOT USE FOR: deep linking from external URLs (use maui-deep-linking), REST API calls (use maui-rest-api), or Blazor Hybrid apps (different from HybridWebView).