harden

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

Updated Mar 24, 2026
One-click install
npx skills add https://github.com/Ssrrb/cerramos-codebase --skill harden-ssrrb
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: harden
Source: https://github.com/Ssrrb/cerramos-codebase/tree/main/.codex/skills/harden
Command: npx skills add https://github.com/Ssrrb/cerramos-codebase --skill harden-ssrrb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Interfaces built for idealized demo data break in production when users enter long text, lose 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 network failure recovery, per-status-code API error handling, empty/loading states, and concurrent operation safeguards like double-submit prevention. - Accessibility & Performance Resilience: Adds keyboard navigation, screen reader support, reduced-motion handling, debouncing, and memory leak cleanup. - Use Case: Before shipping a checkout form, run this Skill to test it with 100-character names, emoji input, German translations, throttled 3G connections, and forced 500 errors, then apply the recommended fixes. ## Quick Start Harden the checkout form component against long text, RTL languages, network failures, and empty states.

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 overflow-wrap: break-word for wrapping.

How to make a web interface support RTL languages?▼

Use CSS logical properties like margin-inline-start and padding-inline instead of physical left/right properties. Test with Arabic or Hebrew content, and mirror directional icons using transform: scaleX(-1) under the dir="rtl" attribute.

What HTTP status codes should UI error handling cover?▼

Handle 400 with validation messages, 401 by redirecting to login, 403 with a permission error, 404 with a not-found state, 429 with a rate limit message, and 500 with a generic error plus retry option. Each status needs a distinct user-facing response.

How do I prevent double form submission in JavaScript?▼

Disable the submit button while the request is in flight and use optimistic updates with rollback for concurrent operations. This prevents race conditions when users click submit rapidly or retry after timeouts.

Why does my layout break with German translations?▼

German text is often 30% longer than English, so fixed-width containers overflow. Use flexible layouts with padding instead of fixed widths, flexbox or grid that adapts to content, and budget 30-40% extra space for translations.

Is client-side form validation enough for production?▼

No, client-side validation alone is insufficient. Always validate and sanitize inputs server-side as well, since client checks can be bypassed, and add rate limiting to protect against injection attacks and abuse.