Agent skill
patterns/opaque-pointer
Opaque Pointer Pattern pattern for C development
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/opaque-pointer-mgreenly-ikigai-2
SKILL.md
Opaque Pointer Pattern
Declare struct in header without defining fields. Implementation hidden in .c file. Callers only see pointer, never fields.
ikigai Application
Header:
typedef struct ik_scrollback ik_scrollback_t; // Forward declaration
res_t ik_scrollback_create(void *ctx, ik_scrollback_t **out);
Implementation in .c:
struct ik_scrollback {
// Fields hidden from callers
};
Benefits:
- Callers can't depend on internal fields
- Change internals without recompiling callers
- Enforces use of accessor functions
ikigai usage: Most context types could use this. Currently structs are defined in headers. Consider for stable public APIs.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?