harden — desktop-app harden, community, desktop-app, ide skills, editor, markdown, tiptap, wysiwyg, Claude Code, Cursor, Windsurf

v1.0.0

关于此技能

适合需要全面边缘情况分析和国际化支持的接口测试代理。 Improve interface resilience through better error handling, i18n support, text overflow handling, and edge case management. Makes interfaces robust and production-ready.

# 核心主题

eneakllomollari eneakllomollari
[1]
[0]
更新于: 3/15/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 4/11

This page remains useful for operators, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Concrete use-case guidance Explicit limitations and caution
Review Score
4/11
Quality Score
49
Canonical Locale
en
Detected Body Locale
en

适合需要全面边缘情况分析和国际化支持的接口测试代理。 Improve interface resilience through better error handling, i18n support, text overflow handling, and edge case management. Makes interfaces robust and production-ready.

核心价值

赋予代理加强接口以抵御边缘情况和错误的能力,使用诸如测试极端输入、国际化和Markdown编辑支持等功能,采用Tauri、React和Rust构建。

适用 Agent 类型

适合需要全面边缘情况分析和国际化支持的接口测试代理。

赋予的主要能力 · harden

使用非常长的文本和特殊字符等极端输入测试接口
使用RTL文本和重音等识别国际化问题
使用大量数字和列表状态中的许多项目分析边缘情况

! 使用限制与门槛

  • 需要桌面环境进行Markdown编辑
  • 采用特定的技术:Tauri、React和Rust构建

Why this page is reference-only

  • - Current locale does not satisfy the locale-governance contract.
  • - The page lacks a strong recommendation layer.
  • - The underlying skill quality score is below the review floor.

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

评审后的下一步

先决定动作,再继续看上游仓库材料

Killer-Skills 的主价值不应该停在“帮你打开仓库说明”,而是先帮你判断这项技能是否值得安装、是否应该回到可信集合复核,以及是否已经进入工作流落地阶段。

实验室 Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

常见问题与安装步骤

以下问题与步骤与页面结构化数据保持一致,便于搜索引擎理解页面内容。

? FAQ

harden 是什么?

适合需要全面边缘情况分析和国际化支持的接口测试代理。 Improve interface resilience through better error handling, i18n support, text overflow handling, and edge case management. Makes interfaces robust and production-ready.

如何安装 harden?

运行命令:npx killer-skills add eneakllomollari/mpad/harden。支持 Cursor、Windsurf、VS Code、Claude Code 等 19+ IDE/Agent。

harden 适用于哪些场景?

典型场景包括:使用非常长的文本和特殊字符等极端输入测试接口、使用RTL文本和重音等识别国际化问题、使用大量数字和列表状态中的许多项目分析边缘情况。

harden 支持哪些 IDE 或 Agent?

该技能兼容 Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer。可使用 Killer-Skills CLI 一条命令通用安装。

harden 有哪些限制?

需要桌面环境进行Markdown编辑;采用特定的技术:Tauri、React和Rust构建。

安装步骤

  1. 1. 打开终端

    在你的项目目录中打开终端或命令行。

  2. 2. 执行安装命令

    运行:npx killer-skills add eneakllomollari/mpad/harden。CLI 会自动识别 IDE 或 AI Agent 并完成配置。

  3. 3. 开始使用技能

    harden 已启用,可立即在当前项目中调用。

! 参考页模式

此页面仍可作为安装与查阅参考,但 Killer-Skills 不再把它视为主要可索引落地页。请优先阅读上方评审结论,再决定是否继续查看上游仓库说明。

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

harden

安装 harden,这是一款面向AI agent workflows and automation的 AI Agent Skill。支持 Claude Code、Cursor、Windsurf,一键安装。

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

Strengthen interfaces against edge cases, errors, internationalization issues, and real-world usage scenarios that break idealized designs.

Assess Hardening Needs

Identify weaknesses and edge cases:

  1. Test with extreme inputs:

    • Very long text (names, descriptions, titles)
    • Very short text (empty, single character)
    • Special characters (emoji, RTL text, accents)
    • Large numbers (millions, billions)
    • Many items (1000+ list items, 50+ options)
    • No data (empty states)
  2. Test error scenarios:

    • Network failures (offline, slow, timeout)
    • API errors (400, 401, 403, 404, 500)
    • Validation errors
    • Permission errors
    • Rate limiting
    • Concurrent operations
  3. Test internationalization:

    • Long translations (German is often 30% longer than English)
    • RTL languages (Arabic, Hebrew)
    • Character sets (Chinese, Japanese, Korean, emoji)
    • Date/time formats
    • Number formats (1,000 vs 1.000)
    • Currency symbols

