← WebMCP Directory

Tool tree

askew.xpworx.com

Developer ToolsTools verified
Website
Askew
Explore capabilities
    askew_get_contextAnswer

    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.

    View tool JSON
    {
      "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.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "selectionId": {
            "type": "string",
            "description": "Optional current Askew selection ID. When provided, stale IDs are rejected."
          }
        }
      }
    }
    askew_diagnose_selectionAction

    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.

    View tool JSON
    {
      "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.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "selectionId": {
            "type": "string",
            "description": "The exact selectionId returned by askew_get_context."
          }
        },
        "required": [
          "selectionId"
        ]
      }
    }
    askew_stage_variantsAction

    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.

    View tool JSON
    {
      "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.",
      "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"
        ]
      }
    }
    askew_inspect_interactionAnswer

    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.

    View tool JSON
    {
      "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.",
      "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"
        ]
      }
    }