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.mdsource 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:
- REPL stateik_repl_ctx_t
- Terminal stateik_term_ctx_t
- Scrollback stateik_scrollback_t
- Runtime environment (planned)ik_env_t
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.