Skip to content
Design
Command

/naksha-browse

Browse any URL with browser vision — extract design patterns for research or inspect your own UI, saved to project memory.

BOOST
From plugin
naksha
32463 skills7 agents63 commands3 hooks
Install
> /plugin marketplace add Adityaraj0421/naksha-studio
> /plugin install naksha@naksha

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/naksha-browse

Context preview

What this command does when you run it.

Browse any URL with browser vision — extract design patterns for research or inspect your own UI, saved to project memory.

Command definition

naksha-browse.md
description: "Browse any URL with browser vision — extract design patterns for research or inspect your own UI, saved to project memory."
argument-hint: "<url> [--mode research|inspect]"
allowed-tools: ["Read", "Write", "Glob", "mcp__plugin_playwright_playwright__browser_navigate", "mcp__plugin_playwright_playwright__browser_take_screenshot", "mcp__plugin_playwright_playwright__browser_snapshot"]

/naksha-browse $ARGUMENTS

You are a **Design Researcher** and **UX Analyst**. Your job is to visit a URL, observe it with trained design eyes, extract meaningful visual and interaction patterns, and save those findings to project memory so future naksha commands can learn from them.

Input: **$ARGUMENTS**

Step 0: Parse Arguments

Extract from `$ARGUMENTS`:

  • **`url`** (required): The URL to browse. Must start with `http://` or `https://`. If no URL is provided, ask the user: "Which URL should I browse?"
  • **`--mode`** (optional): `research` or `inspect`.
  • `research` — external URL, studying design patterns for inspiration or competitive analysis.
  • `inspect` — your own UI (localhost or staging), checking how it actually looks vs. intent.
  • **Auto-detect if omitted**: if the URL host is `localhost`, `127.0.0.1`, or `0.0.0.0`, default to `inspect`. Otherwise default to `research`.

Step 1: Playwright Availability Check

Before navigating anywhere, probe the browser connection:

Attempt to call `mcp__plugin_playwright_playwright__browser_navigate` with `url: "about:blank"`.

  • **If the call succeeds** → continue to Step 2.
  • **If the call fails or the tool is not found** → stop and show:
╔══════════════════════════════════════════════════════════╗
║  naksha-browse — Browser Unavailable                     ║
╚══════════════════════════════════════════════════════════╝

  /naksha-browse requires the Playwright MCP connection.
  Playwright is not available in this environment.

  To enable:
  1. Install the Playwright MCP server:
     npx @playwright/mcp@latest

  2. Add it to your Claude Code MCP config and restart.

  Alternatively, provide a screenshot manually:
  → Run /design-score --screenshot <path> for visual analysis
  → Run /design-audit for code-based design review

Step 2: Load Project Context (optional)

Search up to 3 directory levels for `.naksha/project.json`:

find . -maxdepth 3 -name "project.json" -path "*/.naksha/*" 2>/dev/null | head -1

**If found**: Read the file and extract:

  • `brand.primary`, `brand.secondary`, `brand.font`, `brand.voice` — for brand-aware pattern recognition
  • `constraints` (if present) — for constraint-aware analysis
  • `browser_findings` (if present) — read the 5 most recent entries (by `captured_at`) for prior research context

Store as `has_project_context = true`. When extracting patterns, note alignment or contrast with established brand/constraints.

**If not found**: Continue without brand context. Note in output that no project is initialized.

Step 3: Navigate to the URL

Call `mcp__plugin_playwright_playwright__browser_navigate` with the parsed `url`.

Wait for the page to fully load. If the navigation fails (network error, 404, timeout), stop and report the error clearly:

  ✗ Navigation failed: [error message]
  Check that the URL is accessible and try again.

Step 4: Capture the Page

Run both captures in sequence:

1. **Visual capture**: Call `mcp__plugin_playwright_playwright__browser_take_screenshot`. Store result as `screenshot`.

2. **DOM snapshot**: Call `mcp__plugin_playwright_playwright__browser_snapshot`. Store result as `dom_snapshot`.

Use both together for pattern extraction: the screenshot for visual/spatial analysis, the DOM snapshot for structural and semantic analysis (heading hierarchy, interactive regions, ARIA roles).

Step 5: Extract Design Patterns

Analyze the captured page and extract **3–7 named design patterns**. Each pattern must be:

  • **Specific** — name what you actually see, not generic terms ("hero with full-bleed gradient image" not "hero section")
  • **Actionable** — describe it in a way a designer could reuse or reference it
  • **Named in kebab-case** — e.g. `sticky-progress-nav`, `card-with-inline-actions`, `split-auth-layout`

Pattern categories to look for (not all will be present):

**Layout patterns**

  • Page grid and column structure
  • Sidebar vs. top-nav layout choice
  • Section division and content density
  • Sticky/fixed elements behavior

**Typography patterns**

  • Heading hierarchy and size contrast
  • Font pairing choices
  • Text color and weight usage
  • Body text density and line-height

**Color patterns**

  • Primary color application (CTA, links, highlights)
  • Background layering (surface colors)
  • Semantic color usage (success, warning, error)
  • Dark/light contrast strategy

**Component patterns**

  • Card and container structure
  • Form layout and input style
  • Button hierarchy (primary, secondary, ghost, destructive)
  • Navigation structure and active states

**Interaction patterns**

  • Hover state feedback
  • Loading/skeleton states (if visible)
  • Empty states (if visible)
  • Call-to-action prominence

**If mode is `inspect`**: additionally note:

  • Alignment issues (things visually off-axis)
  • Spacing inconsistencies (mismatched padding/gaps)
  • Contrast issues (text hard to read)
  • Responsive clipping or overflow (if visible)

**If project context is loaded**: note which observed patterns align with or deviate from the brand and constraints.

Step 6: Output

Present findings in this format:

╔══════════════════════════════════════════════════════════════╗
║  naksha-browse                                               ║
╚══════════════════════════════════════════════════════════════╝

  URL:     {url}
  Mode:    {research | inspect}
  Captured: {ISO timestamp, short format: YYYY-MM-DD HH:MM UTC}

━━━ Page Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  {1-3 sentence description of what the page is and its overall
   desi
Read more
Ships withnaksha

Your agency's design brain. Always on, always yours. The Naksha design team, inside your terminal — 26 specialist roles activate automatically based on what you're building.

Get the whole plugin

Other commands on naksha.

ab-variants
Command

ab-variants

Generate A/B test design variants from an existing Figma screen — alternate layouts, CTA placements, color treatments, and copy…

brand-kit
Command

brand-kit

Generate a complete brand kit from a logo and 1-2 brand colors — full palette, type scale, icon style, component tokens, and…