Agent skill

Cuihua Error Handler

by LeoYeAI in LeoYeAI/openclaw-master-skills

๐Ÿ›ก๏ธ AI-powered error handling assistant that transforms fragile code into resilient systems.

MITAuto-check passedDevelopment

Install Cuihua Error Handler

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill cuihua-error-handler -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills cuihua-error-handler --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cuihua-error-handler .claude/skills/cuihua-error-handler && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation ยท loads skills from .claude/skills/

Facts

Skill name
cuihua-error-handler
GitHub stars
2.2k
Token cost
~4.6k tokens
SKILL.md length
362 words
Files
5
Skills in repo
1,215
Repo updated
First seen
Licence
MIT

At a glance

๐Ÿ›ก๏ธ AI-powered error handling assistant that transforms fragile code into resilient systems.

  • Works in 6 steps: Smart Error Detection ๐Ÿ” โ†’ Comprehensive Error Handling โœจ โ†’ Retry Strategies ๐Ÿ”„ โ†’ โ€ฆ
  • Tasks that involve Error handling
  • SKILL.md covers ๐ŸŽฏ Why cuihua-error-handler?, ๐Ÿš€ Quick Start, ๐ŸŽจ Features and ๐Ÿ“‹ Usage Examples, plus 6 more sections
  • Runs JavaScript scripts from its folder; reaches api.weather.com

What it does

Cuihua Error Handler is an agent skill from LeoYeAI/openclaw-master-skills. ๐Ÿ›ก๏ธ AI-powered error handling assistant that transforms fragile code into resilient systems. Automatically generate comprehensive error handling, recovery strategies, and graceful degradation. Because every production system deserves bulletproof error handling.

Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `README.md`, `_meta.json` and `error-handler.js`).

It sits in Development, covering Error handling. The repository describes itself as: ๐Ÿง  Curated collection of 1209+ best OpenClaw skills โ€” weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Tasks that involve Error handling

Example prompts

  • โ€œ/cuihua-error-handlerโ€

Requirements

  • Node.js

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Smart Error Detection ๐Ÿ”
  2. Comprehensive Error Handling โœจ
  3. Retry Strategies ๐Ÿ”„
  4. Circuit Breaker Pattern โšก
  5. Graceful Degradation ๐ŸŽฏ
  6. Error Coverage Analysis ๐Ÿ“Š

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.weather.com

    Also links to:

    • discord.gg
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cuihua Error Handler loads about 4.6k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 362 words of instructions outside code blocks.

Always ยท name and description, kept in context so the agent knows when to use it
~71
When it runs ยท the whole SKILL.md, loaded when a task matches
~4.6k

Estimates: characters รท 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check โ€” not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (ยฉ LeoYeAI). 362 words, ~4,580 tokens.

Download SKILL.mdSave it as .claude/skills/cuihua-error-handler/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
cuihua-error-handler
description
๐Ÿ›ก๏ธ AI-powered error handling assistant that transforms fragile code into resilient systems. Automatically generate comprehensive error handling, recovery strategies, and graceful degradation. Because every production system deserves bulletproof error handling.
metadata.version
1.0.0
metadata.author
็ฟ ่Šฑ (Cuihua) - ClawHub Pioneer
metadata.license
MIT
metadata.tags
error-handling, resilience, reliability, fault-tolerance, try-catch, exception-handling, error-recovery, production-ready
metadata.capabilities
Automatic try/catch generation, Smart error type detection, Recovery strategy suggestions, Circuit breaker patterns, Retry logic with exponential backoffโ€ฆ

cuihua-error-handler - Bulletproof Your Code ๐Ÿ›ก๏ธ

Turn fragile code into production-ready, resilient systems.

An intelligent error handling assistant that automatically:

  • ๐Ÿ” Detects missing error handling
  • โœจ Generates comprehensive try/catch blocks
  • ๐Ÿ”„ Implements recovery strategies (retry, fallback, circuit breaker)
  • ๐Ÿ“Š Reports error handling coverage
  • ๐Ÿ›ก๏ธ Prevents silent failures and crashes

๐ŸŽฏ Why cuihua-error-handler?

