Ux Search logo

Ux Search

Organization
Uxcel-Lab
ux-search

Design or critique search experiences — search input, auto-suggest, results page, filtering/sorting, and zero-results recovery. Matches search features to how users actually seek (known-item vs. exploratory) and gates levers like rich suggestions, filter layout, and chips. Trigger when the user asks to design or review search, a search bar, autocomplete/auto-suggest, search results, filters, sorting, or a "no results" page.

Overview

PublisherUxcel-Lab
Repositoryproduct-skills
Skill nameux-search
Stars
35
Forks
8
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Uxcel-Lab on GitHub. Read the source before you install it.

Installation

Install the Ux Search AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Uxcel-Lab/product-skills/tree/main/ux/components/search
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Uxcel-Lab/product-skills.git /tmp/product-skills
mkdir -p .claude/skills
cp -r /tmp/product-skills/ux/components/search .claude/skills/ux-search
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ux Search in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ux Search on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ux Search is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Search Skill

How this skill behaves (read first)

This is a generative skill. The default failure modes: a box and nothing more (an input that returns a bare list — no suggestions, no query persistence, no recovery), dead ends ("No results found." period), and feature stacking (rich suggestions + trending + recent + filters + chips everywhere, even where search is a minor utility). Search is a journey — formulate → suggest → results → refine — and which stages need investment depends on how users seek. This skill gates:

  1. Establish how users seek and how central search is — that decides which stages to invest in.
  2. Apply the always-true core — discoverable placement, working input conventions, suggestion basics, a scannable results page, no dead ends.
  3. Surface the context-dependent decisions (rich auto-suggest, filter layout, chips, view options) with trade-offs.

Then it hands off to ux-heuristics-audit, ux-accessibility-audit, ux-aesthetics-audit, and ux-microcopy-audit for validation.


Step 0 — Establish context before designing

Ask if not known; state the assumption if proceeding without an answer:

  • How do users seek here? Known-item (they can name what they want — invest in the input, auto-suggest, re-finding) vs. exploratory/semi-directed (vague needs that evolve — invest in suggestions, related searches, filters, browsing). Re-finding is chronically underserved: recent searches and history pay off everywhere.
  • How central is search? Search-first product (e-commerce, docs, booking) → persistent, prominent search and a rich results page. Search-as-emergency-exit → simpler treatment, but still discoverable.
  • Platform — mobile: persistent search (search-focused apps) vs. expandable icon (search-secondary apps); filters concealed behind a Filter button; comfortable one-handed targets.
  • Result type — products with images vs. documents vs. data rows: drives list-vs-grid and what a result row shows.

Remember information needs evolve mid-search and people browse rapidly (most page visits <10s) — design for iteration and scanning, not one perfect query.


The always-apply core (correct for almost every case)

The input

  • Put search where users look for it: top center or top right, on every page. Never behind a hamburger; on desktop, show the field itself, not just an icon.
  • Magnifying-glass icon inside the bar, and it's a working button that submits the query.
  • ~27-character input width — cramped inputs cause cramped, worse queries.
  • Placeholder = example queries ("Search flights, hotels, destinations"), muted so it can't read as filled-in text — never a label replacement.

Suggestions (the formulate stage)

  • Auto-suggest as users type — fewer typos, less cognitive load, faster queries. Cap at ~10 suggestions, no scrolling in the dropdown.
  • Visually split typed vs. suggested characters (bold/color) so users can scan why each suggestion appears.
  • Recent searches when the field is focused — recognition over recall for re-finding.

The results page

  • Keep the query visible and editable — first attempts usually need tweaking; never make users retype.
  • Show the match count — it tells users whether to refine, broaden, or start reviewing.
  • Highlight matching keywords in results — users scan, they don't read.
  • Loading is part of the experience: skeleton screens for result areas; progress/spinner with a short explanation for longer waits.
  • Pagination type fits the content (see ux-navigation for the pagination vs. infinite scroll decision and control specs).

No dead ends — ever

A bare "No results found" is the single worst search failure. The No-Results page always offers a way forward: alternative query suggestions, category links, similar/related items, or recommendations from past behavior.


