Agent Skills: Result Type Pattern (C-Specific)

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

UncategorizedID: mgreenly/ikigai/patterns/result-type

Install this agent skill to your local

pnpm dlx add-skill https://github.com/mgreenly/ikigai/tree/HEAD/.claude/library/patterns/result-type

Skill Files

Browse the full folder contents for patterns/result-type.

Download Skill

Loading file tree…

.claude/library/patterns/result-type/SKILL.md

Skill Metadata

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.