The harsh reality:

  • โŒ 80% of production issues come from poor error handling
  • โŒ Silent failures waste hours of debugging
  • โŒ Unhandled rejections crash Node.js servers
  • โŒ Generic try/catch blocks hide the real problems

cuihua-error-handler fixes all of this.


๐Ÿš€ Quick Start

Analyze error handling

Tell your OpenClaw agent:

"Check error handling coverage in src/"

The agent will:

  • Scan all async functions
  • Detect missing try/catch blocks
  • Identify swallowed errors
  • Report error handling coverage
Add error handling

"Add error handling to getUserById in api/users.js"

The agent will:

  • Analyze failure points
  • Generate specific error types
  • Add retry logic for network errors
  • Add fallback for missing data
  • Add structured logging
Generate recovery strategies

"Add circuit breaker to payment service"

The agent will:

  • Implement circuit breaker pattern
  • Add failure rate monitoring
  • Generate fallback responses
  • Add automatic recovery

๐ŸŽจ Features

1. Smart Error Detection ๐Ÿ”

Automatically finds missing error handling:

javascript
// โŒ BEFORE - Fragile code
async function getUserById(id) {
  const res = await fetch(`/api/users/${id}`);
  return res.json();
}

// ๐Ÿ” DETECTED ISSUES:
// - No error handling for network failures
// - No handling for non-200 responses
// - No handling for invalid JSON
// - No logging for debugging
2. Comprehensive Error Handling โœจ

Generates production-ready error handling:

javascript
// โœ… AFTER - Bulletproof code
class UserServiceError extends Error {
  constructor(message, options = {}) {
    super(message);
    this.name = 'UserServiceError';
    this.statusCode = options.statusCode;
    this.originalError = options.cause;
  }
}

async function getUserById(id) {
  try {
    // Validation
    if (!id || typeof id !== 'string') {
      throw new UserServiceError('Invalid user ID', { statusCode: 400 });
    }

    // Network request with timeout
    const controller = new AbortController();
    const timeout = setTimeout(() => controller.abort(), 5000);
    
    const res = await fetch(`/api/users/${id}`, {
      signal: controller.signal
    });
    
    clearTimeout(timeout);

    // HTTP error handling
    if (!res.ok) {
      if (res.status === 404) {
        throw new UserServiceError(`User ${id} not found`, { statusCode: 404 });
      }
      if (res.status >= 500) {
        throw new UserServiceError('Server error, please retry', { statusCode: 502 });
      }
      throw new UserServiceError(`HTTP ${res.status}`, { statusCode: res.status });
    }

    // JSON parsing with error handling
    let data;
    try {
      data = await res.json();
    } catch (parseError) {
      throw new UserServiceError('Invalid response format', {
        statusCode: 502,
        cause: parseError
      });
    }

    return data;

  } catch (error) {
    // Network errors (timeout, connection refused)
    if (error.name === 'AbortError') {
      logger.error('getUserById timeout', { id, timeout: 5000 });
      throw new UserServiceError('Request timeout', {
        statusCode: 504,
        cause: error
      });
    }

    if (error.message.includes('fetch failed')) {
      logger.error('getUserById network error', { id, error: error.message });
      throw new UserServiceError('Network error', {
        statusCode: 503,
        cause: error
      });
    }

    // Re-throw UserServiceError
    if (error instanceof UserServiceError) {
      logger.error('getUserById failed', { id, error: error.message });
      throw error;
    }

    // Unexpected errors
    logger.error('getUserById unexpected error', { id, error });
    throw new UserServiceError('Internal error', {
      statusCode: 500,
      cause: error
    });
  }
}
3. Retry Strategies ๐Ÿ”„

Smart retry with exponential backoff:

javascript
async function retryWithBackoff(fn, options = {}) {
  const {
    maxRetries = 3,
    initialDelay = 1000,
    maxDelay = 10000,
    backoffFactor = 2,
    shouldRetry = (error) => true
  } = options;

  let lastError;
  let delay = initialDelay;

  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    try {
      return await fn();
    } catch (error) {
      lastError = error;

      // Check if we should retry
      if (attempt === maxRetries || !shouldRetry(error)) {
        throw error;
      }

      // Wait before retry
      logger.warn(`Retry attempt ${attempt + 1}/${maxRetries} after ${delay}ms`, {
        error: error.message
      });

      await new Promise(resolve => setTimeout(resolve, delay));

      // Exponential backoff
      delay = Math.min(delay * backoffFactor, maxDelay);
    }
  }

  throw lastError;
}

