harden

Improves interface resilience through error handling, i18n support, and edge case management.

Updated Mar 4, 2026
One-click install
npx skills add https://github.com/gmolike/Claude-Template --skill harden-gmolike
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: harden
Source: https://github.com/gmolike/Claude-Template/tree/main/.agents/skills/harden
Command: npx skills add https://github.com/gmolike/Claude-Template --skill harden-gmolike

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Interfaces built for ideal demo data break in production when users enter long text, lose network connectivity, switch languages, or trigger unexpected errors. This Skill systematically hardens UI components against real-world edge cases before they reach users. ## Core Features & Use Cases - Text Overflow & i18n Handling: Applies truncation, line-clamping, logical CSS properties for RTL languages, and Intl API formatting for dates, numbers, and currencies. - Error & Edge Case Coverage: Implements recovery patterns for network failures, API status codes (400-500), empty states, loading states, and concurrent operations like double-submission. - Accessibility & Performance Resilience: Adds keyboard navigation, screen reader support, reduced-motion handling, debouncing, and memory leak prevention. - Use Case: Before shipping a new user profile feature, run this Skill to verify it survives 100-character names, German translations, offline mode, and rapid repeated form submissions. ## Quick Start Ask the AI to harden the checkout form against long text, network errors, and internationalization issues.

Frequently Asked Questions about harden

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

FAQPage Schema
How do I handle long text overflow in CSS?

Use text-overflow: ellipsis with overflow: hidden for single-line truncation, or -webkit-line-clamp for multi-line clamping. Set min-width: 0 on flex and grid items so they can shrink below content size, and use word-wrap: break-word for wrapping.

How to make a web app support RTL languages like Arabic?

Use CSS logical properties such as margin-inline-start and padding-inline instead of physical left/right properties. Mirror directional icons with transform: scaleX(-1) under the dir='rtl' attribute and test layouts with Arabic or Hebrew content.

How should I handle different API error status codes in a UI?

Map each status code to a specific response: 400 shows validation errors, 401 redirects to login, 403 shows a permission message, 404 shows a not-found state, 429 shows a rate limit notice, and 500 shows a generic error with a retry option.

Why does my layout break with German translations?

German text is often 30% longer than English, so fixed-width containers overflow. Use flexible padding-based sizing instead of fixed widths, budget 30-40% extra space for translations, and test layouts with the longest target language.

How do I prevent double form submission in React?

Disable the submit button while the request is in flight and track submission state to ignore repeat clicks. For concurrent operations, use optimistic updates with rollback and handle race conditions between overlapping requests.

Is client-side validation enough for form security?

No, client-side validation only improves user experience and can be bypassed. Always validate and sanitize inputs on the server, enforce rate limiting, and protect against injection attacks regardless of client-side checks.