Claude Code Plugins

Community-maintained marketplace

Feedback

patterns/result-type

@mgreenly/ikigai
1
0

Result Type Pattern (C-Specific) pattern for C development

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name patterns/result-type
description Result Type Pattern (C-Specific) pattern for C development

Result Type Pattern (C-Specific)

Return struct containing success/failure status plus value or error. Explicit error handling without exceptions. Caller must check result.

ikigai Application

Core type: res_t used throughout:

res_t result = ik_cfg_load(ctx, path, &cfg);
if (!result.ok) {
    // Handle error, result.error contains message
}

Macros:

  • OK(value) - Construct success result
  • ERR(msg) - Construct error result
  • TRY(expr) - Propagate error if failed
  • CHECK(cond, msg) - Return error if condition false

Benefits:

  • Errors can't be ignored (must check .ok)
  • Error context propagates up call stack
  • No hidden control flow (unlike exceptions)

See: project/error_handling.md for patterns.