// Usage
async function fetchUserWithRetry(id) {
  return retryWithBackoff(
    () => getUserById(id),
    {
      maxRetries: 3,
      shouldRetry: (error) => {
        // Retry on network errors and 5xx
        return error.statusCode >= 500 || error.name === 'NetworkError';
      }
    }
  );
}
4. Circuit Breaker Pattern โšก

Prevent cascading failures:

javascript
class CircuitBreaker {
  constructor(fn, options = {}) {
    this.fn = fn;
    this.failureThreshold = options.failureThreshold || 5;
    this.resetTimeout = options.resetTimeout || 60000;
    this.state = 'CLOSED'; // CLOSED, OPEN, HALF_OPEN
    this.failureCount = 0;
    this.nextAttempt = Date.now();
  }

  async execute(...args) {
    if (this.state === 'OPEN') {
      if (Date.now() < this.nextAttempt) {
        throw new Error('Circuit breaker is OPEN');
      }
      // Try to recover
      this.state = 'HALF_OPEN';
    }

    try {
      const result = await this.fn(...args);
      this.onSuccess();
      return result;
    } catch (error) {
      this.onFailure();
      throw error;
    }
  }

  onSuccess() {
    this.failureCount = 0;
    if (this.state === 'HALF_OPEN') {
      this.state = 'CLOSED';
      logger.info('Circuit breaker recovered');
    }
  }

  onFailure() {
    this.failureCount++;
    if (this.failureCount >= this.failureThreshold) {
      this.state = 'OPEN';
      this.nextAttempt = Date.now() + this.resetTimeout;
      logger.error('Circuit breaker opened', {
        failureCount: this.failureCount,
        resetTimeout: this.resetTimeout
      });
    }
  }
}

// Usage
const getUserBreaker = new CircuitBreaker(getUserById, {
  failureThreshold: 5,
  resetTimeout: 60000
});

async function fetchUserSafely(id) {
  try {
    return await getUserBreaker.execute(id);
  } catch (error) {
    if (error.message === 'Circuit breaker is OPEN') {
      // Return cached data or default
      return getCachedUser(id) || { id, name: 'Unknown', error: true };
    }
    throw error;
  }
}
5. Graceful Degradation ๐ŸŽฏ

Fallback to cached/default data:

javascript
async function getUserWithFallback(id) {
  try {
    // Try primary source
    return await getUserById(id);
  } catch (error) {
    logger.warn('Primary source failed, trying fallback', { id, error: error.message });

    try {
      // Try cache
      const cached = await cache.get(`user:${id}`);
      if (cached) {
        logger.info('Returned cached user', { id });
        return { ...cached, _cached: true };
      }
    } catch (cacheError) {
      logger.error('Cache also failed', { id, error: cacheError.message });
    }

    // Return default user
    logger.warn('Returning default user', { id });
    return {
      id,
      name: 'Guest User',
      _default: true,
      _error: error.message
    };
  }
}
6. Error Coverage Analysis ๐Ÿ“Š

Comprehensive coverage reporting:

๐Ÿ›ก๏ธ Error Handling Coverage Report
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

๐Ÿ“ Files analyzed: 42
๐Ÿ” Functions analyzed: 156
  - Async functions: 89
  - Sync functions: 67

๐Ÿ“Š Overall coverage: 68%

โŒ Missing error handling (28 functions):

Critical (needs immediate attention):
  1. api/payment.js:45 - processPayment()
     Risk: High - Financial transaction
     Recommendation: Add try/catch + transaction rollback

  2. api/auth.js:23 - verifyToken()
     Risk: High - Security critical
     Recommendation: Add error handling + logging

  3. db/users.js:78 - updateUserProfile()
     Risk: Medium - Data mutation
     Recommendation: Add validation + rollback

