· 1 observation
Technical updates · 1
Package or technical metadata updated
View technical comparison →Ansight v0.1.0
Inspect and debug mobile apps.
From the developer
Not specified in the available declarations: limitations, pricing & account requirements.
Check whether Ansight CLI is ready on this machine.
Developer declarations; not independently tested. Listing last checked Nov 6, 2026. Package observed Nov 6, 2026.
From the marketplace listing
Ansight gives your coding agent runtime evidence from real mobile apps, so it can debug and verify what actually happened instead of guessing from source code. Install the Ansight SDK into an iOS, Android, .NET MAUI, React Native, Flutter, or Capacitor app, and every development session records logs, network requests, telemetry, screenshots, visual trees, and touches. This plugin's 27 skills let the agent use that evidence through the Ansight CLI: • Set up the CLI and start the local host • Investigate a recorded session: bracket a time window and correlate logs, failed requests, screenshots, and UI trees around an error • Operate a running app: boot a simulator or emulator, launch the app, tap and type through the semantic UI, and capture before-and-after evidence • Call remote tools the app exposes for authoritative in-process state • Annotate sessions for review • Score automation readiness and automation-ID coverage • Author and run repeatable, source-controlled UI tests • Add platform-specific SDK setup and custom remote tools for each supported framework Requirements: the Ansight CLI is installed separately, and live workflows need a development or QA build with the SDK integrated plus execution access to the machine running the Ansight host. Installing the plugin in a cloud-only environment does not by itself provide access to a local device or simulator.
Language: English · Automatically detected from descriptions.
Exact text from the indicated source. A mention alone does not establish support for your task.
Ansight gives your coding agent runtime evidence from real mobile apps, so it can debug and verify what actually happened instead of guessing from source code. Install the Ansight SDK into an iOS, Android, .NET MAUI, React Native, Flutter, or Capacitor app, and every development session records logs, network requests, telemetry, screenshots, visual trees, and touches. This plugin's 27 skills let the agent use that evidence through the Ansight CLI: • Set up the CLI and start the local host • Investigate a recorded session: bracket a time window and correlate logs, failed requests, screenshots, and UI trees around an error • Operate a running app: boot a simulator or emulator, launch the app, tap and type through the semantic UI, and capture before-and-after evidence • Call remote tools the app exposes for authoritative in-process state • Annotate sessions for review • Score automation readiness and automation-ID coverage • Author and run repeatable, source-controlled UI tests • Add platform-specific SDK setup and custom remote tools for each supported framework Requirements: the Ansight CLI is installed separately, and live workflows need a development or QA build with the SDK integrated plus execution access to the machine running the Ansight host. Installing the plugin in a cloud-only environment does not by itself provide access to a local device or simulator.
Inspect and debug mobile apps.
Read Write
Inspect and debug mobile apps with Ansight CLI: runtime evidence, live UI, app tools, and repeatable tests.
· 1 observation
Package or technical metadata updated
View technical comparison →· 2 observations
Package or technical metadata updated
View technical comparison →· 2 observations
Package or technical metadata updated
View technical comparison →Package or technical metadata updated
View technical comparison →Find competitors to follow as you develop your plugin.
Mobile test and debug harness for AI coding agents. Portable skills plus a CLI control plane for device sessions, UI trees, screenshots, ...
Shared terms: debug, mobile, android, capture
Design, build, improve and verify distinctive websites, web apps, PWAs, native Apple apps, Android apps and cross-platform mobile apps fr...
Shared terms: mobile, android, coding, deploy
Run mobile changes on Revyl cloud devices and verify them with screenshots and semantic validation through the Revyl CLI.
Shared terms: mobile, cli, screenshot, semantic
Raygun helps developers investigate application errors, inspect user sessions, analyze frontend and backend performance, correlate proble...
Shared terms: debug, correlate, error, investigate
mach connects an approved account to inspect Flutter, React Native, and Expo delivery work: projects, cloud builds, store submissions, OT...
Shared terms: mobile, inspect, expose, flutter
--- name: ansight-annotate-session description: Add, update, verify, or remove timeline and UI-anchored annotations on one Ansight session. Use for requested review metadata, screenshot geometry, or visual-tree target binding; do not use merely to read annotations, investigate evidence, or operate the live app. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/ansight-install.md → [ansight-install](../ansight-install/SKILL.md) - https://www.ansight.ai/skills/ansight-cli-setup.md → [ansight-cli-setup](../ansight-cli-setup/SKILL.md) # Annotate An Ansight Session Attach concise review metadata to one exact session. Keep the observed fact in the label, supporting context in notes, and inference explicitly qualified. ## Prerequisites And Routing CLI annotation requires the Ansight CLI and a session available from local history or an imported archive. The app does not need to remain installed or connected, and its SDK does not need to be present, when annotating retained evidence. - A UI-anchored annotation also requires a captured screenshot frame; a semantic target requires a corresponding persisted visual-tree snapshot. - Direct diagnostic annotation tools such as `ansight_inject_annotation` require an available diagnostic tool connection and a resolvable session. A live-only tool path also requires an initialized SDK session. - If new live evidence must first be captured, use the Ansight Operate Live App skill; if the app lacks the SDK integration, follow `https://www.ansight.ai/skills/ansight-install.md`. - If the CLI cannot access the session, follow `https://www.ansight.ai/skills/ansight-cli-setup.md`. Do not install or reconnect the SDK solely to add metadata to an existing recorded or imported session. Annotation writes change retained session metadata. Resolve the session and read existing annotations before creating or replacing one: ```sh ansight session show <session-id> --json ansight session annotations <session-id> --json ``` Use a stable, meaningful annotation ID when the note may be updated. A CLI upsert with an existing ID replaces the stored annotation, so preserve any geometry, target, evidence, custom data, and capture metadata that should remain. ## Add A Timeline Annotation With The CLI Use CLI fields for a point-in-time or range annotation: ```sh ansight session annotation upsert <session-id> \ --annotation-id <stable-id> \ --label <label> \ --notes <notes> \ --source agent \ --start <utc> \ --end <utc> \ --json ``` Omit `--end` for an instantaneous marker. Use ISO-8601 UTC timestamps taken from session evidence. Do not manufacture precision beyond the evidence that established the moment. ## Ground A UI Annotation A UI annotation is still time-based, but also anchors geometry to a captured screenshot frame. Establish the frame before writing: ```sh ansight session images <session-id> --json ansight session screenshot export <session-id> --frame-id <frame-id> --output <path> ansight session trees <session-id> --json ``` Choose the frame that displays the observed issue. If the annotation targets a semantic element, choose a visual-tree snapshot whose `screenshotFrameId` matches that frame or whose timestamp clearly corresponds to it. Preserve the snapshot ID, automation ID, element metadata, and bounds re
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
--- name: ansight-app-inspection description: Route an ambiguous Ansight app request to the narrowest live-operation, remote-tool, session-investigation, annotation, readiness-audit, workspace-automation, or platform-inspection skill. Use only when the request does not already identify the required Ansight workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md → [ansight-operate-live-app](../ansight-operate-live-app/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md → [ansight-use-remote-app-tools](../ansight-use-remote-app-tools/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md → [ansight-investigate-session](../ansight-investigate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md → [ansight-annotate-session](../ansight-annotate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-assess-automation-readiness/SKILL.md → [ansight-assess-automation-readiness](../ansight-assess-automation-readiness/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-ui-testing/SKILL.md → [ansight-ui-testing](../ansight-ui-testing/SKILL.md) - https://www.ansight.ai/skills/ansight-cli-setup.md → [ansight-cli-setup](../ansight-cli-setup/SKILL.md) - https://www.ansight.ai/skills/dotnet/ansight-app-inspection-dotnet.md → [ansight-app-inspection-dotnet](../ansight-app-inspection-dotnet/SKILL.md) - https://www.ansight.ai/skills/ios/ansight-app-inspection-ios.md → [ansight-app-inspection-ios](../ansight-app-inspection-ios/SKILL.md) - https://www.ansight.ai/skills/android/ansight-app-inspection-android.md → [ansight-app-inspection-android](../ansight-app-inspection-android/SKILL.md) - https://www.ansight.ai/skills/react-native/ansight-app-inspection-react-native.md → [ansight-app-inspection-react-native](../ansight-app-inspection-react-native/SKILL.md) - https://www.ansight.ai/skills/flutter/ansight-app-inspection-flutter.md → [ansight-app-inspection-flutter](../ansight-app-inspection-flutter/SKILL.md) - https://www.ansight.ai/skills/cordova/ansight-app-inspection-cordova.md → [ansight-app-inspection-cordova](../ansight-app-inspection-cordova/SKILL.md) # Ansight App Inspection Router Skill Use this skill to choose a workflow, not to perform one. Once a specialist is selected, load it completely, stop following this router, and do not route back here from that specialist. ## Goal Select one primary skill that owns the requested outcome. Add another skill only when the request crosses a real capability boundary. ## Choose The Primary Skill | Request | Use this skill | | --- | --- | | Start or reuse the host, boot a target, launch or stop an app, resolve a live session, use tree-first interactive actions/batches with screenshot fallback, and verify | Installed `$ansight-operate-live-app`; fallback: `https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md` | | Discover and call bundled or app-specific tools exposed by a connected app | Installed `$ansight-use-remote-app-tools`; fallback: `https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md` | | Inspect a live or recorded session, correlate telemetry and other evidence, or create a non-destructive session slice | Installe
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-app-inspection-android description: Add native Android Kotlin and Java semantics to an Ansight operation. Use alongside a selected core Ansight workflow when Android view or Compose rendering, preferences, storage, reflection, ADB fallback, or Android tool behavior affects interpretation; do not use as the primary live-operation, remote-tool, session-investigation, or annotation workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md → [ansight-operate-live-app](../ansight-operate-live-app/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md → [ansight-use-remote-app-tools](../ansight-use-remote-app-tools/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md → [ansight-investigate-session](../ansight-investigate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md → [ansight-annotate-session](../ansight-annotate-session/SKILL.md) # Ansight Android Inspection Semantics Use this companion skill for native Android Kotlin or Java evidence. Do not use it for React Native, .NET for Android, Flutter, native iOS, or generic JVM work. ## Keep The Core Workflow In Charge Select the skill that owns the requested outcome before applying these Android semantics: - live lifecycle or visible UI interaction: `https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md` - bundled or app-specific remote tools: `https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md` - live or recorded evidence investigation: `https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md` - annotation writes: `https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md` The selected core skill owns session selection, authorization, command procedure, verification, reporting, and any relevant workspace reuse. Use this skill only to interpret Android-specific evidence or choose among cataloged Android tool families. ## Interpret Android UI Evidence - Use cataloged native `ui.*` tools when the Android hierarchy, screenshots, node details, overlays, platform widgets, or native hit testing are material. - Treat native visual-tree output as the rendered Android hierarchy. For Jetpack Compose or mixed UIs, do not infer the complete composable source structure or state from host-view evidence alone. - Correlate screenshots with the corresponding tree when layout, labels, visibility, hit targets, or navigation state matter. ## Interpret Android State And Tools - Treat native UI, database, file, SharedPreferences, secure-storage, artifact, and `reflect.*` tools as optional catalog entries rather than guaranteed Android capabilities. - Use SharedPreferences and secure-storage tools only for stores, keys, or prefixes explicitly exposed by the catalog and app guard. - Use `reflect.*` only against returned registered roots. It normally comes from a Debug or explicit local-development dependency such as `ai.ansight:ansight-tools-reflection-android`. - An absent tool family may reflect build-variant gating, pairing policy, or local guards; report the observed catalog rather than changing the integration automatically. ## Emulator And Device Semantics - Prefer Ansight lifecycle
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-app-inspection-cordova description: Add Capacitor DOM and native-platform semantics to an Ansight operation. Use alongside a selected core Ansight workflow when WebView DOM, JavaScript errors, native hierarchy, bridge state, or DOM tool behavior affects interpretation; do not use as the primary live-operation, remote-tool, session-investigation, or annotation workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md → [ansight-operate-live-app](../ansight-operate-live-app/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md → [ansight-use-remote-app-tools](../ansight-use-remote-app-tools/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md → [ansight-investigate-session](../ansight-investigate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md → [ansight-annotate-session](../ansight-annotate-session/SKILL.md) # Ansight Cordova / Capacitor Inspection Semantics Use this companion skill for supported Cordova-family apps built with Capacitor. Do not infer support for a classic Apache Cordova app or a web-only project without the Ansight Capacitor bridge. ## Keep The Core Workflow In Charge Select the skill that owns the requested outcome before applying these Capacitor semantics: - live lifecycle or visible UI interaction: `https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md` - bundled or app-specific remote tools: `https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md` - live or recorded evidence investigation: `https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md` - annotation writes: `https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md` The selected core skill owns session selection, authorization, command procedure, verification, reporting, and any relevant workspace reuse. Use this skill only to interpret Capacitor-specific evidence or choose among cataloged DOM and native tool families. ## Interpret DOM And Native Evidence - Use cataloged `dom.get_document`, `dom.inspect_node`, or `dom.query_selector` when DOM ownership, WebView structure, attributes, styles, or bridge-rendered content are material. - Use cataloged native `ui.*` tools for UIKit or Android hierarchy, screenshots, native overlays, platform views, and rendering or hit-testing outside the DOM. - Treat DOM nodes, native nodes, automation IDs, and reflection roots as separate namespaces unless a returned schema explicitly connects them. - Compare DOM and native evidence when diagnosing a mismatch between WebView state and rendered platform UI. - `dom.invoke_action` and similar DOM actions are remote writes. Keep semantic device interaction as the default for a visible user flow and follow the core remote-tool skill for authorized internal operations. ## JavaScript, Bridge, And Fallback Semantics A paired build may stream captured JavaScript errors, app-provided logs, Ansight diagnostics, telemetry, screenshots, touches, and tool results. Use browser devtools only when WebView console, network, or runtime evidence unavailable through Ansight is required; use Xcode or Android system logs for complete native process output. Use browser devt
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-app-inspection-dotnet description: Add .NET MAUI and .NET mobile platform semantics to an Ansight operation. Use alongside a selected core Ansight workflow when MAUI hierarchy, bindings, handlers, native rendering, reflection, or .NET tool behavior affects interpretation; do not use as the primary live-operation, remote-tool, session-investigation, or annotation workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md → [ansight-operate-live-app](../ansight-operate-live-app/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md → [ansight-use-remote-app-tools](../ansight-use-remote-app-tools/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md → [ansight-investigate-session](../ansight-investigate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md → [ansight-annotate-session](../ansight-annotate-session/SKILL.md) # Ansight .NET Inspection Semantics Use this companion skill for .NET MAUI, .NET for Android, .NET for iOS, or .NET Mac Catalyst evidence. Do not use it for native-only iOS or Android, React Native, Flutter, server, console, or web apps. ## Keep The Core Workflow In Charge Select the skill that owns the requested outcome before applying these .NET semantics: - live lifecycle or visible UI interaction: `https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md` - bundled or app-specific remote tools: `https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md` - live or recorded evidence investigation: `https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md` - annotation writes: `https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md` The selected core skill owns session selection, authorization, command procedure, verification, reporting, and any relevant workspace reuse. Use this skill only to interpret .NET-specific evidence or choose among cataloged .NET tool families. ## Interpret .NET UI Evidence - Prefer cataloged `maui.*` tools when the question requires MAUI page, element, bindable-property, binding, resource, layout, handler, navigation, or binding-context semantics that the unified tree does not expose. - Use cataloged native `ui.*` tools when the issue concerns the rendered UIKit or Android hierarchy, native screenshots, platform widgets, overlays, or native hit testing. - Treat MAUI, native, and reflection identifiers as separate namespaces unless a returned schema explicitly connects them. - Correlate screenshots with the relevant MAUI or native tree when layout, visibility, labels, hit targets, or navigation state matter. ## Interpret .NET State And Tools - Treat `maui.*`, `ui.*`, database, file, preference, secure-storage, artifact, and `reflect.*` families as optional catalog entries rather than guaranteed .NET capabilities. - Use `reflect.*` only against roots returned by `reflect.list_roots`. It normally comes from `Ansight.Tools.Reflection` or an all-in-one package enabled in a Debug or explicit local-development configuration. - An absent reflection catalog may mean the development-only suite, runtime policy, or local guard is intentionally unavailable; report that state instead of enablin
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-app-inspection-flutter description: Add Flutter widget and native-platform semantics to an Ansight operation. Use alongside a selected core Ansight workflow when widget hierarchy, navigation, native rendering, physical-device logging, or Flutter tool behavior affects interpretation; do not use as the primary live-operation, remote-tool, session-investigation, or annotation workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md → [ansight-operate-live-app](../ansight-operate-live-app/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md → [ansight-use-remote-app-tools](../ansight-use-remote-app-tools/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md → [ansight-investigate-session](../ansight-investigate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md → [ansight-annotate-session](../ansight-annotate-session/SKILL.md) # Ansight Flutter Inspection Semantics Use this companion skill for Flutter apps targeting iOS or Android. Do not route a native-only app here merely because generated Flutter platform folders are present elsewhere in the repository. ## Keep The Core Workflow In Charge Select the skill that owns the requested outcome before applying these Flutter semantics: - live lifecycle or visible UI interaction: `https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md` - bundled or app-specific remote tools: `https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md` - live or recorded evidence investigation: `https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md` - annotation writes: `https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md` The selected core skill owns session selection, authorization, command procedure, verification, reporting, and any relevant workspace reuse. Use this skill only to interpret Flutter-specific evidence or choose among cataloged Flutter and native tool families. ## Interpret Flutter Evidence - Use cataloged `flutter.get_widget_tree`, `flutter.inspect_widget`, `flutter.find_widgets`, or `flutter.get_navigation_state` only when widget ownership, Flutter layout, widget state, or navigation semantics are material. - Use cataloged native `ui.*` tools for UIKit or Android hierarchy, screenshots, platform views, overlays, and native rendering or hit-testing issues. - Treat Flutter widget IDs, native nodes, automation IDs, and reflection roots as separate namespaces unless a returned schema explicitly connects them. - Compare widget and native evidence when diagnosing a mismatch between Flutter state and rendered platform UI. - Treat Flutter, native, storage, artifact, and `reflect.*` families as optional catalog entries, and treat any Flutter action tool as a remote mutation. ## Physical Device And Fallback Semantics A paired physical build can stream app-provided logs, Ansight diagnostics, telemetry, screenshots, touches, and tool results. Use Xcode device logging or Android system logs only when complete OS or process output not captured by the app is required. Use Flutter tooling, Xcode, ADB, simulator or emulator tools, device logs, or source inspection only after the owning
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-app-inspection-ios description: Add native iOS SwiftUI and UIKit semantics to an Ansight operation. Use alongside a selected core Ansight workflow when UIKit hierarchy, SwiftUI hosting, Apple storage, Simulator control, reflection, or iOS tool behavior affects interpretation; do not use as the primary live-operation, remote-tool, session-investigation, or annotation workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md → [ansight-operate-live-app](../ansight-operate-live-app/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md → [ansight-use-remote-app-tools](../ansight-use-remote-app-tools/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md → [ansight-investigate-session](../ansight-investigate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md → [ansight-annotate-session](../ansight-annotate-session/SKILL.md) # Ansight iOS Inspection Semantics Use this companion skill for native iOS SwiftUI or UIKit evidence. Do not use it for React Native, .NET for iOS, Flutter, native Android, or generic Swift package work. ## Keep The Core Workflow In Charge Select the skill that owns the requested outcome before applying these iOS semantics: - live lifecycle or visible UI interaction: `https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md` - bundled or app-specific remote tools: `https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md` - live or recorded evidence investigation: `https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md` - annotation writes: `https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md` The selected core skill owns session selection, authorization, command procedure, verification, reporting, and any relevant workspace reuse. Use this skill only to interpret iOS-specific evidence or choose among cataloged iOS tool families. ## Interpret iOS UI Evidence - Use cataloged native `ui.*` tools when UIKit hierarchy, screenshots, node details, overlays, z-order, platform widgets, or native hit testing are material. - SwiftUI content may appear through UIKit hosting containers. Treat the native visual tree as the rendered hierarchy, not the original SwiftUI source or complete SwiftUI state. - Correlate screenshots with the corresponding tree when layout, labels, visibility, hit targets, or navigation state matter. ## Interpret iOS State And Tools - Treat native UI, database, file, UserDefaults, Keychain, artifact, and `reflect.*` tools as optional catalog entries rather than guaranteed iOS capabilities. - Use UserDefaults and Keychain tools only for stores, suites, services, accounts, and keys explicitly exposed by the catalog and app guard. - Use `reflect.*` only against returned registered roots. It normally comes from a Debug or explicit local-development product such as `AnsightToolsReflection`. - An absent tool family may reflect build gating, pairing policy, or local guards; report the observed catalog rather than changing the integration automatically. ## Simulator And Device Semantics - For iOS Simulator touch and control, prefer Ansight's native SimulatorKit HID bindings. Do not introduce Ap
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-app-inspection-react-native description: Add React Native and Expo development-build semantics to an Ansight operation. Use alongside a selected core Ansight workflow when React component, shadow-tree, native hierarchy, navigation, memory, or React tool behavior affects interpretation; do not use as the primary live-operation, remote-tool, session-investigation, or annotation workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md → [ansight-operate-live-app](../ansight-operate-live-app/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md → [ansight-use-remote-app-tools](../ansight-use-remote-app-tools/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md → [ansight-investigate-session](../ansight-investigate-session/SKILL.md) - https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md → [ansight-annotate-session](../ansight-annotate-session/SKILL.md) # Ansight React Native Inspection Semantics Use this companion skill for React Native apps and Expo development builds with native Ansight integration. Expo Go cannot load the native bridge. Do not use this skill for native-only iOS or Android, .NET, Flutter, or web-only projects. ## Keep The Core Workflow In Charge Select the skill that owns the requested outcome before applying these React Native semantics: - live lifecycle or visible UI interaction: `https://www.ansight.ai/skills/agents/ansight-operate-live-app/SKILL.md` - bundled or app-specific remote tools: `https://www.ansight.ai/skills/agents/ansight-use-remote-app-tools/SKILL.md` - live or recorded evidence investigation: `https://www.ansight.ai/skills/agents/ansight-investigate-session/SKILL.md` - annotation writes: `https://www.ansight.ai/skills/agents/ansight-annotate-session/SKILL.md` The selected core skill owns session selection, authorization, command procedure, verification, reporting, and any relevant workspace reuse. Use this skill only to interpret React Native-specific evidence or choose among cataloged React and native tool families. ## Choose The Correct Tree - Use a cataloged React component tree for composite-component ownership, logical structure, and explicitly available props or state. - Use a cataloged React shadow tree for the committed host layout with composite components flattened out. - Use cataloged native `ui.*` tools for UIKit or Android hierarchy, native screenshots, platform widgets, overlays, and native rendering or hit-testing issues. - Treat React component IDs, shadow nodes, native nodes, automation IDs, and reflection roots as separate namespaces unless a returned schema explicitly connects them. - Compare React and native evidence when diagnosing a mismatch between JavaScript state and rendered platform UI. ## Interpret React Native Tools - Treat `react.*`, native UI, storage, artifact, custom, and `reflect.*` tools as optional catalog entries rather than guaranteed React Native capabilities. - Use `react.get_component_tree`, `react.get_shadow_tree`, `react.find_components`, `react.get_component`, or `react.get_navigation_state` only when the current catalog returns them. - Navigation state requires an app-registered navigation reference. Props and state may be ab
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-assess-automation-readiness description: Audit and score an app's Ansight integration strength and automation readiness. Use for a requested evidence-backed readiness score, automation-ID coverage assessment, blocker analysis, comparison, or prioritized remediation plan; do not use for routine app inspection or workspace authoring. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. # Assess Ansight Automation Readiness Produce an evidence-backed audit with separate scores for Ansight Integration Strength and Automation Readiness. Treat a rich telemetry integration and a reliably automatable app as related but distinct outcomes. ## Preserve Audit Safety - Audit read-only evidence by default. - Do not create tests, tasks, triggers, Trends definitions, identifiers, or app tools unless the user also requests implementation. - Do not sign in, purchase, delete, submit, or otherwise mutate meaningful app data merely to improve audit coverage. - Use safe navigation only when the user has authorized live interaction. Stop before destructive or externally visible actions. - Treat remote write tools as privileged. Report their schemas and guards without invoking them unless invocation is necessary and authorized. - Do not award runtime points from source code alone. Mark implemented-but-unverified capabilities explicitly. ## Establish Scope 1. Resolve the exact repository, app ID, build, platform, device or simulator, and session when available. 2. Select one to three representative critical flows. Prefer a primary user journey, a data-entry or state-changing journey, and a recovery or error journey. 3. Name the screen states sampled in each flow. Avoid claiming whole-app coverage from one screen. 4. Record available evidence modes: `source`, `live`, `replay`, and `repeat_run`. 5. If multiple live sessions match, do not guess. Narrow by explicit app, session, platform, device, or build evidence before proceeding. 6. Score materially different build profiles separately. If the user does not specify one, audit the development or test build intended for automation and name production or other profiles as unscored. Do not blend a development integration with a production build that intentionally excludes Ansight. This skill owns the audit, scoring, and report. Load evidence helpers directly when needed: Ansight Operate Live App for lifecycle or visible interaction, Ansight Remote App Tools for in-process state, Ansight Investigate Session for retained evidence, and an already available platform inspection skill for platform-specific semantics. Do not load the Ansight App Inspection router from this skill. Use the Ansight Workspace Automation skill only when the user separately asks to create or run repository-owned automation. ## Gather Evidence ### Inspect The Repository Locate SDK initialization, app identity, development-build guards, tool registration, logging or telemetry bridges, and existing `ansight/tests`, `ansight/tasks`, `ansight/triggers`, and `ansight/trends` definitions. Search for platform-native identifier APIs and shared control wrappers, but use source matches only as leads. Do not calculate identifier coverage from raw text-search counts. A declaration may not render, a shared component may cover many instances, and a platform identifier may not map to Ansight's live `automationId` field. ### Inspect Ansight Runtime Evidence Prefer structured Ansight CLI evidence before direct device or
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.
---
name: ansight-cli-setup
description: Prepare a developer workstation or agent to use the Ansight CLI by verifying the executable and dependencies, starting or reusing the resident host, and proving structured discovery. Use when setup is requested or those prerequisites are not ready; do not use for ordinary app operation once they work.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
# Ansight CLI Setup Skill
Use this skill when a user wants an agent or developer workstation prepared for Ansight without modifying an app SDK integration.
## Goal
Make the `ansight` executable the canonical local interface, verify its dependencies, start or reuse its resident host, and prove that structured CLI commands can discover apps and sessions.
## Required Constraints
- Use `ansight` commands directly and do not add a separate client bridge or daemon configuration.
- Prefer `--json` whenever command output will be consumed by an agent or script.
- Preserve any running host and its selected data directory.
- Do not install or modify an app SDK unless the user separately requests it.
- Do not start a second host against the same data directory.
- Keep the resident host on the developer machine and do not expose its local ports publicly.
- Treat macOS Keychain and resident-host IPC denials as execution-sandbox boundaries, not damaged Ansight credentials. Do not delete Keychain items, sign the user out, create a parallel file-backed secret store, or restart a healthy host to work around them.
## Workflow
1. Confirm the executable and command surface:
```sh
ansight help
ansight version --json
ansight update check --json
ansight doctor --json
```
2. Check for a resident host:
```sh
ansight host status --json
```
3. If no host is running, start one in a persistent terminal:
```sh
ansight host run
```
Use `ansight host run --open` when the user also wants the local browser explorer. Use the same `--data-dir` on status and management commands when a custom data directory is required.
4. From another terminal, verify the host and discovery surface:
```sh
ansight host status --json
ansight app list --json
ansight session list --connected --limit 20 --json
```
5. A simulator, emulator, Mac Catalyst app, or desktop app registers
automatically with the local host. To enroll a physical device, issue a
generic one-use terminal QR and scan it from the app's developer-only Ansight
surface:
```sh
ansight pairing issue --qr
```
Do not require app registration before this first connection. Once the SDK
supplies its real App ID, optionally link it to a repository with
`ansight app register <app-id> --name <name> --codebase <path>`.
6. For agent workflows, prove the machine-readable inspection path with the selected session:
```sh
ansight session show <session-id> --json
ansight app tools <session-id> \
--policy read \
--detail summary \
--max-results 10 \
--json
```
This is a compact discovery check. For a real app question, use the
installed `$ansight-use-remote-app-tools` skill: search with focused terms,
then retrieve the selected exact tool with `--tool-id <id> --detail full`.
Session listing is summary-only and cursor-paginated. Follow `nextCursor`
with `--cursor` only when the first filtered page does not contain the
intended session, and preserve the same filters between pages.
7. For fastPreview of the first 4,000 characters. Read full instructions →
--- name: ansight-create-remote-tool-android description: Use this skill when implementing a custom Ansight remote tool for a native Android Kotlin or Java app. Create a narrow androidSimpleTool or AndroidTool with a stable id, explicit read/write/critical ToolPolicy, structured JSON results, local-development build-variant gating, runtime ToolGuard access, registration through AnsightOptions.addTool/addTools or AnsightRuntime.registerTool, and verification through the Ansight CLI. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. # Ansight Android Remote Tool Skill Use this skill when a user wants to add an app-specific Ansight remote tool to a native Android app. Do not use this skill for React Native, .NET Android, Flutter, server, desktop, or generic JVM projects. ## What A Remote Tool Is An Ansight remote tool is an app-specific, agent-facing tool that a developer exposes from inside the running Android app. Instead of forcing an agent to infer everything from screenshots, logs, visual trees, or generic reflection, a remote tool lets the agent ask targeted questions about the app's own domain and runtime state. CLI clients discover the tool by its stable id, call it with structured arguments, let the app execute the operation in-process under its active tool guard, and receive a structured JSON result. Use a custom remote tool when app-specific state would help an agent understand a bug, explain current behavior, or make a better code fix. For example, a 3D Android app could expose the active scene id, camera transform, selected entity ids, visible mesh counts, animation state, physics flags, and narrow actions such as selecting an entity, moving the debug camera, or toggling a diagnostic overlay. A map app using Mapbox, Esri, Google Maps, or a similar library could expose camera center/zoom/bearing/tilt, loaded style id, sources, layers, tile-load errors, selected feature ids, annotations, current bounds, and safe actions such as toggling a debug layer or flying to a known fixture location. Prefer a remote tool over broad reflection, ad hoc scripts, or manual emulator/device poking when the app can expose a precise, reviewable answer to questions such as "why is the map blank?", "why is this model offscreen?", "which domain object is selected?", or "what runtime state differs from the expected fixture?" Do not treat remote tools as public APIs, production automation endpoints, or general command runners. They are privileged local-development capabilities and must be gated by build variant, a maximum runtime policy, stable ids, and explicit argument validation. ## Goal Create the smallest useful Android custom tool for a local development workflow, register it with the existing Ansight runtime setup, keep it out of distributable builds, guard it at runtime, and verify that the CLI can discover and invoke it. ## Required Constraints - prefer Kotlin for new Android tool code when the app uses Kotlin - use a stable id such as `myapp.diagnostics_snapshot`; do not use display text as the id - prefer one small tool per operation - choose the narrowest `ToolPolicy`: `Read`, `Write`, or `Critical` - validate flattened string arguments and fail closed on invalid input - return structured JSON results - place custom tool code in `src/debug/...` when Ansight is a `debugImplementation` - keep custom tool code out of Play Store, CI release, and other distributable variants - default the active guard to read-only unl
Preview of the first 4,000 characters. Read full instructions →
---
name: ansight-create-remote-tool-cordova
description: Use this skill when implementing a custom Ansight remote tool for a Cordova-family Capacitor app. Create a narrow JavaScript registerTool handler with a stable id, explicit read/write/critical policy, structured results, development-only registration, runtime guard access, and CLI verification.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
# Ansight Cordova / Capacitor Remote Tool Skill
Use this skill to expose app-specific JavaScript state that existing DOM, native, artifact, and reflection tools do not answer precisely.
## Workflow
1. Define a narrow question or action and choose a stable namespaced id.
2. Prefer `read`; use `write` for ordinary mutation and `critical` for destructive, secret-bearing, or arbitrary code-invoking operations.
3. Register after bridge initialization:
```ts
const registration = Ansight.registerTool(
{
id: "app.get_sync_state",
name: "Get sync state",
policy: "read",
},
async () => ({
success: true,
result: { state: "idle" },
}),
);
await registration.ready;
```
4. Keep registration inside the app's explicit development guard and use the least-permissive tool access.
5. Avoid secrets, full stores, arbitrary JavaScript evaluation, unbounded DOM scraping, and broad method invocation.
6. Test success, invalid inputs, failures, unregistration, denied guard access, and discovery/invocation through `ansight app tools` and `ansight app call`.
Report the tool id, policy, exposed data or mutation, guard, registration location, and verification.
--- name: ansight-create-remote-tool-dotnet description: Use this skill when implementing a custom Ansight remote tool for a .NET MAUI, .NET for Android, .NET for iOS, or .NET Mac Catalyst app. Create a narrow Ansight.Tools.ITool implementation with stable tool ids, ToolSchema arguments and results, the shared read/write/critical ToolPolicy, local-development MSBuild gating with AnsightRemoteToolsPolicy, registration through AddTool/AddTools or a WithMyAppTools extension, and verification through the Ansight CLI. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. # Ansight .NET Remote Tool Skill Use this skill when a user wants to add an app-specific Ansight remote tool that a paired agent can call through the Ansight CLI. ## What A Remote Tool Is An Ansight remote tool is an app-specific, agent-facing tool that a developer exposes from inside the running app. Instead of forcing an agent to infer everything from screenshots, logs, visual trees, or generic reflection, a remote tool lets the agent ask targeted questions about the app's own domain and runtime state. CLI clients discover the tool by its stable id, call it with structured arguments, let the app execute the operation in-process under its active `ToolGuard`, and receive a structured result. Use a custom remote tool when app-specific state would help an agent understand a bug, explain current behavior, or make a better code fix. For example, a 3D app could expose the active scene id, camera transform, selected entity ids, visible mesh counts, animation state, physics flags, and narrow actions such as selecting an entity, moving the debug camera, or toggling a diagnostic overlay. A map app using Mapbox, Esri, or a similar library could expose camera center/zoom/bearing/pitch, loaded style id, sources, layers, tile-load errors, selected feature ids, annotations, current bounds, and safe actions such as toggling a debug layer or flying to a known fixture location. Prefer a remote tool over broad reflection, ad hoc scripts, or manual app poking when the app can expose a precise, reviewable answer to questions such as "why is the map blank?", "why is this model offscreen?", "which domain object is selected?", or "what runtime state differs from the expected fixture?" Do not treat remote tools as public APIs, production automation endpoints, or general command runners. They are privileged local-development capabilities and must be gated by build configuration, a maximum runtime policy, and stable schemas. ## Goal Create the smallest useful custom remote tool for a local development workflow, register it with the existing Ansight setup, keep it excluded from protected builds, guard it at runtime, and verify that the CLI can discover and invoke it. ## Required Constraints - implement `Ansight.Tools.ITool` - prefer one small tool class per operation - use a stable id such as `myapp.diagnostics_snapshot`; do not use display text as the id - declare explicit `ToolSchema` objects for arguments and results - choose the narrowest `ToolPolicy`: `Read`, `Write`, or `Critical` - parse and validate flattened string arguments inside `Execute(...)` - return `ToolResult.Failure(...)` with a stable `errorCode` for invalid requests or app-side failures - register tools only in local development builds - keep `AnsightRemoteToolsPolicy=AllowedWithWarnings` only when custom tools are intentionally included - use `AnsightRemoteToolsPolicy=Disallowed` for protected Release, CI,
Preview of the first 4,000 characters. Read full instructions →
---
name: ansight-create-remote-tool-flutter
description: Use this skill when implementing a custom Ansight remote tool for a Flutter app. Create a narrow Dart registerTool handler with a stable id, explicit read/write/critical policy, structured results, development-only registration, runtime guard access, and CLI verification.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
# Ansight Flutter Remote Tool Skill
Use this skill to expose app-specific Flutter or Dart state that existing widget, native, artifact, and reflection tools do not answer precisely.
## Workflow
1. Define the narrow question or action and choose a stable namespaced id such as `app.get_sync_state`.
2. Prefer `read`; use `write` for ordinary mutation and `critical` for destructive, secret-bearing, or arbitrary code-invoking operations.
3. Define argument and result schemas where useful.
4. Register after runtime initialization:
```dart
final registration = await Ansight.instance.registerTool(
const AnsightToolDefinition(
id: 'app.get_sync_state',
name: 'Get sync state',
policy: AnsightToolPolicy.read,
),
(arguments, context) async => const AnsightToolResult.success(
result: <String, Object?>{'state': 'idle'},
),
);
```
5. Keep registration inside `kDebugMode` or the app's explicit developer variant and configure the least-permissive `AnsightToolGuard`.
6. Avoid secrets, unbounded object graphs, raw reflection, and broad arbitrary method invocation.
7. Test handler success, invalid arguments, expected failure, unregistration, denied guard access, and discovery/invocation through `ansight app tools` and `ansight app call`.
Report the tool id, policy, exposed data or mutation, guard, registration location, and verification.
--- name: ansight-create-remote-tool-ios description: Use this skill when implementing a custom Ansight remote tool for a native iOS SwiftUI or UIKit app. Create a narrow AnsightTool with a stable descriptor id, explicit read/write/critical policy, structured result payloads, Debug or local-development build gating, runtime tool guard access, registration through AnsightRuntime.shared.registerTool, and verification through the Ansight CLI. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. # Ansight iOS Remote Tool Skill Use this skill when a user wants to add an app-specific Ansight remote tool to a native iOS app. Do not use this skill for React Native, .NET iOS, Flutter, server, desktop, or generic Swift Package projects. ## What A Remote Tool Is An Ansight remote tool is an app-specific, agent-facing tool that a developer exposes from inside the running iOS app. Instead of forcing an agent to infer everything from screenshots, logs, visual trees, or generic reflection, a remote tool lets the agent ask targeted questions about the app's own domain and runtime state. CLI clients discover the tool by its stable id, call it with structured arguments, let the app execute the operation in-process under its active tool guard, and receive a structured result payload. Use a custom remote tool when app-specific state would help an agent understand a bug, explain current behavior, or make a better code fix. For example, a 3D iOS app could expose the active scene id, camera transform, selected entity ids, visible mesh counts, animation state, physics flags, and narrow actions such as selecting an entity, moving the debug camera, or toggling a diagnostic overlay. A map app using Mapbox, Esri, Apple MapKit, or a similar library could expose camera center/zoom/bearing/pitch, loaded style id, sources, layers, tile-load errors, selected feature ids, annotations, current bounds, and safe actions such as toggling a debug layer or flying to a known fixture location. Prefer a remote tool over broad reflection, ad hoc scripts, or manual simulator/device poking when the app can expose a precise, reviewable answer to questions such as "why is the map blank?", "why is this model offscreen?", "which domain object is selected?", or "what runtime state differs from the expected fixture?" Do not treat remote tools as public APIs, production automation endpoints, or general command runners. They are privileged local-development capabilities and must be gated by Debug or local-development build settings, a maximum runtime policy, stable ids, and explicit argument validation. ## Goal Create the smallest useful iOS custom tool for a local development workflow, register it with the existing Ansight runtime setup, keep it out of distributable builds, guard it at runtime, and verify that the CLI can discover and invoke it. ## Required Constraints - implement an executable `AnsightTool` for app-specific operations - use a stable id such as `myapp.diagnostics_snapshot`; do not use display text as the id - prefer one small tool per operation - choose the narrowest policy: read, write, or critical - validate string arguments and fail closed on invalid input - return structured result payloads - compile or register custom tools only in Debug or an explicit local-development build path - set `ANSIGHT_ALLOW_REMOTE_TOOLS=true` only for builds that intentionally include remote tools - default the active guard to read-only unless the requested workfl
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-create-remote-tool-react-native description: Use this skill when implementing a custom Ansight remote tool for a React Native app. Create a narrow JavaScript-backed registerTool handler or a native Swift/Kotlin tool, use stable ids, explicit read/write/critical policy, structured results, developer-only registration with __DEV__ or native build gates, runtime ToolGuard access, and verification through the Ansight CLI. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/ios/ansight-create-remote-tool-ios.md → [ansight-create-remote-tool-ios](../ansight-create-remote-tool-ios/SKILL.md) - https://www.ansight.ai/skills/android/ansight-create-remote-tool-android.md → [ansight-create-remote-tool-android](../ansight-create-remote-tool-android/SKILL.md) # Ansight React Native Remote Tool Skill Use this skill when a user wants to add an app-specific Ansight remote tool to a React Native app. Do not use this skill for native-only iOS, native-only Android, .NET, Flutter, server, desktop, or web-only projects. ## What A Remote Tool Is An Ansight remote tool is an app-specific, agent-facing tool that a developer exposes from inside the running React Native app. It can be registered from JavaScript or native Swift/Kotlin code. Instead of forcing an agent to infer everything from screenshots, logs, component trees, visual trees, or generic reflection, a remote tool lets the agent ask targeted questions about the app's own domain and runtime state. CLI clients discover the tool by its stable id, call it with structured arguments, let the app execute the operation under its active tool guard, and receive a structured JSON-compatible result. Use a custom remote tool when app-specific state would help an agent understand a bug, explain current behavior, or make a better code fix. For example, a 3D React Native app could expose the active scene id, camera transform, selected entity ids, visible mesh counts, animation state, physics flags, and narrow actions such as selecting an entity, moving the debug camera, or toggling a diagnostic overlay. A map app using Mapbox, Esri, Google Maps, Apple MapKit, or a similar library could expose camera center/zoom/bearing/pitch, loaded style id, sources, layers, tile-load errors, selected feature ids, annotations, current bounds, and safe actions such as toggling a debug layer or flying to a known fixture location. Prefer a remote tool over broad reflection, ad hoc scripts, or manual simulator/emulator/device poking when the app can expose a precise, reviewable answer to questions such as "why is the map blank?", "why is this model offscreen?", "which domain object is selected?", or "what runtime state differs from the expected fixture?" Do not treat remote tools as public APIs, production automation endpoints, or general command runners. They are privileged local-development capabilities and must be gated by `__DEV__` or native build configuration, a maximum runtime policy, stable ids, and explicit argument validation. ## Goal Create the smallest useful React Native custom tool for a local development workflow, register it with the existing Ansight bridge setup, keep it out of distributable builds, guard it at runtime, and verify that the CLI can discover and invoke it. ## Required Constraints - prefer a Jav
Preview of the first 4,000 characters. Read full instructions →
--- name: ansight-install description: Use this skill when installing or configuring Ansight but the app platform has not been selected yet. Install the Ansight CLI with the official platform script when needed, run ansight doctor to identify environment dependencies, obtain approval before installing missing tools, route to the matching platform-specific SDK skill, and finish with CLI enrollment and structured session verification. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/dotnet/ansight-install-dotnet.md → [ansight-install-dotnet](../ansight-install-dotnet/SKILL.md) - https://www.ansight.ai/skills/ios/ansight-install-ios.md → [ansight-install-ios](../ansight-install-ios/SKILL.md) - https://www.ansight.ai/skills/android/ansight-install-android.md → [ansight-install-android](../ansight-install-android/SKILL.md) - https://www.ansight.ai/skills/react-native/ansight-install-react-native.md → [ansight-install-react-native](../ansight-install-react-native/SKILL.md) - https://www.ansight.ai/skills/flutter/ansight-install-flutter.md → [ansight-install-flutter](../ansight-install-flutter/SKILL.md) - https://www.ansight.ai/skills/cordova/ansight-install-cordova.md → [ansight-install-cordova](../ansight-install-cordova/SKILL.md) - https://www.ansight.ai/skills/ansight-cli-setup.md → [ansight-cli-setup](../ansight-cli-setup/SKILL.md) # Ansight Install Router Skill Use this skill when the user asks an agent to install or configure Ansight and the prompt does not already name the target SDK. This is a routing skill. Do not perform a full SDK integration from this file. Identify the app platform, then fork into or load the matching platform-specific install skill and follow that skill as the source of truth. ## CLI Prerequisite Treat the official website installers as the only supported CLI bootstrap. Do not reconstruct their download, checksum, PATH, skill, account, or resident-host steps manually. 1. Detect the current operating system and whether `ansight` resolves on PATH. 2. If the CLI is missing, show the matching command and ask the user to approve running it. If the agent is authorized to install developer tooling, run the approved command directly; otherwise ask the user to run it and wait for the result. macOS or Linux: ```sh curl -fsSL https://www.ansight.ai/install.sh | bash ``` Windows PowerShell: ```powershell irm https://www.ansight.ai/install.ps1 | iex ``` 3. Open a new shell if PATH changes are not visible, then verify the installed CLI rather than assuming installation succeeded: ```sh ansight version --json ansight doctor --json ``` The scripts are published with the website at `https://www.ansight.ai/install.sh` and `https://www.ansight.ai/install.ps1`. ## Doctor-Led Dependency Setup Use `ansight doctor --json` as the source of truth for the current machine. Do not guess dependencies from the app platform alone. - Explain every required failure and every optional capability that affects the requested workflow. - Before using Homebrew, apt, dnf, winget, dotnet tool installation, npm, or any other package manager, show the exact packages and commands and ask the user to approve installing them. - Do not install an optional dependency merely because Doctor reports it as mi
Preview of the first 4,000 characters. Read full instructions →
---
name: ansight-install-android
description: Install the native Android Ansight SDK with automatic emulator registration and one-shot CLI QR enrollment for physical devices. Add the aggregate dependency, initialize from Application, expose the SDK scanner from a developer-only surface, keep remote tools development-only, verify the Gradle build, and inspect the app through the Ansight CLI.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app:
- https://www.ansight.ai/skills/agents/ansight-app-inspection.md → [ansight-app-inspection](../ansight-app-inspection/SKILL.md)
- https://www.ansight.ai/skills/android/ansight-app-inspection-android.md → [ansight-app-inspection-android](../ansight-app-inspection-android/SKILL.md)
# Ansight Android Install Skill
Use this skill for native Android Kotlin or Java apps.
## Outcome
The finished app must:
- include `ai.ansight:ansight-android` in a local-development build;
- initialize Ansight once from `Application.onCreate()`;
- register automatically on an emulator and expose
`Ansight.enrollFromQrCode(activity)` from a developer-only UI for physical devices;
- reconnect automatically after the first successful scan;
- keep broad or mutating remote tools out of distributable builds; and
- require no generated JSON, build secret, certificate, or manual app registration.
## Workflow
1. Identify the app module, `Application` class, debug variant, and existing developer menu.
2. Add the aggregate dependency, normally:
```kotlin
dependencies {
debugImplementation("ai.ansight:ansight-android:1.4.0-preview.1")
}
```
3. Initialize from `Application.onCreate()`:
```kotlin
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Ansight.initializeAndActivateDeveloperMode(
application = this,
clientName = "Android App",
)
}
}
}
```
4. Add a developer-only action that owns an `Activity`:
```kotlin
Ansight.enrollFromQrCode(activity)
```
5. Do not add a camera permission. The SDK uses Google Code Scanner. The
aggregate SDK merges ordinary network access and clear-text development
traffic into the manifest.
6. Keep reflection, secure-storage access, writes, and deletes disabled unless
the requested development workflow requires them.
7. Create or update `ansight-readme.md` with the scanner location, build
verification command, and CLI enrollment commands. Do not add an enrollment
payload or token to it.
8. Run `./gradlew :app:assembleDebug` and relevant tests.
9. Start or reuse the resident CLI host. An emulator registers automatically.
For a physical device, issue one generic host QR and scan it from the
developer-only surface:
```sh
ansight host run
ansight pairing issue --qr
ansight session list --connected --app-id <app-id> --json
ansight app tools <session-id> --detail summary --include-unavailable --max-results 50 --json
```
Do not require `ansight app register` before the first connection. After the
SDK supplies its real App ID, optionally link the discovered app to the
repository with `ansight app register <app-id> --codebase <repository-path>`.
## Enrollment Behavior
An emulator registers automatically through loopback. For a physical device,
the developer runs `ansight paiPreview of the first 4,000 characters. Read full instructions →
---
name: ansight-install-cordova
description: Install @ansight/capacitor with automatic simulator or emulator registration and one-shot CLI QR enrollment for physical devices. Add and sync the Capacitor bridge, initialize native defaults, expose enrollFromQrCode from a developer-only surface, keep remote tools development-only, verify web and native builds, and inspect the app through the Ansight CLI.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app:
- https://www.ansight.ai/skills/agents/ansight-app-inspection.md → [ansight-app-inspection](../ansight-app-inspection/SKILL.md)
- https://www.ansight.ai/skills/cordova/ansight-app-inspection-cordova.md → [ansight-app-inspection-cordova](../ansight-app-inspection-cordova/SKILL.md)
# Ansight Cordova / Capacitor Install Skill
Use this skill for Capacitor 8 apps. Classic Apache Cordova is not currently a
drop-in target for `@ansight/capacitor`.
## Workflow
1. Inspect `package.json`, Capacitor config, web bootstrap, native projects,
debug guard, and existing developer menu.
2. Install and sync:
```shell
npm install @ansight/capacitor
npx cap sync
```
3. Initialize from development-only bootstrap:
```ts
if (isDevelopmentBuild) {
await Ansight.initializeAndActivate(
Ansight.createOptionsBuilder()
.withAnsightDefaults()
.withReadOnlyToolAccess()
.build(),
);
}
```
Replace `isDevelopmentBuild` with the app's existing explicit development
variant flag; do not hard-code it to `true`.
4. Add a developer-only scanner action:
```ts
await Ansight.enrollFromQrCode({
clientName: "My Capacitor App",
});
```
5. `scanPairingQrCode(...)` is an API alias. Use `connect(payload, ...)` when
the app already owns a scanner.
6. Keep DOM and native tools behind the app's local-development guard. Prefer
read-only DOM and native inspection; leave actions, reflection, secure
storage, writes, and deletes off unless required.
7. Android requires no app camera permission for the SDK scanner. On iOS, add
`NSCameraUsageDescription` and `NSLocalNetworkUsageDescription`. Add no ATS
exception or unrelated permissions.
8. Create or update `ansight-readme.md` with the scanner location, selected
tools, build checks, and CLI enrollment commands. Do not include an enrollment payload.
9. Run package checks, `npx cap sync`, and practical native debug builds.
10. Start or reuse the resident CLI host. A simulator or emulator registers
automatically. For a physical device, issue one generic host QR and scan it
from the developer-only surface:
```sh
ansight host run
ansight pairing issue --qr
ansight session list --connected --app-id <app-id> --json
ansight app tools <session-id> --detail summary --include-unavailable --max-results 50 --json
```
Do not require `ansight app register` before the first connection. After
the SDK supplies its real App ID, optionally link the discovered app to the
repository with `ansight app register <app-id> --codebase <repository-path>`.
Simulator and emulator builds register automatically through native loopback.
The first physical-device scan registers the native app installation. Its random installation
id and enrollment state remain in app-private storage, so later developer
launches reconnect automatically.
## Recommended Inspection Skills
Use the main router to sPreview of the first 4,000 characters. Read full instructions →
---
name: ansight-install-dotnet
description: Install Ansight in a .NET MAUI, Android, iOS, or Mac Catalyst app with automatic local CLI-host registration and one-shot QR enrollment for physical devices. Add the all-in-one package, initialize at app startup, expose the SDK scanner from a developer-only surface, keep remote tools development-only, verify target builds, and inspect the app through the Ansight CLI.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app:
- https://www.ansight.ai/skills/agents/ansight-app-inspection.md → [ansight-app-inspection](../ansight-app-inspection/SKILL.md)
- https://www.ansight.ai/skills/dotnet/ansight-app-inspection-dotnet.md → [ansight-app-inspection-dotnet](../ansight-app-inspection-dotnet/SKILL.md)
# Ansight .NET Install Skill
Use this skill for .NET MAUI, .NET for Android, .NET for iOS, and .NET Mac
Catalyst apps.
## Workflow
1. Identify the app project, target frameworks, startup path, debug guard, and
existing developer menu.
2. For MAUI, install the all-in-one package:
```shell
dotnet add package Ansight.Maui --prerelease
```
Then initialize before `builder.Build()`:
```csharp
builder.UseMauiApp<App>();
#if DEBUG
builder.UseAnsight<App>();
#endif
```
For non-MAUI apps, install `Ansight` and initialize:
```csharp
#if DEBUG
var options = Options.CreateBuilder()
.WithAnsightSdk()
.Build();
Runtime.InitializeAndActivate(options);
#endif
```
3. Add a developer-only scanner action:
```csharp
var result = await Runtime.HostConnection.ConnectAsync(
HostConnectionRequest.QrCode());
```
4. If the app already owns a QR scanner, pass its text through
`HostConnectionRequest.PayloadText(...)`.
5. Keep all-in-one and broad remote-tool packages in local-development builds.
Use a protected Release/CI policy for distributable builds.
6. Add only platform privacy declarations needed by the scanner and local
network flow. Do not add an embedded resource, MSBuild-generated enrollment
file, certificate, or host address.
7. Create or update `ansight-readme.md` with the scanner location, tool policy,
build checks, and CLI enrollment commands. Do not include an enrollment payload or token.
8. Run `dotnet build` and relevant tests for every target changed.
9. Start or reuse the resident CLI host. A simulator, emulator, Mac Catalyst,
or desktop build registers automatically. For a physical device, issue one
generic host QR and scan it from the developer-only surface:
```sh
ansight host run
ansight pairing issue --qr
ansight session list --connected --app-id <app-id> --json
ansight app tools <session-id> --detail summary --include-unavailable --max-results 50 --json
```
Do not require `ansight app register` before the first connection. After the
SDK has supplied its real App ID, optionally link that discovered app to its
repository with `ansight app register <app-id> --codebase <repository-path>`.
## Enrollment Behavior
Host-local targets register through automatic loopback and do not need a scan.
The first physical-device scan registers the installation and stores a random installation id
and enrollment state in app-private storage. `HostConnectionRequest.Auto()` and
normal host auto-probe reconnect it on later developer launches.
## Recommended Inspection Skills
Use the main router to select the core inPreview of the first 4,000 characters. Read full instructions →
---
name: ansight-install-flutter
description: Install ansight_flutter with automatic simulator or emulator registration and one-shot CLI QR enrollment for physical devices. Add the package, initialize the runtime and instrumentation, expose enrollFromQrCode from a developer-only surface, configure required native privacy declarations, verify Flutter and native builds, and inspect the app through the Ansight CLI.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app:
- https://www.ansight.ai/skills/agents/ansight-app-inspection.md → [ansight-app-inspection](../ansight-app-inspection/SKILL.md)
- https://www.ansight.ai/skills/flutter/ansight-app-inspection-flutter.md → [ansight-app-inspection-flutter](../ansight-app-inspection-flutter/SKILL.md)
# Ansight Flutter Install Skill
Use this skill for Flutter apps with Android and/or iOS targets.
## Workflow
1. Inspect `pubspec.yaml`, `main.dart`, target platforms, debug guard, and
existing developer menu.
2. Add `ansight_flutter: 1.4.0-preview.1` and run `flutter pub get`.
3. Initialize after `WidgetsFlutterBinding.ensureInitialized()` and before
`runApp(...)`:
```dart
if (kDebugMode) {
await Ansight.instance.initializeAndActivate(AnsightOptions.developer());
await AnsightFlutterInstrumentation.instance.install();
}
```
4. Add a developer-only scanner action:
```dart
await Ansight.instance.enrollFromQrCode(
clientName: 'My Flutter App',
);
```
5. `scanPairingQrCode(...)` is an API alias. Use the payload connection API
when the app already owns a scanner.
6. Keep widget and native tools behind `kDebugMode` or an equivalent explicit
developer variant. Prefer read-only access.
7. Android requires no app camera permission for the SDK scanner. On iOS, add
`NSCameraUsageDescription` and `NSLocalNetworkUsageDescription`. Add no ATS
exception or unrelated permissions.
8. Create or update `ansight-readme.md` with the scanner location, tool profile,
build checks, and CLI enrollment commands. Do not include an enrollment payload.
9. Run `flutter analyze`, `flutter test`, and practical target builds.
10. Start or reuse the resident CLI host. A simulator or emulator registers
automatically. For a physical device, issue one generic host QR and scan it
from the developer-only surface:
```sh
ansight host run
ansight pairing issue --qr
ansight session list --connected --app-id <app-id> --json
ansight app tools <session-id> --detail summary --include-unavailable --max-results 50 --json
```
Do not require `ansight app register` before the first connection. After
the SDK supplies its real App ID, optionally link the discovered app to the
repository with `ansight app register <app-id> --codebase <repository-path>`.
Simulator and emulator builds register automatically through native loopback.
The first physical-device scan registers the native app installation. Its random installation
id and enrollment state remain in app-private storage, so later developer
launches reconnect automatically.
## Recommended Inspection Skills
Use the main router to select the core inspection workflow. Add the Flutter
companion only when widget or native-platform semantics are material:
```text
https://www.ansight.ai/skills/agents/ansight-app-inspection.md
https://www.ansight.ai/skills/flutter/ansight-app-inspection-flutter.md
```Preview of the first 4,000 characters. Read full instructions →
---
name: ansight-install-ios
description: Install the native iOS Ansight SDK with automatic Simulator registration and one-shot CLI QR enrollment for physical devices. Add the aggregate SwiftPM product or pod, initialize from app startup, expose the SDK scanner from a developer-only surface, add only Apple-required privacy descriptions, verify the build, and inspect the app through the Ansight CLI.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app:
- https://www.ansight.ai/skills/agents/ansight-app-inspection.md → [ansight-app-inspection](../ansight-app-inspection/SKILL.md)
- https://www.ansight.ai/skills/ios/ansight-app-inspection-ios.md → [ansight-app-inspection-ios](../ansight-app-inspection-ios/SKILL.md)
# Ansight iOS Install Skill
Use this skill for native SwiftUI or UIKit apps.
## Outcome
The finished app must:
- link the aggregate `Ansight` product for local development;
- initialize `AnsightRuntime.shared` once from app startup;
- register automatically in Simulator or Mac Catalyst and expose the SDK QR
scanner from a developer-only UI for physical devices;
- reconnect automatically after the first successful scan;
- add only the privacy descriptions required by the chosen flow; and
- require no generated JSON, build setting secret, certificate, or manual app
registration.
## Workflow
1. Identify the app target, bundle id, startup delegate, dependency manager,
debug configuration, and existing developer menu.
2. Add the aggregate SwiftPM product:
```swift
.package(
url: "https://github.com/ansight-ai/ansight-sdk.git",
exact: "1.4.0-preview.1"
)
```
Use `pod 'Ansight', '1.4.0-preview.1'` when the project already uses
CocoaPods.
3. Keep both the import and initialization behind the app's Debug or explicit
internal-build compilation condition. Initialize once:
```swift
#if DEBUG
try AnsightRuntime.shared.initializeAndActivateAnsightSdk()
#endif
```
4. Add a developer-only scanner action:
```swift
let result = await AnsightRuntime.shared.connect(
.qrCode(title: "Scan Ansight Enrollment QR")
)
```
5. Add `NSCameraUsageDescription` because the SDK scanner uses the camera. Add
`NSLocalNetworkUsageDescription` for physical devices connecting to the CLI host.
Do not add Bluetooth, location, contacts, photos, Bonjour, or ATS clear-text
exceptions.
6. Keep reflection, secure-storage access, writes, and deletes disabled unless
the requested development workflow requires them.
7. Create or update `ansight-readme.md` with the scanner location, build
verification command, and CLI enrollment commands. Do not add an enrollment
payload or token to it.
8. Build the relevant simulator and, where practical, physical-device target.
9. Start or reuse the resident CLI host. Simulator and Mac Catalyst builds
register automatically. For a physical device, issue one generic host QR and
scan it from the developer-only surface:
```sh
ansight host run
ansight pairing issue --qr
ansight session list --connected --app-id <app-id> --json
ansight app tools <session-id> --detail summary --include-unavailable --max-results 50 --json
```
Do not require `ansight app register` before the first connection. After the
SDK supplies its real App ID, optionally link the discovered app to the
repository with `ansight app register <app-id> --codebasPreview of the first 4,000 characters. Read full instructions →
---
name: ansight-install-react-native
description: Install @ansight/react-native in React Native or Expo development builds with automatic simulator or emulator registration and one-shot CLI QR enrollment for physical devices. Add and link the package, initialize native defaults, expose enrollFromQrCode from a developer-only surface, keep remote tools development-only, verify JavaScript and native builds, and inspect the app through the Ansight CLI.
---
## OpenAI plugin integration
Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it.
Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app:
- https://www.ansight.ai/skills/agents/ansight-app-inspection.md → [ansight-app-inspection](../ansight-app-inspection/SKILL.md)
- https://www.ansight.ai/skills/react-native/ansight-app-inspection-react-native.md → [ansight-app-inspection-react-native](../ansight-app-inspection-react-native/SKILL.md)
# Ansight React Native Install Skill
Use this skill for React Native apps, including Expo development builds, with native Android and iOS projects. Expo Go cannot load the native Ansight bridge.
## Workflow
1. Identify the package manager, bootstrap path, native projects, app ids,
debug guard, and existing developer menu.
2. Install and link:
```shell
npm install @ansight/react-native
npx pod-install
```
3. Initialize once from app bootstrap:
```ts
if (__DEV__) {
await Ansight.initializeAndActivate({
useNativeAllInOneDefaults: true,
toolGuard: "readOnly",
});
}
```
4. Add a developer-only scanner action:
```ts
await Ansight.enrollFromQrCode({
clientName: "React Native App",
});
```
5. `scanPairingQrCode(...)` is an API alias. If the app already owns a scanner,
pass its result to `connect(...)`.
6. Keep native and React inspection tools behind `__DEV__` or the app's
equivalent local-development guard. Disable tools outside that guard.
7. Android requires no app camera permission for the SDK scanner. On iOS, add
`NSCameraUsageDescription` and `NSLocalNetworkUsageDescription`. Add no ATS
exception or unrelated permissions.
8. Create or update `ansight-readme.md` with the scanner location, selected tool
profile, build checks, and CLI enrollment commands. Do not include an enrollment payload.
9. Run JavaScript checks and practical Android/iOS debug builds.
10. Start or reuse the resident CLI host. A simulator or emulator registers
automatically. For a physical device, issue one generic host QR and scan it
from the developer-only surface:
```sh
ansight host run
ansight pairing issue --qr
ansight session list --connected --app-id <app-id> --json
ansight app tools <session-id> --detail summary --include-unavailable --max-results 50 --json
```
Do not require `ansight app register` before the first connection. After
the SDK supplies its real App ID, optionally link the discovered app to the
repository with `ansight app register <app-id> --codebase <repository-path>`.
## Enrollment Behavior
Simulator and emulator builds register automatically through native loopback.
The first physical-device scan registers the native app installation. Its random installation
id and enrollment state remain in app-private native storage, so later
developer launches reconnect automatically.
## Recommended Inspection Skills
Use the main router to select the core inspection workflow. Add the React
Native companion only when React, shadow-tree, or native-renderPreview of the first 4,000 characters. Read full instructions →
--- name: ansight-investigate-session description: Investigate one live or recorded Ansight session through retained evidence. Use to bracket and correlate logs, network, telemetry, screenshots, trees, touches, artifacts, and annotations or create an evidence slice; do not use to prepare the workstation, drive the live UI, or write annotations. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/ansight-install.md → [ansight-install](../ansight-install/SKILL.md) - https://www.ansight.ai/skills/ansight-cli-setup.md → [ansight-cli-setup](../ansight-cli-setup/SKILL.md) # Investigate An Ansight Session Build a timestamped evidence trail from one exact session before reading source code or proposing a cause. Treat missing evidence as a finding, not permission to fill gaps with assumptions. Use `--json` throughout. Keep timestamps in UTC and preserve source IDs such as frame IDs, snapshot IDs, request IDs, annotation IDs, channel IDs, and artifact snapshot IDs. ## Prerequisites And Routing Recorded-session investigation requires the Ansight CLI or another exposed Ansight diagnostic surface and a session available from local history or an imported archive. The target app does not need to remain installed, connected, or currently integrated with the SDK when retained evidence is sufficient. - For a live investigation, the app's development or QA build must contain an initialized Ansight SDK and be connected to the host. Use the Ansight Operate Live App skill to establish that session. - If the SDK integration is missing and new live evidence must be captured, follow `https://www.ansight.ai/skills/ansight-install.md`. - If the CLI or resident host cannot access local or imported sessions, follow `https://www.ansight.ai/skills/ansight-cli-setup.md`. Do not require or install the SDK merely to inspect an existing recorded or imported session. ## Select The Session Start with focused discovery. When the user supplied an exact session ID, query the lightweight session-summary index and confirm that the returned `sessionId` is an exact match: ```sh ansight session list --app-id <app-id> --from <utc> --to <utc> --limit 20 --json ansight session list --search <session-id> --limit 1 --json ``` Do not use `ansight session show <session-id> --json` for discovery. Its JSON response can materialize the session's retained logs, metrics, and visual trees, which is unnecessarily large for agent context. Use the summary index above, then query only the evidence surface needed for the investigation. Add `--connected` only when the task requires a live session. Use app identity, device profile, capture time, tags, retained evidence totals, and connection state to choose. Do not silently choose among multiple plausible sessions. The time filters select sessions whose capture intervals overlap the requested range. Follow `nextCursor` with `--cursor` only when the first filtered page is insufficient, preserving the same filters between pages. Read existing annotations early because they may already define the relevant moment or region: ```sh ansight session annotations <session-id> --json ``` ## Bracket The Investigation Define the smallest interval that can answer the question. Prefer, in order: 1. an existing annotation's `startUtc` and `endUtc`; 2. a stable app even
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
--- name: ansight-operate-live-app description: Operate an Ansight-connected app through its live lifecycle or visible semantic UI while preserving before-and-after evidence. Use to boot a target, launch or stop an app, resolve a live session, interact, or verify visible state; do not use merely to prepare the CLI, analyze a recording, or call app-internal remote tools. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/ansight-install.md → [ansight-install](../ansight-install/SKILL.md) - https://www.ansight.ai/skills/ansight-cli-setup.md → [ansight-cli-setup](../ansight-cli-setup/SKILL.md) # Operate A Live App With Ansight Establish one exact live session, observe before acting, perform the smallest authorized interaction, and verify the outcome from fresh evidence. Use `--json` for discovery and evidence commands, and keep the selected session ID explicit after resolution. ## Prerequisites And Routing Live operation requires the Ansight SDK to be installed, initialized, and enabled in the app's development or QA build. Keep SDK enrollment, capture, and remote capabilities excluded from protected builds unless the app's documented policy explicitly permits them. - If the app does not contain a working Ansight SDK integration, follow `https://www.ansight.ai/skills/ansight-install.md` before attempting live operation. - If the `ansight` executable, resident host, or device dependencies are not ready, follow `https://www.ansight.ai/skills/ansight-cli-setup.md`. - If a development build is connected but the requested work needs app-internal tools, follow the Ansight Remote App Tools skill after resolving the session. Do not install or modify the SDK merely because no session is currently connected. First distinguish a missing integration from an app that is stopped, using the wrong build configuration, or temporarily disconnected. ## Keep The Lifecycle Layers Separate | Layer | Start or attach | Stop | Meaning | | --- | --- | --- | --- | | Resident host | `ansight host status --json`; `ansight host run` | `ansight host stop` | Local capture and control service shared by sessions | | Device | `ansight device list --json`; `ansight device start <platform> <device-id>` | `ansight device shutdown <platform> <device-id>` | Simulator, emulator, or physical target | | App process | `ansight device launch <platform> <device-id> <app-id>` | `ansight device terminate <platform> <device-id> <app-id>` | Installed app instance | | Ansight session | The SDK connects when the enabled app reaches the host | `ansight session disconnect <session-id>` | Live evidence stream retained as a recording after disconnect | There is no separate `ansight session start` command. Start the host and app, then discover the session created by the SDK connection. `session delete` removes retained data; it is not a stop command. Do not stop a host, device, or app that was already running unless the user asked. A resident host can be shared by other work. ## Choose Device Window Behavior Device launches show simulator/emulator windows by default. When the user wants windowless operation, pass `--headless` on the command that starts the device: ```sh ansight device start ios <simulator-id> --headless --json ansight device start android <avd-name> --headless --json ``` The same fla
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
--- name: ansight-ui-testing description: Initialize, author, extract, debug, validate, run, or maintain source-controlled Ansight workspace automation. Use for tests, tasks, triggers, trends, sanitizers, schemas, or workspace registration; do not use for routine live interaction, session investigation, or readiness scoring unless needed to build or verify a workspace asset. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/ansight-cli-setup.md → [ansight-cli-setup](../ansight-cli-setup/SKILL.md) - https://www.ansight.ai/skills/ansight-install.md → [ansight-install](../ansight-install/SKILL.md) # Ansight Workspace Automation Build and maintain the repository-owned `ansight/` playbook for one app. Prefer the Ansight CLI for workspace initialization, scaffolding, discovery, execution, and validation. Edit the generated source files when their behavior or policy must be implemented. ## Understand The Workspace Components | Component | What it accomplishes | Why use it | | --- | --- | --- | | Test (`ansight/tests/**/*.json`) | Gives a bounded agent a natural-language user journey and observable final-state validation. | Use it when the path requires observation or decisions and success can be proved through Ansight evidence. | | Task (`ansight/tasks/**/*.ts`) | Encodes an explicitly invoked, deterministic sequence of known tool calls with named assertions. | Use it to make a stable app-specific workflow faster, cheaper, and repeatable without asking an agent to rediscover every step. | | Trigger (`ansight/triggers/**/*.ts`) | Reacts automatically to one matching app or session event and may request one bounded app action. | Use it to enrich future session evidence at a meaningful moment, such as capturing app-owned diagnostics after an error. Do not use it as a scheduler or general background worker. | | Trends (`ansight/trends/**/*.json`) | Defines a stable SDK-event observation span, calculates deterministic telemetry metrics, evaluates fixed budgets, and optionally compares each metric with comparable historical runs. | Use it for repeatable FPS, memory, duration, evidence, or other numeric trend rules and regression monitoring rather than subjective agent judgment. | | Sanitizer (`ansight/sanitizers/**/*.ts`) | Redacts, transforms, or removes sensitive content while Ansight creates a separate session archive. | Use it before exporting or sharing captured data; it does not modify the original session. | | Schemas and support files (`ansight/schema`, declarations, and `tsconfig.json`) | Provide versioned contracts, editor completion, and local or CI validation. | Use them to author against the installed host contract and catch invalid definitions before discovery or execution. They are not runtime workflows. | A test is agentic; a task is deterministic; a trigger is event-driven; Trends turns event instrumentation into an observation span, metric budgets, and optional regression monitoring; and a sanitizer protects an exported copy. ## Prerequisites And Scope Authoring and validating a workspace require the Ansight CLI, but they do not require a connected app. If the executable or local host is not ready, follow `https://www.ansight.ai/skills/ansight-cli-setup.md`. Running a test or task, verifying a trigger against live events, or capturing new ev
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
--- name: ansight-use-remote-app-tools description: Discover and call bundled or app-specific remote tools exposed by one connected Ansight session. Use for authoritative in-process framework or domain state and authorized remote operations; do not use merely to establish the host/session, implement new tools, or replace a visible UI workflow. --- ## OpenAI plugin integration Run Ansight CLI commands using the execution tools in ChatGPT Work or Codex on the machine that owns the resident host. If this environment cannot execute commands or reach that host, explain the missing prerequisite and do not claim a live inspection succeeded. A remote workspace or cloud agent does not automatically have access to the developer’s local host. Resolve relative helper paths from this skill’s directory. When this workflow references another bundled skill, read its local SKILL.md completely before following it. Use these bundled files for the canonical skill URLs referenced below; keep public URLs when writing documentation for the user’s app: - https://www.ansight.ai/skills/ansight-install.md → [ansight-install](../ansight-install/SKILL.md) - https://www.ansight.ai/skills/ansight-cli-setup.md → [ansight-cli-setup](../ansight-cli-setup/SKILL.md) # Use Ansight Remote App Tools Use the live app's authenticated tool catalog as the source of truth. Remote tools expose framework, platform, storage, diagnostic, or app-domain state from inside the connected process; they are not inferred APIs. This skill requires one exact connected session. Use the Ansight Operate Live App skill when the host, device, app, or session must first be started or selected. ## Prerequisites And Routing Remote-tool use requires: - the Ansight SDK installed and initialized in the app's development or QA build; - the relevant bundled or app-specific tool packages included by that build; - runtime policy and local guards configured to expose the permitted maximum policy; and - a live SDK session connected to the resident host. If the SDK integration is missing, follow `https://www.ansight.ai/skills/ansight-install.md`. If the CLI or resident host is not ready, follow `https://www.ansight.ai/skills/ansight-cli-setup.md`. If the app is installed but not connected, follow the Ansight Operate Live App skill. An empty or blocked catalog does not by itself prove that installation is missing. It may reflect build gating, omitted tool packages, current app state, pairing limits, or a runtime guard. Report the observed catalog and denial state before proposing an integration change; do not enable remote tools in a protected build merely to complete an inspection. ## Decide When A Remote Tool Is Appropriate Prefer a remote tool when it can answer an in-process question more authoritatively than screenshots or logs, such as current navigation state, bindings, selected domain objects, database rows, sandbox files, preferences, registered reflection roots, or an app-generated diagnostic artifact. Keep semantic UI interaction as the default when the requested behavior is a visible user flow. Do not bypass taps, typing, navigation, or observable postconditions with an opaque internal mutation merely because a write tool exists. ## Discover The Current Catalog Search the catalog immediately before choosing a tool. Start with compact, executable read-tool metadata using a few intent-bearing terms: ```sh ansight app tools <session-id> \ --query "<focused terms>" \ --policy read \ --detail summary \ --json ``` Use `--feature <domain>` for a broad product capability, `--category <exact>` or `--id-prefix <prefix>` for a known family, and `--max-results <1-50>` to bound direct matches. Focused searches return executable tools by default. Use `--include-unavailable` only when the task is to inspect denial or availability state. If `isTruncated` is true or the matches remain ambiguous, refine the search instead of fetching the full catalog. After selecting one exact ID
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
Package observed Nov 6, 2026.
plugins_6aa24265df788191a25e7db0cdeca894
Download plugin data (JSON)