frontend-ux

Enforces UX rules for React/TypeScript Ethereum dApps with onchain interactions.

1|Updated Apr 25, 2026
One-click install
npx skills add https://github.com/collat-labs/collat --skill frontend-ux-collat-labs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frontend-ux
Source: https://github.com/collat-labs/collat/tree/main/.agents/skills/ethskills/frontend-ux
Command: npx skills add https://github.com/collat-labs/collat --skill frontend-ux-collat-labs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill prevents common Ethereum dApp frontend failures by enforcing interaction-safe UI patterns for onchain transactions, approvals, addresses, token amounts, RPC reliability, theming, and pre-publish metadata.

Core Features & Use Cases

  • Onchain button pending-state correctness: ensures buttons disable immediately, reflect the right pending label, and remain locked through wallet-to-confirmation and confirmation-to-cache gaps.
  • Four-state action flow: guides UIs to present the correct primary action for not-connected, wrong-network, needs-approval, and ready-to-execute states without mixing Approve and Execute.
  • Address UX standards: requires validation, safe display/truncation, copy support, and explorer linking, including ENS/name handling when applicable.
  • USD context for token values: mandates showing dollar equivalents for balances, inputs, confirmations, and portfolio summaries.
  • RPC reliability & polling discipline: recommends intentional providers and stable polling to avoid runaway request patterns.
  • Theme semantics and error translation: avoids hardcoded dark wrappers and converts contract errors into human-readable messages near the triggering action.
  • Pre-publish product identity checks: verifies absolute, reachable OG/Twitter images and ensures branding, favicon, and tab titles are production-ready.

Quick Start

Apply these rules while building your Ethereum dApp so every onchain action has a correct, user-safe loading/disabled flow and displays addresses and token amounts with proper context.

Frequently Asked Questions about frontend-ux

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent Ethereum dApp UI bugs during onchain transactions?

To prevent Ethereum dApp UI bugs, enforce deterministic per-action pending state management that keeps transaction buttons disabled and correctly labeled through wallet-to-confirmation and confirmation-to-cache gaps.

How should ERC-20 token approval flows be handled in a React web UI?

ERC-20 token approval flows should be handled using a strict four-state action flow that separates needs-approval and ready-to-execute states, ensuring the UI presents the correct primary action without mixing Approve and Execute buttons.

What is the correct way to display Ethereum addresses and token values in a dApp?

Display Ethereum addresses by validating them, truncating safely, enabling copy support, and linking to block explorers while handling ENS names. Show token values with mandated dollar equivalents for balances, inputs, and confirmations.

How do I stop runaway RPC request patterns when polling onchain state?

Stop runaway RPC request patterns by implementing RPC reliability and polling discipline, which recommends using intentional providers and stable polling intervals to avoid excessive network requests in Ethereum dApps.

Does this frontend UX approach work with React and TypeScript dApps?

Yes, this frontend UX approach applies directly to React and TypeScript web UIs that perform wallet connections, network checks, ERC-20 approval flows, transaction execution, address rendering, and RPC-driven state polling.

Why do my contract error messages show as unreadable hex in my dApp UI?

Contract error messages show as unreadable hex because the UI lacks error translation. Apply semantic error mapping to convert contract errors into human-readable messages displayed near the triggering action.