โš ๏ธ  Weak error handling (12 functions):

  1. api/users.js:12 - getUserById()
     Issue: Generic catch block without specific handling
     Recommendation: Add error type differentiation

  2. services/email.js:34 - sendWelcomeEmail()
     Issue: Swallowed errors (empty catch block)
     Recommendation: Add logging + alerting

๐Ÿ’ก Recommendations:
  - Add error handling to 28 unprotected functions
  - Improve 12 weak error handlers
  - Target coverage: 90%+ for production readiness

Show full SKILL.md (143 more words)Show less

๐Ÿ“‹ Usage Examples

Example 1: Protect API Route

User: "Add error handling to POST /api/orders"

Agent:

javascript
// โœ… Generated comprehensive error handling

app.post('/api/orders', async (req, res) => {
  try {
    // Validation
    const { userId, items, paymentMethod } = req.body;
    
    if (!userId || !items || !paymentMethod) {
      return res.status(400).json({
        error: 'Missing required fields',
        required: ['userId', 'items', 'paymentMethod']
      });
    }

    if (!Array.isArray(items) || items.length === 0) {
      return res.status(400).json({
        error: 'Items must be a non-empty array'
      });
    }

    // Create order with error handling
    let order;
    try {
      order = await createOrder({ userId, items, paymentMethod });
    } catch (error) {
      if (error.code === 'INSUFFICIENT_STOCK') {
        return res.status(409).json({
          error: 'Some items are out of stock',
          unavailable: error.items
        });
      }
      throw error; // Re-throw for outer handler
    }

    // Process payment with retry
    let payment;
    try {
      payment = await retryWithBackoff(
        () => processPayment(order.id, paymentMethod),
        { maxRetries: 3 }
      );
    } catch (error) {
      // Rollback order
      await cancelOrder(order.id);
      
      if (error.code === 'PAYMENT_DECLINED') {
        return res.status(402).json({
          error: 'Payment declined',
          reason: error.reason
        });
      }
      throw error;
    }

    // Success
    res.status(201).json({
      orderId: order.id,
      paymentId: payment.id,
      status: 'confirmed'
    });

  } catch (error) {
    logger.error('Order creation failed', {
      body: req.body,
      error: error.message,
      stack: error.stack
    });

    res.status(500).json({
      error: 'Failed to create order',
      message: process.env.NODE_ENV === 'development'
        ? error.message
        : 'Please try again later'
    });
  }
});
Example 2: Database Operations

User: "Add error handling to database queries"

Agent:

javascript
class UserRepository {
  async findById(id) {
    try {
      const user = await db.query(
        'SELECT * FROM users WHERE id = $1',
        [id]
      );
      
      if (!user) {
        throw new NotFoundError(`User ${id} not found`);
      }
      
      return user;
    } catch (error) {
      if (error instanceof NotFoundError) {
        throw error;
      }
      
      logger.error('Database query failed', {
        method: 'findById',
        id,
        error: error.message
      });
      
      throw new DatabaseError('Failed to fetch user', { cause: error });
    }
  }

  async update(id, data) {
    const client = await db.getClient();
    
    try {
      await client.query('BEGIN');
      
      const result = await client.query(
        'UPDATE users SET name = $1, email = $2 WHERE id = $3 RETURNING *',
        [data.name, data.email, id]
      );
      
      if (result.rowCount === 0) {
        throw new NotFoundError(`User ${id} not found`);
      }
      
      await client.query('COMMIT');
      return result.rows[0];
      
    } catch (error) {
      await client.query('ROLLBACK');
      
      if (error.code === '23505') { // Unique violation
        throw new ConflictError('Email already exists');
      }
      
      if (error instanceof NotFoundError) {
        throw error;
      }
      
      logger.error('User update failed', { id, data, error: error.message });
      throw new DatabaseError('Failed to update user', { cause: error });
      
    } finally {
      client.release();
    }
  }
}
Example 3: External API Calls

User: "Add resilience to third-party API calls"

Agent:

javascript
class WeatherAPI {
  constructor() {
    this.breaker = new CircuitBreaker(this._fetch.bind(this), {
      failureThreshold: 5,
      resetTimeout: 60000
    });
    this.cache = new Map();
  }

