implement-ui-interaction

A guide for implementing and testing frontend controls such as dialogs, menus, popovers, carousels, drag-and-drop, swiping, pinching, and other pointer, touch, keyboard, or focus interactions.

In plain words
What is it for?
Use it when adding or reviewing real UI interactions, including keyboard navigation, focus behavior, touch gestures, floating panels, and accessibility support.
Why use it?
It helps ensure an interface can be completed with different input methods and handles states such as cancellation, errors, disabled controls, and recovery.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/hyexe/codex-plugins/implement-ui-interaction
Any agent
npx skills add HYEXE/codex-plugins --skill implement-ui-interaction
Clone the repo
git clone --depth 1 https://github.com/HYEXE/codex-plugins

Made for: Claude Code, Codex.

Per session 180 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,634 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00180 $0.01634
Opus 5 $0.00090 $0.00817
Sonnet 5 $0.00036 $0.00327
Haiku 4.5 $0.00018 $0.00163

Measured yesterday against content hash 29772368da31, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

implement-ui-interaction scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/uiux-advisor/skills/implement-ui-interaction/SKILL.md · 86 lines

How it starts

The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.

UI Interaction Implementer

상호작용의 시각 효과보다 입력, widget 상태, 포커스, 피드백과 복구 계약을 먼저 구현한다. pointer에서만 작동하는 데모가 아니라 keyboard, touch와 보조기술에서도 같은 과업을 완료할 수 있게 한다.

시작 절차

  1. 저장소 지침과 현재 diff를 확인하고 framework, 렌더링 방식, package manager, browser 범위, 기존 primitive·상태 관리·테스트 도구를 읽는다.

  2. 대상 UI를 실행하거나 코드로 확인한다. 관찰하지 않은 keyboard, focus, touch와 보조기술 동작을 사실처럼 단정하지 않는다.

  3. 상호작용의 주 결과를 분류한다.

    • composite-widget: Dialog, Menu, Tabs, Combobox, Tooltip, Popover
    • collection-navigation: Carousel, list navigation, reorder
    • direct-manipulation: drag, swipe, pinch, pan, resize
    • floating-surface: anchor positioning과 collision 처리
  4. 구현 전에 다음 계약을 짧게 고정한다.

    사용자 과업과 완료 상태:
    trigger·entry·exit:
    상태의 진실 원본:
    keyboard·focus·screen reader:
    pointer·touch·gesture와 동등한 대안:
    disabled·invalid·empty 상태:
    dismiss·cancel·recovery:
    responsive·zoom·reduced-motion:
    fallback과 성공·반증 기준:
    
  5. ../uiux-advisor/scripts/search_toolkits.py --capability <capability> --surface <surface> --ecosystem <ecosystem>으로 후보를 찾는다.

  6. 도구 선택은 references/interaction-toolkit-selection.md, widget 계약과 QA는 references/interaction-contract-and-qa.md를 읽어 적용한다.

도구 선택 규칙

  • 먼저 semantic HTML과 현재 프로젝트의 component·primitive로 해결한다.
  • focus management와 keyboard pattern이 복잡한 widget은 기존 Base UI, Radix, React Aria, Ark UI 또는 같은 역할의 검증된 primitive를 우선한다.
  • Floating UI는 anchor 좌표와 collision 문제를 해결하는 positioning engine으로 사용한다. 그것만으로 Dialog, Menu, Tooltip의 semantics가 완성된다고 가정하지 않는다.
  • Carousel은 scroll snap이나 기존 component가 충분한지 먼저 확인하고, 세밀한 headless 제어가 필요하면 Embla, 다수의 내장 효과가 실제 요구면 Swiper를 검토한다.
  • drag·swipe·pinch 인식이 복잡하면 @use-gesture를 검토하고, 물리 반응이 핵심이면 React Spring 또는 기존 Motion 도구와 결합한다.
  • 목록 추가·삭제·재정렬의 작은 layout 변화는 AutoAnimate를 검토하되 focus, 읽기 순서와 완료 상태를 animation에 맡기지 않는다.
  • 이미 설치된 적합한 도구가 있으면 새 의존성을 추가하지 않는다. 도입 전 현재 공식 API, 설치 버전, license, bundle, SSR·hydration과 제거 비용을 확인한다.

구현 규칙

입력과 포커스

  • native element로 가능한 동작을 div와 임의 ARIA로 다시 만들지 않는다.
  • 보이는 label, accessible name, role, value와 state를 실제 동작과 동기화한다.
  • trigger에서 surface로 들어가는 focus, 내부 탐색, Escape·외부 dismiss, 닫힌 뒤 focus 복귀를 명시한다.
  • hover에만 정보나 행동을 숨기지 않는다. focus, click 또는 touch에서 동등하게 발견 가능하게 한다.
  • drag·swipe·pinch가 유일한 조작이 되지 않게 button, keyboard, direct input 같은 동등한 경로를 제공한다.
  • screen width로 입력 장치를 추정하지 않는다. coarse pointer, keyboard와 touch가 섞인 환경을 처리한다.

Read the full file on GitHub · 86 lines

Files

What ships with it

4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 86 lines · 180 tokens per session scan A 29772368da31

Subscribe to this mod's changes

implement-ui-interaction is a skill published in the GitHub repository HYEXE/codex-plugins (1 stars, last pushed yesterday), licensed Apache-2.0. It adds 180 tokens to every session and 1,634 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

stop-that-shit

Keep coding agents focused on requested and necessary work. Use for bounded changes, review-only tasks, scope creep, speculative hardening, unnecessary hashing or dependencies, repeated audit loops, or when the user invokes Stop That Shit.

lennney/stop-that-shit · 50 tokens

dev-flow

Use Dev Flow for bounded Codex software development tasks: implementation, bug fixes, refactoring, targeted testing, development delivery, and explicit parallel batches isolated in separate Git worktrees. It may be selected implicitly for those tasks or explicitly with $dev-flow-codex:dev-flow. Do not create a Dev…

Innocent-children/dev-flow · 84 tokens

codexkit-repository-maintenance

Use when maintaining or improving the GameStudio-CodexKIT source repository, including CI, governance, catalog, generators, adapters, packaging, documentation, versioning, or release readiness.

hoatv2211/GameStudio-CodexKIT · 45 tokens

pipeline

Use when the user wants a feature idea taken end-to-end in one autonomous run — phrases like "run the whole pipeline", "take this feature from idea to finished branch", "brainstorm then build it autonomously", "do everything from idea to merged", "implement all phases without stopping". Triggers when they want…

kardebadas/claude-plugin · 80 tokens

design

Set visual and interaction direction for any UI surface (web, React, TUI, CLI, desktop, Qt, design-system tokens) before any UI code. Direction-first: generates 3-4 distinct directions via verbalized sampling, picks one via per-axis single-select, then derives palette, typography, spacing, motion budget. Loads when…

OutlineDriven/odin-codex-plugin · 151 tokens

decision-report

Generate a portable stakeholder decision report for a CV deployment decision. TRIGGER when: user explicitly asks for a decision report, manager report, or stakeholder doc after a cost crossover has been computed; phrases: "write me a decision report", "generate a report for my manager", "I need a stakeholder doc"…

Borda/vision-delivery · 124 tokens