### Example Plugin Reinstall Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Illustrates a multi-step workflow for reinstalling a plugin. Each step can include AI hints and learned notes to guide execution and avoid past errors. ```workflow wf_get id:"roslyn:reinstall-plugin" → 7 steps: switch_instance → stop_debug → rebuild → start_debug → wait → open_solution → verify Each step has aiHint (what to do) and learnedNotes (what went wrong before) ``` -------------------------------- ### Get Workflow Example Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Retrieve a pre-defined AI-driven workflow using `wf_get`. ```bash wf_get id:"teams:send-message" ``` -------------------------------- ### Set Startup Project Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Configures the project that will be started when the solution is run. ```json vs { "action": "set_startup", "target": "ProjectName" } ``` -------------------------------- ### Query Startup Project Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Identify the project(s) configured to start when the solution is run. ```json vs_query { "what": "startup_project" } ``` -------------------------------- ### Basic Workflow Operations Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md A quick guide to common workflow operations: listing, getting details, executing steps, tracking progress, and learning from experience. ```bash 1. wf_list → see existing workflows 2. wf_get id:"" → load workflow with all steps + AI hints 3. Follow each step's aiHint → execute intelligently 4. wf_progress ... status:"step_ok" → track progress 5. wf_learn stepId:N learnedNotes:"..." → record experience for next run ``` -------------------------------- ### Correct Breakpoint Debug Flow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-debug-monitor/skill.md A step-by-step guide for debugging with breakpoints in Visual Studio, including setting breakpoints, starting the debugger, UI interaction, inspecting variables, and stepping through code. ```text 1. vs breakpoint_add target:"file.cs" options:{line: N} 2. vs start_debug 3. screen window_activate processName:"MyApp" 4. screen ui_find → get element ref and bounds 5. screen ui_invoke ref:"uia_N" ← try UIA first (Priority 1) └── if timeout: mouse_click x:... y:... 6. vs_query what:"debug_state" ← immediately check 7. vs_query what:"locals" ← inspect variables 8. vs_query what:"callstack" ← see call chain 9. vs step_over ← step through code 10. vs_query what:"locals" ← see updated values 11. vs breakpoint_clear_all ← clean up 12. vs continue ← resume app 13. vs_query what:"debug_state" ← confirm mode:"Run" ``` -------------------------------- ### Run Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Initiates the execution of a specified workflow. Can start from a specific step using `fromStep`. ```bash wf_run workflowId* fromStep? ``` -------------------------------- ### Start a new process Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Launches a new application or process. Specify the executable path and optionally provide command-line arguments and the working directory. ```json screen { "action": "process_start", "path": "notepad.exe" } screen { "action": "process_start", "path": "C:\\app.exe", "arguments": "--flag", "workingDirectory": "C:\\dir" } ``` -------------------------------- ### Universal Launch Workflow Example Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-debug-monitor/skill.md Demonstrates a typical workflow for monitoring application launch using debug_monitor. It involves taking snapshots and waiting for specific events. ```shell 1. vs start_debug 2. debug_monitor events:3 ← snapshot: what's there? → windows: [] ← nothing yet, app loading 3. debug_monitor events:3 ← poll again → windows: ["SplashForm"] ← splash appeared 4. debug_monitor waitFor:"change" ← wait for next event (splash gone, main window) → read windows[].title ← see what appeared 5. Repeat until main window is there → read windows[].elements[] ← app ready, all UI elements available ``` -------------------------------- ### Start Debug Session Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Initiates a debugging session. This action is fire-and-forget by default. ```text vs action:"start_debug" ``` -------------------------------- ### Create and Add Step to Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Use `wf_create` to start a new workflow and `wf_add_step` to add an AI-driven action to it. ```bash wf_create id:"app:task" name:"Task Name" tags:"automation" wf_add_step workflowId:"app:task" action:"ai_freeform" aiHint:"Detailed steps..." ``` -------------------------------- ### Start Application and Wait for Window Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Launches an application and waits for its main window to appear before proceeding. Useful for ensuring an application is ready. ```workflow Step 1: process_start → ChatApp.exe, waitTrigger:"window:Chat" ``` -------------------------------- ### Start Without Debugging Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Launches the application without attaching the debugger (Ctrl+F5). ```json vs { "action": "start_no_debug" } ``` -------------------------------- ### Manage Processes Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Performs actions on processes, such as starting or terminating them. ```json screen { "action": "terminate_process", "name": "notepad.exe" } ``` -------------------------------- ### Get Screen Information Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Retrieves information about the screen resolution and display settings. ```json screen { "action": "get_info" } ``` -------------------------------- ### Get Solution and Project Structure Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Commands to retrieve the overall structure of the solution and specific project details. Useful for initial orientation. ```json get_solution_structure {} get_project_structure { "projectName": "" } get_file_outline { "filePath": "" } get_types_in_file { "filePath": "" } get_workspace_status {} config_list {} ``` -------------------------------- ### Test Application with UIA Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md A workflow for testing native applications using UI Automation (UIA). This involves starting the process, getting the UI tree, finding elements, setting values, invoking actions, and verifying results. ```text 1. process_start path:"app.exe" 2. ui_tree title:"MyApp" depth:3 → get element tree 3. ui_find title:"MyApp" name:"Username" controlType:"Edit" → find input 4. ui_set_value ref:"uia_8" value:"testuser" → type directly 5. ui_find title:"MyApp" name:"Submit" controlType:"Button" → find button 6. ui_invoke ref:"uia_12" → click programmatically 7. ui_find title:"MyApp" name:"Error" controlType:"Text" → check result 8. ui_get_value ref:"uia_15" → read error message 9. Record working flow in KB ``` -------------------------------- ### Start Background Watcher Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Initiates a background monitor for specific events or conditions. Requires `type` and `target`. ```bash wf_watch type* target* ``` -------------------------------- ### Start Application Without Debug Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Runs the application without attaching the debugger. ```text vs action:"start_no_debug" ``` -------------------------------- ### Query Project List Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Get a list of all projects within the current solution, including their names, file names, unique names, and kinds. ```json vs_query { "what": "projects" } ``` -------------------------------- ### Start Debugging Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Initiates a debugging session (F5). By default, it returns immediately, requiring separate checks for application readiness. An option to wait for the first breakpoint hit with a timeout is available. ```json vs { "action": "start_debug" } ``` ```json vs { "action": "start_debug", "options": {"wait": true, "timeout": 60000} } ``` -------------------------------- ### Wait for Application to Start Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Pauses workflow execution for a specified duration to allow an application to fully load after being started. This prevents subsequent steps from running before the app is ready. ```workflow Step 3: wait_timeout → 5000ms for app to start ``` -------------------------------- ### Get Instant Snapshot of Windows Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-debug-monitor/skill.md Retrieves an instant snapshot of all currently existing windows. Useful for checking the initial state of an application. ```shell debug_monitor events:3 ``` -------------------------------- ### Run Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Execute a workflow starting from a specified step. This is the primary tool for running automated test sequences. ```roslyn-workflow wf_run id:"my_workflow_id" start_step:0 ``` -------------------------------- ### Debug Workflow Steps Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md A step-by-step guide for debugging a specific issue using VS actions and queries. Note that steps 5, 8, 9, and 10 now wait and return debugState automatically. ```text 1. vs action:"breakpoint_add" target:"File.cs" options:{line:42} 2. vs action:"start_debug" → fire-and-forget (default) 3. ... trigger the code path (click UI, etc) ... 4. Breakpoint hits → vs_query what:"debug_state" → confirm Break mode, see line 5. vs action:"step_over" → WAITS, returns new line + debugState 6. vs_query what:"locals" → inspect variables 7. vs_query what:"expression" target:"myObj.Count" → eval expression 8. vs action:"step_into" → WAITS, enters function 9. vs action:"step_out" → WAITS, exits function 10. vs action:"continue" → WAITS for next breakpoint 11. vs action:"breakpoint_clear_all" → cleanup 12. vs action:"stop_debug" → done ``` -------------------------------- ### Start a new Roslyn MCP session Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-session/SKILL.md Initiates a new session with a specified goal. The returned sessionId should be kept for subsequent session-related commands. ```json memory_start_session { "goal": "" } ``` -------------------------------- ### Nested Workflow Example Structure Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Illustrates how workflows can call other workflows, creating a hierarchical structure for complex tasks. ```text app:full-deploy ├── Step 1: Write code ├── Step 2: Validate ├── Step 3: call_case → app:rebuild-plugin ├── Sub-step 1: Stop debug ├── Sub-step 2: Rebuild project ├── Sub-step 3: Start debug ├── Sub-step 4: Wait for app └── Sub-step 5: Verify tools ├── Step 4: Test functionality ├── Step 5: Deploy └── Step 6: Final verification ``` -------------------------------- ### Build Dependency Graph from Type Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Builds a dependency graph starting from a specific type, including callers and callees. ```json graph_build_from_type { "typeName": "", "includeCallers": true, "includeCallees": true } ``` -------------------------------- ### Launch Blazor Server/WASM with Remote Debugging Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Starts a Blazor Server or WASM application with the remote debugging port enabled, required for BlazorPilot to connect. ```bash chrome --remote-debugging-port=9222 --user-data-dir= ``` -------------------------------- ### Get KB Hierarchy Tree Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-knowledge/SKILL.md Retrieves the knowledge tree structure starting from a specified root ID. The `depth` parameter limits how many levels down the tree will be returned. ```json // Get knowledge tree kb_tree { "rootId": "", "depth": 3 } // rootId: null = all roots; depth: 1-10 ``` -------------------------------- ### Query Selected Items in Solution Explorer Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Get information about the items currently selected in the Solution Explorer, including their names, project names, and item names. ```json vs_query { "what": "selected_items" } ``` -------------------------------- ### process_start Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Launches an application. Supports specifying the executable path, command-line arguments, and the working directory. ```APIDOC ## process_start ### Description Launches an application. Supports specifying the executable path, command-line arguments, and the working directory. ### Method `screen` ### Parameters - **action**: (string) - Required - Must be "process_start" - **path**: (string) - Required - The path to the executable file. - **arguments**: (string) - Optional - Command-line arguments to pass to the process. - **workingDirectory**: (string) - Optional - The working directory for the process. ### Request Example ```json screen { "action": "process_start", "path": "notepad.exe" } screen { "action": "process_start", "path": "C:\\app.exe", "arguments": "--flag", "workingDirectory": "C:\\dir" } ``` ``` -------------------------------- ### List and Switch Visual Studio Instances Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md List available Visual Studio instances and switch to a specific instance using its name, port, or directory. ```json list_instances // → [{port, solutionName, solutionDirectory, extensionVersion, projectCount, connected}] ``` ```json switch_instance { "solutionName": "MyApp" } switch_instance { "port": 52851 } switch_instance { "solutionDirectory": "C:\\Sources\\MyProject" } // Switch proxy to different VS instance (partial match supported) ``` -------------------------------- ### Start Background Watcher Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Initiate a background watcher for specific events like window appearance, element changes, or process status. Used for asynchronous monitoring. ```roslyn-workflow wf_watch type:"window" name:"MyApp" timeout:30 ``` -------------------------------- ### Get Markdown File Structure Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-md/SKILL.md Use `toc` to get a flat list of headings or `tree` to get a hierarchical view with child nodes. Useful for understanding document organization. ```bash md action:"toc" filePath:"README.md" ``` ```bash md action:"tree" filePath:"README.md" ``` -------------------------------- ### Query Build State Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Check the current state of the build process, including whether it has started, is in progress, or has completed, and if the last build failed. ```json vs_query { "what": "build_state" } ``` -------------------------------- ### Get Compilation Errors Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Retrieves compilation errors for a file. Set includeWarnings to true to also get warnings. ```json get_errors { "filePath": "", "includeWarnings": false } ``` -------------------------------- ### Create a New File with C# Source Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-cs/SKILL.md Use the 'create_file' action for scaffolding new files from scratch. This is the fastest method, involving a single call with the complete C# source code. ```shell cs action:"create_file" filePath:"Models/Order.cs" body:"using System;\nnamespace MyApp;\npublic class Order\n{\n public int Id { get; set; }\n public string Name { get; set; } = string.Empty;\n}" ``` -------------------------------- ### Get Visual Studio Snapshot Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Retrieves a snapshot of the current Visual Studio state, including solution, build, debug, and breakpoint information. Each section is independent. ```json vs_query { "what": "snapshot" } ``` -------------------------------- ### Build Application Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Initiates the build process for the application. ```text vs action:"build" ``` -------------------------------- ### Get Type Statistics Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-diag/SKILL.md Analyze the heap to get statistics for different types, sorted by size or count. Use `type_stats` with optional parameters like `top`, `page`, `pageSize`, and `sortBy` to refine the results. ```bash diag action:"type_stats" snap:"snap_002" top:10 sortBy:"size" ``` -------------------------------- ### Get Instance Count and Size for a Type Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-diag/SKILL.md Determine the live instance count and total size of a specific type within a snapshot using the `instance_count` action. ```bash diag action:"instance_count" snap:"snap_002" typeName:"System.String" ``` -------------------------------- ### Get or Set CSS Styles Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-blazor/SKILL.md Retrieves computed CSS styles for an element or sets inline styles. When getting, returns properties like display, position, color, etc. When setting, applies styles like 'color:red'. ```json blazor action:"css" selector:"textarea" // get styles blazor action:"css" selector:"#myDiv" value:"color:red" // set style ``` -------------------------------- ### Create a New File with Full C# Source using CS Tool Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-cs/SKILL.md Use `create_file` for the fastest way to scaffold new files. It writes the full source, validates via Roslyn, formats, saves, and indexes in one call. ```csharp cs action:"create_file" filePath:"MyNewFile.cs" body:"public class MyClass {\n public void MyMethod() {\n // Method body\n }\n}" ``` -------------------------------- ### Get Compilation Warnings Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Retrieves only compilation warnings for a file. ```json get_warnings { "filePath": "" } ``` -------------------------------- ### Get context for a task or file Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-session/SKILL.md Combines global and session memories to provide relevant context for a given task description, file path, or fuzzy key. Allows filtering by memory types and limiting results. ```json memory_context { "forTask": "", "forFile": "", "forKey": "", "sessionId": "", "types": ["Decision", "Pattern"], "limit": 10 } ``` -------------------------------- ### Get Cookies in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Retrieves all cookies associated with the current website. ```json blazor { "action": "cookies" } ``` -------------------------------- ### Query Build Configurations Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md List all available build configurations (e.g., Debug, Release) and identify the currently active one. ```json vs_query { "what": "configurations" } ``` -------------------------------- ### Create a New Workflow and Add Steps Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Create a new workflow with a unique ID, name, and tags, then add steps with AI hints for execution. ```bash wf_create id:"my:task" name:"My Workflow" tags:"automation" wf_add_step workflowId:"my:task" action:"ai_freeform" aiHint:"Detailed instruction for AI" ``` -------------------------------- ### Run All Tests Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-tests/SKILL.md Initiates a run of all tests in the solution. This action returns immediately as tests execute in the background. ```json vs { "action": "run_tests" } ``` -------------------------------- ### Get Runner Status Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Retrieves the current state and progress of the workflow runner. ```bash wf_status ``` -------------------------------- ### Example compare_snapshots Output (Leak Detected) Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-diag/SKILL.md This JSON output shows the result of comparing two memory snapshots, highlighting objects that have grown in size and providing hints for further investigation. ```json { "before": "snap_001", "after": "snap_002", "grew": [ { "t": "GraphTerminDialogForm", "before": 0, "after": 10, "delta": 10, "deltaSize": 1240000 }, { "t": "RichEditDocumentServer", "before": 2, "after": 12, "delta": 10, "deltaSize": 890000 } ], "hints": [ "Top grower: GraphTerminDialogForm +10. Use diag find_roots snap:snap_002 target:\"GraphTerminDialogForm\" to locate.", "Heap delta: 14 MB, objects +2347" ] } ``` -------------------------------- ### Create Initial Snapshot Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-diag/SKILL.md Create a snapshot of the target process's memory using `snapshot_create` with the process ID (PID) and an optional label. The process will freeze during the snapshot creation. The action returns immediately with a snapshot ID and status. ```bash diag action:"snapshot_create" pid:12345 label:"before" ``` -------------------------------- ### Get screen and monitor information Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Retrieves information about the system's monitors, including their device names, resolutions, DPI, scale factors, work areas, and the current cursor position. ```json screen { "action": "screen_info" } ``` -------------------------------- ### Add RoslynMCP Proxy for Claude Code / Codex Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Connects your AI assistant to the RoslynMCP proxy. Always copy the path from the RoslynMCP Dashboard in Visual Studio as it is unique per installation. ```bash claude mcp add roslyn -- "C:\Users\YOU\...\Proxy\RoslynMcp.Proxy.exe" codex mcp add roslyn -- "C:\Users\YOU\...\Proxy\RoslynMcp.Proxy.exe" ``` -------------------------------- ### Open and Close Solution Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Opens a specified solution file or closes the currently open solution. Closing can optionally skip saving changes. ```json vs { "action": "open_solution", "target": "C:\\path\\to\\Solution.sln" } ``` ```json vs { "action": "close_solution" } ``` ```json vs { "action": "close_solution", "options": {"save": false} } ``` -------------------------------- ### Get Storage Data in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Accesses browser storage data, such as localStorage and sessionStorage. ```json blazor { "action": "storage" } ``` -------------------------------- ### Build Solution Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Initiates a build of the entire solution. This is an asynchronous operation that waits for completion and returns the build duration. A specific project can also be targeted. ```json vs { "action": "build" } ``` ```json vs { "action": "build", "target": "ProjectName" } ``` -------------------------------- ### Get Performance Metrics in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Collects performance metrics related to the browser and page loading. ```json blazor { "action": "performance" } ``` -------------------------------- ### Navigate Bookmarks Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Move the cursor to the next or previous bookmark in the solution. This navigates through all bookmarks, including manually set ones. ```vs vs { "action": "bookmark_next" } ``` ```vs vs { "action": "bookmark_prev" } ``` -------------------------------- ### Query Solution Information Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Retrieve details about the current Visual Studio solution, including its path, open status, save state, projects, startup project, and active configuration. ```json vs_query { "what": "solution" } ``` -------------------------------- ### Get Code Metrics Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Calculates code metrics such as complexity and method length for a given method. ```json get_code_metrics { "symbolName": "", "symbolKind": "method" } ``` -------------------------------- ### Structured Class Creation using Batch Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-cs/SKILL.md For structured creation where control over each member is needed, use the 'cs batch' action. This allows for creating a class and then adding fields, constructors, methods, and usings sequentially. ```shell cs action:"batch" actions:[ {"action":"create_class", "name":"OrderService", "namespace":"MyApp"}, {"action":"add_field", "target":"OrderService", "name":"_repo", "returnType":"IOrderRepo", "modifiers":"private readonly"}, {"action":"add_constructor", "target":"OrderService", "parameters":"IOrderRepo repo", "body":"_repo = repo;"}, {"action":"add_method", "target":"OrderService", "name":"GetAll", "returnType":"List", "modifiers":"public", "body":"return _repo.GetAll();"}, {"action":"add_using", "target":"OrderService", "name":"System.Collections.Generic"} ] ``` -------------------------------- ### Get Element State in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Retrieves the current state of a UI element, such as its visibility or enabled status. ```json blazor { "action": "element_state", "selector": "#myElement" } ``` -------------------------------- ### Get Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Retrieves a specific workflow, including all its steps and AI hints, using its unique `id`. ```bash wf_get id* ``` -------------------------------- ### Get Dependencies of a Symbol Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Retrieves the dependencies of a symbol within a specified depth and direction (both, callers, or callees). ```json graph_get_dependencies { "symbolName": "", "depth": 2, "direction": "both" } ``` -------------------------------- ### Enable Deploy Configuration Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Ensures the 'Deploy' option is enabled for a given configuration. This is often called after changing configurations. ```text vs action:"enable_deploy" ``` -------------------------------- ### Get Workflow Progress Log Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Retrieves the complete progress log for a workflow. Can limit the number of entries returned. ```bash wf_get_progress workflowId* limit? ``` -------------------------------- ### Get Path Between Nodes in Graph Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Finds the path between two nodes in a dependency graph, with a maximum depth constraint. ```json graph_get_path { "fromNodeId": "", "toNodeId": "", "maxDepth": 5 } ``` -------------------------------- ### List Visual Studio Instances Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Lists all currently running instances of Visual Studio that the AI can interact with. ```json list_instances ``` -------------------------------- ### Get Workflow Details Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Retrieve a specific workflow by its ID, including all its associated steps. Useful for inspection or modification. ```roslyn-workflow wf_get id:"my_workflow_id" ``` -------------------------------- ### Configure WebView2 for Blazor Desktop Debugging Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Adds necessary arguments to launchSettings.json to enable remote debugging for WebView2, allowing BlazorPilot to connect. ```json "environmentVariables": { "WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS": "--remote-debugging-port=9222" } ``` -------------------------------- ### Retrieve Change History Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-session/SKILL.md Get the change history for a specific file or symbol, with an optional limit on the number of results. ```json // Change history for file or symbol graph_get_history { "targetName": "", "targetType": "File", "limit": 20 } // targetType: "File" | "Symbol" ``` -------------------------------- ### Add KB Entry Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-knowledge/SKILL.md Use this command to add a new entry to the Knowledge Base. All four primary parameters (type, category, title, content) are required. Optional parameters allow for defining hierarchy, tags, importance, status, URLs, review dates, and related entries. ```json kb_add { "type": "", "category": "", "title": "", "content": "<markdownContent>", "parentId": "<parentId>", "tags": ["<tag1>", "<tag2>"], "importance": 5, "status": "active", "url": "<url>", "reviewAt": "2025-06-01", "relatedTo": ["<relatedEntryId>"] } ``` -------------------------------- ### Understand Type and Method Details Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Commands for high-level analysis of types and methods, including members, inheritance, signatures, and bodies. Supports partial classes. ```json // High-level type analysis (summary with members, inheritance, usage) understand_type { "typeName": "<typeName>" } // High-level method analysis (signature, body, callers, callees) understand_method { "methodName": "<methodName>", "containingType": "<typeName>" } // Get method source code only get_method_body { "methodName": "<methodName>", "containingType": "<typeName>" } // Type members and base types (solution types only) get_type_info { "typeName": "<typeName>", "includeMembers": true } // Members of ANY type including NuGet get_type_members { "typeName": "<typeName>", "includeInherited": true } // Full inheritance tree (base UP, derived DOWN) get_class_hierarchy { "typeName": "<typeName>" } // Constructor parameters (DI analysis) get_constructor_parameters { "typeName": "<typeName>" } // All method overloads (solution + NuGet) get_overloads { "methodName": "<methodName>", "containingType": "<typeName>" } // Access modifiers (public, private, internal, etc.) get_accessibility { "symbolName": "<symbolName>", "symbolKind": "any" } // XML documentation comments (/// summary) get_xml_documentation { "symbolName": "<symbolName>", "symbolKind": "any" } // Deep recursive context (callers, callees, deps — LARGE response) get_full_context { "symbolName": "<symbolName>", "symbolKind": "any", "depth": 2, "maxNodes": 50 } ``` -------------------------------- ### Get Quick Fixes for Diagnostic Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Retrieves available quick fixes for a specific error or diagnostic at a given line number. ```json get_quick_fixes { "filePath": "<filePath>", "line": 42, "diagnosticId": "CS0103" } ``` -------------------------------- ### Switch Visual Studio Instance Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Switches the AI's control to a different running Visual Studio instance. ```json switch_instance { "instance_id": "12345" } ``` -------------------------------- ### List All Blazor Pages in Solution Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-blazor/SKILL.md Retrieves a list of all Blazor pages defined within the current solution. This action performs static analysis and does not require a browser connection. ```json blazor action:"list_pages" ``` -------------------------------- ### Get Full Context of a Symbol Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Retrieves the full hierarchy (up and down) for a given symbol. Use when a complete call tree is needed. ```json get_full_context { "symbolName": "<symbolName>", "symbolKind": "method", "depth": 4, "maxNodes": 100 } ``` -------------------------------- ### Background Watcher Operations Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Tools for starting, checking status, cancelling, and listing background watchers that monitor external conditions. ```APIDOC ## `wf_watch` ### Description Starts a background monitor to watch for specific conditions (e.g., window appearance, process status). ### Method `wf_watch` ### Parameters #### Path Parameters - **type** (string) - Required - The type of watcher (e.g., `window`, `element`, `process`). - **target** (string) - Required - The target to watch (e.g., window title, process name, CSS selector). ### Request Example ``` wf_watch type:"window" target:"My Application Window" ``` ## `wf_watch_status` ### Description Checks the result or status of an active background watcher. ### Method `wf_watch_status` ### Parameters #### Path Parameters - **watcherId** (string) - Required - The ID of the watcher to check. ## `wf_watch_cancel` ### Description Cancels an active background watcher. ### Method `wf_watch_cancel` ### Parameters #### Path Parameters - **watcherId** (string) - Required - The ID of the watcher to cancel. ## `wf_watch_list` ### Description Lists all currently active background watchers. ### Method `wf_watch_list` ### Parameters None ``` -------------------------------- ### Create a Class using CS Tool Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-cs/SKILL.md Use the `create_class` action to define a new class. Specify the class name and optionally its namespace, file path, modifiers, and base types. ```csharp cs action:"create_class" name:"Foo" ``` -------------------------------- ### Add AI Annotation to Step Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Attach pre-execution, post-execution, or observation instructions to a workflow step. These guide the AI during execution. ```roslyn-workflow wf_annotate id:"my_workflow_id" step_index:0 type:"pre" instruction:"Ensure the input field is empty before typing." ``` -------------------------------- ### List All Workflows Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Use `wf_list` to see all available workflows, including their IDs, names, and tags for filtering. ```bash wf_list → shows all workflows with IDs, names, tags ``` -------------------------------- ### Basic UI Test Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md This workflow demonstrates a basic UI test without debugging. It covers launching an application, interacting with UI elements like input fields and buttons, and verifying success messages. ```screen screen action:"process_start" path:"MyApp.exe" (wait 3-5 seconds for app to load) screen action:"ui_tree" title:"MyApp" depth:3 map out the UI: buttons, fields, tabs screen action:"ui_find" title:"MyApp" name:"Username" controlType:"Edit" find the input field, get ref screen action:"ui_set_value" ref:"uia_5" value:"admin" type username screen action:"ui_find" title:"MyApp" name:"Password" controlType:"Edit" screen action:"ui_set_value" ref:"uia_8" value:"secret" type password screen action:"ui_find" title:"MyApp" name:"Login" controlType:"Button" screen action:"ui_invoke" ref:"uia_12" click Login (wait for response) screen action:"ui_find" title:"MyApp" name:"Welcome" verify success message appeared screen action:"ui_get_value" ref:"uia_15" read the welcome text ``` -------------------------------- ### Get Console Logs in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Retrieves console logs generated by the browser. This is invaluable for debugging JavaScript errors and application behavior. ```json blazor { "action": "console" } ``` -------------------------------- ### Find References and Definitions Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Commands to locate all usages of a symbol, navigate to its definition, and find implementations or derived types. Useful for understanding code relationships. ```json // All usages of a symbol (reads, writes, assignments) find_references { "symbolName": "<symbolName>", "containingType": "<typeName>", "symbolKind": "any", "includeContext": true, "groupBy": "typeAndMember", "page": 0, "pageSize": 20 } // Go to definition find_definition { "symbolName": "<symbolName>", "symbolKind": "any" } // Interface implementations / inheritors find_implementations { "typeName": "<typeName>", "includeIndirect": true } // Types deriving from base type find_derived_types { "typeName": "<typeName>", "includeIndirect": true } ``` -------------------------------- ### Get Workflow Status Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Check the current state, progress, and any pending AI instructions for a running workflow. Essential for monitoring execution. ```roslyn-workflow wf_status id:"my_workflow_id" ``` -------------------------------- ### Switch Build Configuration Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Changes the active build configuration (e.g., Debug, Release) and optionally specifies the platform (e.g., x64). ```json vs { "action": "set_configuration", "target": "Debug" } ``` ```json vs { "action": "set_configuration", "target": "Release", "options": {"platform": "x64"} } ``` -------------------------------- ### Rebuild and Clean Solution Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Performs a full rebuild of the solution or cleans the solution by deleting build outputs. All build actions return success status, build success, failed projects, and duration. ```json vs { "action": "rebuild" } ``` ```json vs { "action": "clean" } ``` -------------------------------- ### Set Build Configuration Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Sets the active build configuration (e.g., Debug, Release). ```text vs action:"set_configuration" ``` -------------------------------- ### Get Value of a Form Field in Windows Automation Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Retrieves the current value of a form field. Useful for reading data from input elements. ```json ui_get_value { "name": "Email Address" } ``` -------------------------------- ### ui_tree Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Gets the element tree of a specified window using UI Automation. Supports filtering by control types and limiting tree depth. ```APIDOC ## ui_tree — Get element tree of a window ### Description Gets the element tree of a specified window using UI Automation. Supports filtering by control types and limiting tree depth. Every returned element gets a `ref` (e.g., `uia_42`) which can be used in subsequent calls. ### Method `screen` ### Parameters - **action**: (string) - Required - Must be "ui_tree" - **title / handle / processName**: (string/int) - Optional - Target window. Defaults to the foreground window. - **ref**: (string) - Optional - Start from a cached element instead of the window root. - **depth**: (integer) - Optional - Maximum tree depth. Values from 1 to 10. Defaults to 3. - **maxElements**: (integer) - Optional - Limits the output size. Defaults to 200. - **filter**: (string) - Optional - Substring match on element Name or AutomationId. - **controlTypes**: (string) - Optional - Comma-separated list of control types to include (e.g., "Button,Edit,TabItem"). ### Request Example ```json screen { "action": "ui_tree", "title": "MyApp" } screen { "action": "ui_tree", "title": "MyApp", "depth": 5, "controlTypes": "Button,Edit,TabItem" } screen { "action": "ui_tree", "ref": "uia_42", "depth": 2 } ``` ### Response #### Success Response (200) - **tree**: (object) - The root element of the UI tree, containing `ref`, `name`, `controlType`, and `children` (an array of child elements). - **totalElements**: (integer) - The total number of elements found. - **truncated**: (boolean) - Indicates if the results were truncated due to `maxElements`. ``` -------------------------------- ### window_list Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Enumerates all visible windows on the desktop, returning their titles, handles, process names, and geometry. ```APIDOC ## window_list ### Description Enumerate all visible windows. ### Returns `{ windows: [{ title, handle, processName, pid, x, y, width, height, isMinimized }], count }` ### Examples ```json screen { "action": "window_list" } ``` ``` -------------------------------- ### Get Last Workflow Error Details Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Retrieve detailed information about the last error encountered during a workflow run. Crucial for diagnosing failures. ```roslyn-workflow wf_last_error id:"my_workflow_id" ``` -------------------------------- ### Get AI Annotations for Step Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Retrieve all AI annotations associated with a specific workflow step. Useful for reviewing or debugging AI guidance. ```roslyn-workflow wf_get_annotations id:"my_workflow_id" step_index:0 ``` -------------------------------- ### Query Snapshot Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Queries a snapshot, which wraps other sub-queries in try/catch blocks. Useful when build state might not be immediately available. ```text vs_query what:"snapshot" ``` -------------------------------- ### Save All Files Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Saves all modified files in the current solution, similar to Ctrl+S. ```json vs { "action": "save_all" } ``` -------------------------------- ### Create a New Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Initiates a new workflow with a unique ID, name, and optional tags. This is the starting point for defining an automation sequence. ```workflow wf_create id:"msg:app-send" name:"Send Message in Chat App" tags:"messaging,automation" ``` ```workflow wf_create id:"app:deploy-test" name:"Build, Deploy, Test App" tags:"deploy,test" ``` ```workflow wf_create id:"guided:data-entry" name:"Guided Data Entry" tags:"interactive" ``` -------------------------------- ### Query Bookmarks Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md List all AI-set bookmarks, including their file, path, line number, and label. ```json vs_query { "what": "bookmarks" } ``` -------------------------------- ### Create Workflow Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Creates a new workflow. Requires a unique `id`, `name`, and optionally accepts `description` and `tags`. ```bash wf_create id* name* description? tags? ``` -------------------------------- ### AI Annotation Operations Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-workflow/SKILL.md Tools for adding and retrieving AI-driven instructions (annotations) for specific steps, used for guiding AI behavior during execution. ```APIDOC ## `wf_annotate` ### Description Adds an AI instruction or annotation to a specific step for a given phase (pre, post, observe). ### Method `wf_annotate` ### Parameters #### Path Parameters - **stepId** (string) - Required - The ID of the step to annotate. - **phase** (string) - Required - The phase during which the annotation applies (`pre`, `post`, `observe`). - **annotation** (string) - Required - The AI instruction or annotation text. ### Request Example ``` wf_annotate stepId:"step-789" phase:"pre" annotation:"Ensure the input field is empty before typing." ``` ## `wf_get_annotations` ### Description Retrieves all AI annotations associated with a specific step. ### Method `wf_get_annotations` ### Parameters #### Path Parameters - **stepId** (string) - Required - The ID of the step for which to retrieve annotations. ``` -------------------------------- ### List Available Snapshots Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-diag/SKILL.md Retrieve a list of all available snapshots with their age and size using the `snapshot_list` action. ```bash diag action:"snapshot_list" ``` -------------------------------- ### Get Network Requests in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Fetches network request details, including status codes. This helps in diagnosing connectivity issues and API interactions. ```json blazor { "action": "network" } ``` -------------------------------- ### Launch Chrome with CDP Port for Blazor Server/WASM Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-blazor/SKILL.md Launches Google Chrome with the remote debugging port enabled, allowing BlazorPilot to connect to a Blazor Server or WebAssembly application running in the browser. ```bash # Chrome chrome --remote-debugging-port=9222 --user-data-dir=<temp> http://localhost:5258 ``` -------------------------------- ### Query Last Breakpoint Hits Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Get information about the breakpoints that were last hit during the debugging session, including file, function name, and hit count. ```json vs_query { "what": "breakpoint_hits" } ``` -------------------------------- ### Query Specific Project Details Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Retrieve detailed information for a specific project, such as its files (up to 100), output path, and kind. Replace 'ProjectName' with the actual project name. ```json vs_query { "what": "project", "target": "ProjectName" } ``` -------------------------------- ### Get Test Results from Visual Studio Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Retrieves the results of test executions, including passed/failed counts and error messages with file and line information. ```json vs_query { "what": "test_results" } ``` -------------------------------- ### Activate a window by title, handle, or process name Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-screen/SKILL.md Activates a specific window to bring it to the foreground. Supports activation by window title (substring match, case-insensitive), window handle, or process name. Automatically restores minimized windows. ```json screen { "action": "window_activate", "title": "Teams" } screen { "action": "window_activate", "handle": 12345 } screen { "action": "window_activate", "processName": "ms-teams" } ``` -------------------------------- ### Get Element HTML Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-blazor/SKILL.md Retrieves the HTML content and attributes of a specified element. Returns tag name, outerHTML (truncated), text content, and all attributes. ```json blazor action:"get_html" selector:".flex-1.min-w-0 button" ``` -------------------------------- ### Take Screenshot of Full Screen Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Captures an image of the entire desktop. ```json screen { "action": "screenshot_full" } ``` -------------------------------- ### Get Index Statistics Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-md/SKILL.md Retrieves statistics about the indexed Markdown files, including the number of files, sections, total size, and the path to the index database. ```bash md action:"stats" path:"C:\\docs" ``` -------------------------------- ### Save and Navigate Files in Visual Studio Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Save specific files or the active document. Navigate to a specific line in the active document. ```json vs { "action": "save_file", "target": "File.cs" } // Save specific file (without target — saves active document) ``` ```json vs { "action": "goto_line", "options": {"line": 42} } // Go to line in active document ``` -------------------------------- ### Get KB Entry Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-knowledge/SKILL.md Retrieves a specific KB entry by its ID. Set `includeRelated` to true to also fetch entries related to the requested one. ```json kb_get { "id": "<id>", "includeRelated": true } ``` -------------------------------- ### Create New Markdown Document Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-md/SKILL.md Creates a new Markdown file with a specified title and initial content. The tool automatically handles the top-level heading. ```bash md action:"create_doc" filePath:"docs/guide.md" title:"User Guide" content:"Introduction text." ``` -------------------------------- ### Clear Workflow Progress Log Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md Remove the progress log for a workflow. Typically used before starting a new test run or to clear old data. ```roslyn-workflow wf_clear_progress id:"my_workflow_id" ``` -------------------------------- ### Navigate to URL Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-blazor/SKILL.md Navigates the browser to a specified URL. ```json blazor action:"navigate" url:"https://localhost:5258/settings" ``` -------------------------------- ### Analyze Data Flow in Code Region Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-code/SKILL.md Analyzes variable data flow within a specified region of code defined by start and end lines. ```json analyze_data_flow { "filePath": "<filePath>", "startLine": 10, "endLine": 50 } ``` -------------------------------- ### End a Roslyn MCP session Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-session/SKILL.md Terminates the current session, optionally providing a summary of the work done. Requires the sessionId obtained when starting the session. ```json memory_end_session { "sessionId": "<sessionId>", "summary": "<whatWasDone>" } ``` -------------------------------- ### Connect to Blazor Application (Automatic) Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-blazor/SKILL.md Automatically connects to a Blazor application by searching launchSettings.json and adding the necessary environment variable for CDP communication. Requires restarting the app if the environment variable was missing. ```json blazor action:"connect" ``` -------------------------------- ### Connect to Browser Instance in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Establishes a connection to a running browser instance via the DevTools Protocol. ```json blazor { "action": "connect" } ``` -------------------------------- ### Get UI Element Tree in Windows Automation Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Retrieves the UI element tree for a given window or element, providing a hierarchical view of the UI structure. ```json ui_tree { "window_title": "My Application" } ``` -------------------------------- ### Get and Set CSS Styles in Blazor Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Allows retrieval and modification of CSS styles for UI elements. Useful for dynamic styling and debugging CSS issues. ```json blazor { "action": "css", "selector": ".my-class", "property": "color" } ``` ```json blazor { "action": "css", "selector": "#myId", "property": "background-color", "value": "red" } ``` -------------------------------- ### Bulk Create Document Hierarchy Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-md/SKILL.md Creates an entire Markdown document with a nested hierarchy of sections and content in a single operation. Uses 2 spaces for indent levels and `Heading: body` format. ```bash md action:"bulk_create" filePath:"docs/api.md" content:"API Reference Auth OAuth: OAuth2 flow Keys: API key management Endpoints Users: CRUD operations Orders: Order lifecycle" ``` -------------------------------- ### Query Active Document Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Get details about the currently active document in the editor, including its name, full path, language, save status, and read-only status. ```json vs_query { "what": "active_document" } ``` -------------------------------- ### Get Workflow Run History Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-ui-test/SKILL.md View the execution history for a specific workflow, including past runs, their outcomes, and durations. Helps in tracking stability and performance. ```roslyn-workflow wf_history id:"my_workflow_id" ``` -------------------------------- ### Simulate Keyboard Hotkeys Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/README.md Sends keyboard hotkey combinations (e.g., Ctrl+C) to the active window. ```json screen { "action": "type_hotkey", "keys": "Ctrl+C" } ``` -------------------------------- ### Query Build Warnings Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Retrieve a list of warnings generated during the last build, with details similar to errors. ```json vs_query { "what": "warnings" } ``` -------------------------------- ### Step Into Code Source: https://github.com/yarhoroh/roslynmcp-public/blob/main/skills/roslyn-vs/SKILL.md Advances the debugger into a function call. This action waits for the debugger to enter the function. ```text vs action:"step_into" ```