plugins/idasql/skills/ui-context/SKILL.md
Capture live IDA UI context. Use when the user references what's on screen, what's selected, or asks about the current view in IDA's GUI.
npx skillsauth add allthingsida/idasql-skills ui-contextInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this function to capture active UI state:
SELECT get_ui_context_json();
Capture once per user question, then reuse that snapshot while answering. Capture again only when the user asks to refresh/re-check, or when a new UI-referential question starts.
Use this skill for prompts like:
get_ui_context_json() before answering UI-referential prompts.has_address: false, explain limits and do not invent code context.this / here / current / selected: capture a fresh snapshot for this question.that / previous / earlier: reuse the most recent snapshot in the same working flow.get_ui_context_json() is plugin GUI runtime only.welcome is database metadata only; it is not a UI context replacement.
Use this fixed shape after reading UI context:
What You Are Viewing: widget/view summary.What Is Selected: selection range and preview (or "no active selection").Code Context: address/function/segment if available; otherwise mention non-address view.Limits: runtime constraints or missing fields affecting certainty.Suggested Next Query: one concrete follow-up command/query.SELECT get_ui_context_json();
Answer with the template fields above. Include focused widget title/type and current anchor address if present.
SELECT get_ui_context_json();
Summarize active view and selection first, then propose the next action tied to that context (for example, decompile current function).
SELECT get_ui_context_json();
Prioritize selection begin/end and preview text. Explicitly state when there is no active selection.
SELECT get_ui_context_json();
SELECT decompile(0x401000);
Replace 0x401000 with the captured function/address anchor.
Reuse the most recent snapshot from the same flow (do not auto-refresh unless asked), then continue analysis from that stored anchor.
SELECT get_ui_context_json();
If has_address: false, report chooser selection details and state there is no code address anchor in this view.
If get_ui_context_json() cannot run:
SELECT * FROM welcome for DB orientation)welcome output as UI context.tools
IDA type system. Use when asked to create, modify, or apply structs, unions, enums, typedefs, or parse C declarations.
databases
Complete idasql SQL function reference catalog. Use when looking up function signatures, parameters, or usage examples.
development
Query IDA disassembly. Use when asked about functions, segments, instructions, blocks, operands, control flow, or raw code structure.
development
Decompile and analyze IDA functions. Use when asked for pseudocode, ctree AST analysis, local variables, labels, or decompiler-driven cleanup.