  async getWeather(city) {
    // Try cache first
    const cached = this.cache.get(city);
    if (cached && Date.now() - cached.timestamp < 300000) { // 5 min cache
      logger.info('Returning cached weather', { city });
      return cached.data;
    }

    try {
      // Call with circuit breaker
      const data = await this.breaker.execute(city);
      
      // Update cache
      this.cache.set(city, {
        data,
        timestamp: Date.now()
      });
      
      return data;
      
    } catch (error) {
      logger.error('Weather API failed', { city, error: error.message });
      
      // Return stale cache if available
      if (cached) {
        logger.warn('Returning stale cached data', { city });
        return { ...cached.data, _stale: true };
      }
      
      // Return default
      return {
        city,
        temperature: null,
        condition: 'Unknown',
        _error: error.message
      };
    }
  }

  async _fetch(city) {
    const response = await retryWithBackoff(
      () => fetch(`https://api.weather.com/v1/${city}`),
      {
        maxRetries: 3,
        shouldRetry: (error) => {
          // Don't retry client errors
          return !error.statusCode || error.statusCode >= 500;
        }
      }
    );

    if (!response.ok) {
      throw new Error(`Weather API error: ${response.status}`);
    }

    return response.json();
  }
}

โš™๏ธ Configuration

Create .errorhandlerrc.json:

json
{
  "coverage": {
    "minimum": 80,
    "target": 95,
    "failOnBelow": true
  },
  "patterns": {
    "enableRetry": true,
    "enableCircuitBreaker": true,
    "enableFallback": true,
    "maxRetries": 3,
    "retryDelay": 1000
  },
  "logging": {
    "logLevel": "error",
    "includeStack": true,
    "structuredLogging": true
  },
  "customErrors": {
    "baseClass": "AppError",
    "errorTypes": [
      "ValidationError",
      "NotFoundError",
      "UnauthorizedError",
      "ForbiddenError"
    ]
  }
}

๐Ÿ”’ Error Types

Built-in Error Types
javascript
// Base error class
class AppError extends Error {
  constructor(message, options = {}) {
    super(message);
    this.name = this.constructor.name;
    this.statusCode = options.statusCode || 500;
    this.code = options.code;
    this.originalError = options.cause;
  }
}

// Domain-specific errors
class ValidationError extends AppError {
  constructor(message, fields) {
    super(message, { statusCode: 400 });
    this.fields = fields;
  }
}

class NotFoundError extends AppError {
  constructor(resource) {
    super(`${resource} not found`, { statusCode: 404 });
    this.resource = resource;
  }
}

class UnauthorizedError extends AppError {
  constructor(message = 'Unauthorized') {
    super(message, { statusCode: 401 });
  }
}

class ConflictError extends AppError {
  constructor(message) {
    super(message, { statusCode: 409 });
  }
}

class ServiceUnavailableError extends AppError {
  constructor(service) {
    super(`${service} is temporarily unavailable`, { statusCode: 503 });
    this.service = service;
  }
}

๐Ÿ’ฐ Pricing

Free Tier
  • โœ… Error coverage analysis
  • โœ… Basic try/catch generation
  • โœ… Up to 10 files per project
Pro ($10/month)
  • โœ… Unlimited files
  • โœ… Advanced patterns (retry, circuit breaker)
  • โœ… Custom error types
  • โœ… CI/CD integration
  • โœ… Priority support
Enterprise ($79/month)
  • โœ… Everything in Pro
  • โœ… Team error handling policies
  • โœ… Error monitoring integration
  • โœ… Custom recovery strategies
  • โœ… SLA support

๐Ÿ“š Resources


๐Ÿ“œ License

MIT License - see LICENSE for details.


๐Ÿ™ Acknowledgments

Built with ๐ŸŒธ by ็ฟ ่Šฑ (Cuihua) for the OpenClaw community.

Because production systems deserve bulletproof error handling.


Made with ๐ŸŒธ | Cuihua Series | ClawHub Pioneer

Transform fragile code into resilient systems.

ยฉ LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files in skills/cuihua-error-handler of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • README.md
  • _meta.json
  • error-handler.js
  • test-code.js

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Cuihua Error Handler next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; โ€œused inโ€ counts other GitHub owners with a copy.