The context-dependent decisions (surface, don't auto-apply)

DecisionApply whenAvoid / adapt whenDefault recommendation
Rich auto-suggest (thumbnails, category links, product previews)Known-item seeking with visual goods (e-commerce)Simple utility search — clutter slows the dropdownPlain query suggestions first; enrich only when recognition genuinely speeds choice
Trending/related searches before typingExploratory products where inspiration helps (stores, media)Task tools where it's noiseShow for discovery-driven products only
Persistent vs. expandable search (mobile)Persistent for search-focused apps; expandable icon to save space elsewhereHiding search in a search-first appMatch prominence to search centrality
FiltersResults sets large enough to need narrowingA dozen results (filters are overhead)5–7 visible filters, rest behind "More filters"; most-used first (from data); checkboxes for multi-select; familiar words ("Fabric," not "Textile")
Filter layoutVertical sidebar: many filter groups, desktop. Horizontal panel: few, attention-grabbing. Mobile: behind a Filter button above resultsHorizontal with many groups (eats the screen); sidebars users overlookVertical for filter-heavy desktop; horizontal for ≤ a handful; concealed on mobile
Auto-update vs. Apply buttonAuto-update results as filters change (low interaction cost)Slow connections / heavy queries — batch with an Apply button showing the match countAuto-update when fast; Apply+count when not
Filter chipsCompact, tappable refinement ("Open now," "Price: $$") updating results in place; applied-filter overview tags with × to removeMixing single- and multi-select chip sets on one page; chips below 48px touch targetsChips for quick filters + applied-filter overview; full panel for deep filtering
SortingAlways for comparable items (price, date, popularity) — users often prefer sorting over filteringMerging it into the filter panel (different mental model)Separate, visible sort control
List vs. grid viewList: spec-comparison (model numbers, ratings). Grid: visual goodsForcing one view for mixed contentDefault to the fit; offer a view toggle

Validate the result (orchestration)

Hand-offs name each lens by its installable skill name. Invoke one only if that skill is installed; if it isn't, this skill's own core already carries these rules — proceed without it rather than blocking.

After generating or revising, hand the result to the audit lenses rather than declaring it done. These are candidate lenses — posture is set by docs/orchestration-policy.md, or route the whole thing through ux-design-review. Here, heuristics and microcopy are Tier A (auto-run); accessibility, aesthetics, information-architecture, and mobile-responsiveness are Tier B (offered) — under an existing design system aesthetics is suppressed and accessibility narrows to usage; mobile-responsiveness applies only on mobile. If the user invoked this skill for one specific thing, respect that scope.

  • ux-heuristics-audit (Tier A) — visibility of system status (loading, match counts, applied filters shown twice), user control (clear-all-filters, editable query), recognition over recall (recent searches).
  • ux-accessibility-audit (Tier B — offer; narrow under a design system) — keyboard operability of the suggestion dropdown, touch targets (chips ≥48px, spacing ≥8px), contrast, focus management between input and results.
  • ux-aesthetics-audit (Tier B — offer; suppress under a design system) — results-page density and scannability, dropdown clutter, filter-panel visual organization.
  • ux-microcopy-audit (Tier A) — placeholder examples, filter labels in users' language, No-Results message tone and guidance.
  • ux-information-architecture-audit (Tier B — offer) — whether the content structure feeding search (categories, facets, metadata) supports the seeking modes, and whether browse paths complement search; this skill designs the search journey, IA owns the structure it searches.
  • ux-mobile-responsiveness-audit (Tier B — offer; applies only on mobile) — when the context is mobile: expandable/persistent pattern, concealed filters, one-handed reach.

If the audits surface a conflict (e.g., rich suggestions vs. dropdown speed and clarity), resolve back toward the primary task: the user wants to find the thing — every feature must shorten that path.


Common do/don't patterns

❌ Don't✅ Do
Search behind a hamburger / icon-only on desktopVisible field, top center/right, every page
Tiny input that fits two words~27 characters — room to think in keywords
Suggestion dropdown with 25 scrolling entries≤10, no scroll, typed vs. suggested visually split
Query vanishes when results loadQuery stays, editable
"No results found." and nothing elseAlternatives: corrected queries, categories, related items
Bare result list with no countMatch count + highlighted keywords
20 filters dumped in a sidebar5–7 visible, popular first, rest behind "More filters"
Applied filters invisible once setShown twice: checked in panel + removable overview tags
Sorting buried inside filtersSeparate sort control — different mental model
Radio buttons for combinable criteriaCheckboxes / multi-select chips
Blank screen while results loadSkeleton screens; spinner + explanation for long waits
Ship without checkingHand off to heuristics + accessibility + aesthetics + microcopy

Source lessons (Uxcel)

Frequently asked questions

What does the Ux Search AI skill do?

Design or critique search experiences — search input, auto-suggest, results page, filtering/sorting, and zero-results recovery. Matches search features to how users actually seek (known-item vs. exploratory) and gates levers like rich suggestions, filter layout, and chips. Trigger when the user asks to design or review search, a search bar, autocomplete/auto-suggest, search results, filters, sorting, or a "no results" page.

Why use Ux Search on TypingMind?

Because you install it once and use it with any model. Ux Search is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ux Search in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Uxcel-Lab/product-skills/tree/main/ux/components/search. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ux Search?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ux Search?

As many as you like. As long as a model supports skills, you can use Ux Search with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ux Search AI skill free?

Yes. It is published on GitHub by Uxcel-Lab under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