CRITICAL: Designs that only work with perfect data aren't production-ready. Harden against reality.

Hardening Dimensions

Systematically improve resilience:

Text Overflow & Wrapping

Long text handling:

css
1/* Single line with ellipsis */ 2.truncate { 3 overflow: hidden; 4 text-overflow: ellipsis; 5 white-space: nowrap; 6} 7 8/* Multi-line with clamp */ 9.line-clamp { 10 display: -webkit-box; 11 -webkit-line-clamp: 3; 12 -webkit-box-orient: vertical; 13 overflow: hidden; 14} 15 16/* Allow wrapping */ 17.wrap { 18 word-wrap: break-word; 19 overflow-wrap: break-word; 20 hyphens: auto; 21}

Flex/Grid overflow:

css
1/* Prevent flex items from overflowing */ 2.flex-item { 3 min-width: 0; /* Allow shrinking below content size */ 4 overflow: hidden; 5} 6 7/* Prevent grid items from overflowing */ 8.grid-item { 9 min-width: 0; 10 min-height: 0; 11}

Responsive text sizing:

  • Use clamp() for fluid typography
  • Set minimum readable sizes (14px on mobile)
  • Test text scaling (zoom to 200%)
  • Ensure containers expand with text

Internationalization (i18n)

Text expansion:

  • Add 30-40% space budget for translations
  • Use flexbox/grid that adapts to content
  • Test with longest language (usually German)
  • Avoid fixed widths on text containers
jsx
1// ❌ Bad: Assumes short English text 2<button className="w-24">Submit</button> 3 4// ✅ Good: Adapts to content 5<button className="px-4 py-2">Submit</button>

RTL (Right-to-Left) support:

css
1/* Use logical properties */ 2margin-inline-start: 1rem; /* Not margin-left */ 3padding-inline: 1rem; /* Not padding-left/right */ 4border-inline-end: 1px solid; /* Not border-right */ 5 6/* Or use dir attribute */ 7[dir="rtl"] .arrow { transform: scaleX(-1); }

Character set support:

  • Use UTF-8 encoding everywhere
  • Test with Chinese/Japanese/Korean (CJK) characters
  • Test with emoji (they can be 2-4 bytes)
  • Handle different scripts (Latin, Cyrillic, Arabic, etc.)

Date/Time formatting:

javascript
1// ✅ Use Intl API for proper formatting 2new Intl.DateTimeFormat('en-US').format(date); // 1/15/2024 3new Intl.DateTimeFormat('de-DE').format(date); // 15.1.2024 4 5new Intl.NumberFormat('en-US', { 6 style: 'currency', 7 currency: 'USD' 8}).format(1234.56); // $1,234.56

Pluralization:

javascript
1// ❌ Bad: Assumes English pluralization 2`${count} item${count !== 1 ? 's' : ''}` 3 4// ✅ Good: Use proper i18n library 5t('items', { count }) // Handles complex plural rules

Error Handling

Network errors:

  • Show clear error messages
  • Provide retry button
  • Explain what happened
  • Offer offline mode (if applicable)
  • Handle timeout scenarios
jsx
1// Error states with recovery 2{error && ( 3 <ErrorMessage> 4 <p>Failed to load data. {error.message}</p> 5 <button onClick={retry}>Try again</button> 6 </ErrorMessage> 7)}

Form validation errors:

  • Inline errors near fields
  • Clear, specific messages
  • Suggest corrections
  • Don't block submission unnecessarily
  • Preserve user input on error

API errors:

  • Handle each status code appropriately
    • 400: Show validation errors
    • 401: Redirect to login
    • 403: Show permission error
    • 404: Show not found state
    • 429: Show rate limit message
    • 500: Show generic error, offer support

Graceful degradation:

  • Core functionality works without JavaScript
  • Images have alt text
  • Progressive enhancement
  • Fallbacks for unsupported features

Edge Cases & Boundary Conditions

Empty states:

  • No items in list
  • No search results
  • No notifications
  • No data to display
  • Provide clear next action

Loading states:

  • Initial load
  • Pagination load
  • Refresh
  • Show what's loading ("Loading your projects...")
  • Time estimates for long operations