Cuihua Error Handler compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cuihua Error Handler this skillLeoYeAI/openclaw-master-skills2.2kโ€”~4.6kAutomated safety check: PassMIT
Mole Bug Patternstw93/Mole69kโ€”~2kAutomated safety check: PassGPL-3.0
Native Data FetchingCherryHQ/cherry-studio-app4k6 repos~2.9kAutomated safety check: NotesMIT
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT
R Function Input Validationtidyverse/dplyr5.1k1 repos~2.3kAutomated safety check: PassCustom licence
Error Handlingmicrosoft/data-formulator18kโ€”~3.8kAutomated safety check: PassMIT

Similar skills

  • A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.

    69k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Validates arguments of exported R functions with the standalone check_* type checkers from rlang, in tidyverse style with clear error messages.

    5.1k GitHub starsUsed in 1 repo~2.3k tokens
    DevelopmentAuto-check passed
  • Error Handling

    microsoft/data-formulator

    Official

    ็ปŸไธ€้”™่ฏฏๅค„็†็ณป็ปŸใ€‚ๅœจๆทปๅŠ  API ็ซฏ็‚นใ€ไฟฎๆ”น้”™่ฏฏๅค„็†ใ€ๆทปๅŠ ๅ‰็ซฏ API ่ฐƒ็”จใ€็ผ–ๅ†™้”™่ฏฏ็›ธๅ…ณๆต‹่ฏ•ๆ—ถไฝฟ็”จ. An agent skill from microsoft/data-formulator.

    18k GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Effect Client Wrapper

    UsefulSoftwareCo/executor

    Pattern for wrapping third-party SDK clients (Stripe, Resend, AWS, etc.) with Effect.

    4.1k GitHub starsUsed in 1 repo~1.4k tokens
    DevelopmentAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,215 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Categories

Questions about Cuihua Error Handler

What does Cuihua Error Handler do?

๐Ÿ›ก๏ธ AI-powered error handling assistant that transforms fragile code into resilient systems. Cuihua Error Handler is an agent skill from LeoYeAI/openclaw-master-skills. ๐Ÿ›ก๏ธ AI-powered error handling assistant that transforms fragile code into resilient systems.

When should I use Cuihua Error Handler?

Cuihua Error Handler fits situations like: tasks that involve Error handling.

How do I install Cuihua Error Handler in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill cuihua-error-handler -a claude-code`. Or copy the skill folder (skills/cuihua-error-handler in LeoYeAI/openclaw-master-skills) into .claude/skills/cuihua-error-handler in your project. Claude Code loads it when a task matches its description.

How do I install Cuihua Error Handler in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill cuihua-error-handler -a codex`. Or copy the skill folder (skills/cuihua-error-handler in LeoYeAI/openclaw-master-skills) into .agents/skills/cuihua-error-handler in your project. Codex loads it when a task matches its description.

Can I use Cuihua Error Handler in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill cuihua-error-handler -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cuihua-error-handler, .gemini/skills/cuihua-error-handler, .github/skills/cuihua-error-handler and .opencode/skills/cuihua-error-handler in your project.

What does Cuihua Error Handler need to run?

Going by SKILL.md and its folder, Cuihua Error Handler needs JavaScript for the scripts in its folder. Our summary lists: Node.js.

Does Cuihua Error Handler access the network?

SKILL.md names 3 domains. In commands or code: api.weather.com; the agent is likely to contact it when it follows the instructions. As links in the text: discord.gg and github.com. This is read from the text; nothing was executed.

Is Cuihua Error Handler safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cuihua Error Handler use?

Cuihua Error Handler is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cuihua Error Handler use?

About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cuihua Error Handler?

Skills that share tags, products or a category with Cuihua Error Handler: Mole Bug Patterns (tw93/Mole, 69k stars), Native Data Fetching (CherryHQ/cherry-studio-app, 4k stars), Rust Best Practices (farm-fe/farm, 5.6k stars) and R Function Input Validation (tidyverse/dplyr, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cuihua Error Handler?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,158 GitHub stars. The repository holds 1,215 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.