{"ok":true,"site":{"host":"askew.xpworx.com","url":"https://askew.xpworx.com/","type":"live","desc":"Askew","tools":[{"name":"askew_get_context","kind":"answer","impl":"imperative","description":"Call this first after the user selects an element. Returns only the current selection identity, indexed source status, exact className, safe computed styles, visible-instance count, and frequency-ranked runtime design context. It excludes form values, page copy, credentials, cookies, storage, and unrelated content. If several instances share the source, warn the user before proposing a source edit.","title":"Get Askew live context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"selectionId":{"type":"string","description":"Optional current Askew selection ID. When provided, stale IDs are rejected."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"askew_diagnose_selection","kind":"act","impl":"imperative","description":"Call after askew_get_context when the user describes a visual problem such as ‘this looks cheap.’ Requires the exact current selectionId, measures spacing, radius, contrast, type-scale, and cross-instance alignment, updates Askew’s visible inspector, and returns the identical findings. A variant may remove only tokens present in the selected element's exact className; if fixableAtSelection is false, ask the user to select the indicated descendant instead — alignment findings are never fixable through a token and should be explained, not staged. Do not invent a finding when Askew reports uncertainty.","title":"Diagnose selected UI","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"selectionId":{"type":"string","description":"The exact selectionId returned by askew_get_context."}},"required":["selectionId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"askew_stage_variants","kind":"act","impl":"imperative","description":"Call only after diagnosis. Stage exactly three complete Tailwind token alternatives in A/B/C order for the current selection. This changes Askew’s in-memory inspector state only: it never writes a file or calls the patch endpoint. Every remove token must exist on the selected element's exact className; never use a token found only on a descendant. The human must preview, pin, and click Apply separately.","title":"Stage three Askew variants","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"selectionId":{"type":"string","description":"The exact current Askew selection ID."},"variants":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","enum":["A","B","C"]},"label":{"type":"string","minLength":1,"maxLength":48},"rationale":{"type":"string","minLength":1,"maxLength":240},"remove":{"type":"array","items":{"type":"string","minLength":1},"maxItems":8},"add":{"type":"array","items":{"type":"string","minLength":1},"maxItems":8}},"required":["id","label","rationale","remove","add"]}}},"required":["selectionId","variants"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"askew_inspect_interaction","kind":"answer","impl":"imperative","description":"Inspect the current selected element in normal, direct hover, or native focus state. Use this for live behavior that a screenshot cannot preserve. Requires the exact current selectionId. Unsupported selector shapes are declined explicitly; this tool never writes source.","title":"Inspect a live UI state","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"selectionId":{"type":"string","description":"The exact current Askew selection ID."},"state":{"type":"string","enum":["normal","hover","focus"],"description":"The live interaction state to inspect."}},"required":["selectionId","state"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/askew.xpworx.com.png","apiSurface":"spec","toolCount":4}}