Claude-skill-registry patterns/context-struct

Context Struct Pattern (C-Specific) pattern for C development

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/context-struct" ~/.claude/skills/majiayu000-claude-skill-registry-patterns-context-struct && rm -rf "$T"
manifest: skills/data/context-struct/SKILL.md
source content

Context Struct Pattern (C-Specific)

Pass state explicitly as struct pointer parameter rather than using globals. First parameter to functions is context containing state and dependencies.

ikigai Application

Core pattern: Every module uses this:

  • ik_repl_ctx_t
    - REPL state
  • ik_term_ctx_t
    - Terminal state
  • ik_scrollback_t
    - Scrollback state
  • ik_env_t
    - Runtime environment (planned)

Convention: Context is first parameter after talloc context:

res_t ik_scrollback_append(ik_scrollback_t *ctx, const char *line);

Benefits:

  • No global state
  • Multiple instances possible
  • Explicit dependencies
  • Testable (inject mock contexts)

See:

project/explicit_context.md
for
ik_env_t
design.