> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kombai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Capabilities

> Learn how to use the extension's element selector, snipping tool, CSS editor, and DOM editor.

export const DOMEditor = props => {
  return <div style={{
    display: "inline",
    justifyContent: "center",
    alignItems: "center"
  }}>
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{
    display: "inline"
  }} {...props}>
        <path d="M12 2v20"></path>
        <path d="m15 19-3 3-3-3"></path>
        <path d="m19 9 3 3-3 3"></path>
        <path d="M2 12h20"></path>
        <path d="m5 9-3 3 3 3"></path>
        <path d="m9 5 3-3 3 3"></path>
      </svg>
    </div>;
};

export const TextEditor = props => {
  return <div style={{
    display: "inline",
    justifyContent: "center",
    alignItems: "center"
  }}>
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{
    display: "inline"
  }} {...props}>
        <path d="M12 4v16"></path>
        <path d="M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2"></path>
        <path d="M9 20h6"></path>
      </svg>
    </div>;
};

export const Scissors = props => {
  return <div style={{
    display: "inline",
    justifyContent: "center",
    alignItems: "center"
  }}>
      <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="lucide lucide-scissors size-4" aria-hidden="true" style={{
    display: "inline"
  }} {...props}>
        <circle cx="6" cy="6" r="3"></circle>
        <path d="M8.12 8.12 12 12"></path>
        <path d="M20 4 8.12 15.88"></path>
        <circle cx="6" cy="18" r="3"></circle>
        <path d="M14.8 14.8 20 20"></path>
      </svg>
    </div>;
};

export const AddReferenceElementsBrowserChat = props => {
  return <div style={{
    display: "inline",
    justifyContent: "center",
    alignItems: "center"
  }}>
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{
    display: "inline"
  }} {...props}>
        <path d="M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"></path>
        <path d="M5 3a2 2 0 0 0-2 2"></path>
        <path d="M19 3a2 2 0 0 1 2 2"></path>
        <path d="M5 21a2 2 0 0 1-2-2"></path>
        <path d="M9 3h1"></path>
        <path d="M9 21h2"></path>
        <path d="M14 3h1"></path>
        <path d="M3 9v1"></path>
        <path d="M21 9v2"></path>
        <path d="M3 14v1"></path>
      </svg>
    </div>;
};

## Send DOM elements as context

Kombai includes <AddReferenceElementsBrowserChat /> and <Scissors /> tools to help you select or snip DOM elements and attach them to the browser extension's chat window.

Follow the steps in the [Element Selector](#element-selector) and [Snipping tool](#snipping-tool) sections below to use these tools.

### Element selector

1. Click the <AddReferenceElementsBrowserChat /> icon in the browser extension's chat window. Alternatively, press <kbd>⌘ + ⌥ + .</kbd> on macOS.
2. Click the DOM element you want to send to Kombai. When you click, Kombai captures a screenshot of both the element and the entire page.
3. Add any additional instructions you want to send to Kombai.
4. Click the **Send to agent** button.

### Snipping tool

1. Click the <Scissors /> icon in the browser extension's chat window.
2. Hold and drag the mouse over the UI area you want to snip. Snipped DOM elements and their screenshots will be captured and attached as context.
3. Add any additional instructions you want to send to Kombai.
4. Click the **Send to agent** button.

## Send visually edited CSS styles to Kombai as context

You can select an element and visually edit its CSS to preview how that element will look like before sending the changes to Kombai for implementation. You can visually edit the position, layout, appearance, and font styles of the selected element.

1. Click the <AddReferenceElementsBrowserChat /> icon in the browser extension's chat window. Alternatively, press <kbd>⌘ + ⌥ + .</kbd> on macOS.
2. Click the DOM element you want to send to Kombai.
3. Go to the **Design** tab in the Kombai extension and edit the CSS values visually based on the available dropdowns and input boxes.
4. Ask Kombai to implement changes and send the message to agent.

## Edit site texts live and send them to Agent

The text editor lets you edit texts in your webpage live and send them to Agent for code implementation. You can edit the text of any element on the page, including headings, paragraphs, buttons, and input fields.

1. Click the <TextEditor /> icon in the browser extension's chat window.
2. Click on a text element on the page to make it editable.
3. Edit the text.
4. Click the **Send to agent** button.

## Use DOM editor to visually rearrange and delete DOM elements

You can use the DOM editor to visually drag and rearrange DOM elements or delete theme from the UI.

### Drag and rearrange DOM elements

1. Click the <DOMEditor /> icon in the browser extension's chat window.
2. Click and hold a UI element on the page and drag it to a new position to rearrange it.
3. Click the **Send to agent** button.

### Delete DOM elements

1. Click the <DOMEditor /> icon in the browser extension's chat window.
2. Click a UI element on the page and press the <kbd>Delete</kbd> / <kbd>Backspace</kbd> key on your keyboard to delete the element.
3. Click the **Send to agent** button.

## Preview multiple screens

You can use multiple browser tabs to preview different screens of your app simultaneously. This enables you to select elements from other screens that you want to refer to in your current browser tab.

For example, if you have the **Homepage** open and want to add an avatar from the **Accounts** page:

1. Open the Accounts page in a new tab.
2. Select the avatar element.
3. Return to the previous tab (Homepage).

You will see the avatar's DOM element highlighted in yellow. You can then ask Kombai to add the avatar to the Homepage.

## Send browser data

The browser extension automatically attaches all available browser data to your messages as context. Beyond DOM elements and applied CSS changes, it captures the entire DOM tree, console output, network logs, and performance metrics.

Using this data, Kombai fixes console and network errors, boosts page performance, refactors UI components, and edits your UI with precision.

### Example prompts

1. Fix console errors in my app.
2. Create a new `<CardGroup>` component to group the tagged cards together.
3. Identify slow network requests and suggest improvements.
4. Give me the current performance metrics of the page.
