Search

PythonReactSEOPDF
GitHub Skill

patternsstrategy

Strategy Pattern pattern for C development

mgreenly☆ 1 Repository stars0 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

Strategy Pattern

Define a family of algorithms as interchangeable function pointers. Clients select which algorithm to use at runtime without changing calling code.

ikigai Application

LLM Provider abstraction: Each provider (OpenAI, Anthropic, Google) implements same interface:

typedef struct {
    res_t (*send)(void *ctx, ik_message_t **msgs, size_t count);
    res_t (*stream)(void *ctx, ik_message_t **msgs, chunk_cb cb);
} ik_llm_provider_t;

Selection: Config determines which provider vtable is used. REPL calls through interface, unaware of provider.

Testing: Inject mock provider that returns canned responses.

Future: Tool execution strategies, different database backends.

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-01-26
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!