Large datasets:

  • Pagination or virtual scrolling
  • Search/filter capabilities
  • Performance optimization
  • Don't load all 10,000 items at once

Concurrent operations:

  • Prevent double-submission (disable button while loading)
  • Handle race conditions
  • Optimistic updates with rollback
  • Conflict resolution

Permission states:

  • No permission to view
  • No permission to edit
  • Read-only mode
  • Clear explanation of why

Browser compatibility:

  • Polyfills for modern features
  • Fallbacks for unsupported CSS
  • Feature detection (not browser detection)
  • Test in target browsers

Input Validation & Sanitization

Client-side validation:

  • Required fields
  • Format validation (email, phone, URL)
  • Length limits
  • Pattern matching
  • Custom validation rules

Server-side validation (always):

  • Never trust client-side only
  • Validate and sanitize all inputs
  • Protect against injection attacks
  • Rate limiting

Constraint handling:

html
1<!-- Set clear constraints --> 2<input 3 type="text" 4 maxlength="100" 5 pattern="[A-Za-z0-9]+" 6 required 7 aria-describedby="username-hint" 8/> 9<small id="username-hint"> 10 Letters and numbers only, up to 100 characters 11</small>

Accessibility Resilience

Keyboard navigation:

  • All functionality accessible via keyboard
  • Logical tab order
  • Focus management in modals
  • Skip links for long content

Screen reader support:

  • Proper ARIA labels
  • Announce dynamic changes (live regions)
  • Descriptive alt text
  • Semantic HTML

Motion sensitivity:

css
1@media (prefers-reduced-motion: reduce) { 2 * { 3 animation-duration: 0.01ms !important; 4 animation-iteration-count: 1 !important; 5 transition-duration: 0.01ms !important; 6 } 7}

High contrast mode:

  • Test in Windows high contrast mode
  • Don't rely only on color
  • Provide alternative visual cues

Performance Resilience

Slow connections:

  • Progressive image loading
  • Skeleton screens
  • Optimistic UI updates
  • Offline support (service workers)

Memory leaks:

  • Clean up event listeners
  • Cancel subscriptions
  • Clear timers/intervals
  • Abort pending requests on unmount

Throttling & Debouncing:

javascript
1// Debounce search input 2const debouncedSearch = debounce(handleSearch, 300); 3 4// Throttle scroll handler 5const throttledScroll = throttle(handleScroll, 100);

Testing Strategies

Manual testing:

  • Test with extreme data (very long, very short, empty)
  • Test in different languages
  • Test offline
  • Test slow connection (throttle to 3G)
  • Test with screen reader
  • Test keyboard-only navigation
  • Test on old browsers

Automated testing:

  • Unit tests for edge cases
  • Integration tests for error scenarios
  • E2E tests for critical paths
  • Visual regression tests
  • Accessibility tests (axe, WAVE)

IMPORTANT: Hardening is about expecting the unexpected. Real users will do things you never imagined.

NEVER:

  • Assume perfect input (validate everything)
  • Ignore internationalization (design for global)
  • Leave error messages generic ("Error occurred")
  • Forget offline scenarios
  • Trust client-side validation alone
  • Use fixed widths for text
  • Assume English-length text
  • Block entire interface when one component errors

Verify Hardening

Test thoroughly with edge cases:

  • Long text: Try names with 100+ characters
  • Emoji: Use emoji in all text fields
  • RTL: Test with Arabic or Hebrew
  • CJK: Test with Chinese/Japanese/Korean
  • Network issues: Disable internet, throttle connection
  • Large datasets: Test with 1000+ items
  • Concurrent actions: Click submit 10 times rapidly
  • Errors: Force API errors, test all error states
  • Empty: Remove all data, test empty states

Remember: You're hardening for production reality, not demo perfection. Expect users to input weird data, lose connection mid-flow, and use your product in unexpected ways. Build resilience into every component.

相关技能

寻找 harden 的替代方案 (Alternative) 或可搭配使用的同类 community Skill?探索以下相关开源技能。

查看全部

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

为prompts.chat的信息反馈系统生成可定制的插件小部件

149.6k
0
AI

flags

Logo of vercel
vercel

React 框架

138.4k
0
浏览器

pr-review

Logo of pytorch
pytorch

Python中具有强大GPU加速的张量和动态神经网络

98.6k
0
开发者工具