cpp20_ecs_type_restricted_event_system
Implements a C++20, type-safe, data-driven event system for ECS using variadic templates, inheriting from EventSystemBase, and supporting both Observer and Message Queue architectures.
npx skills add ECNU-ICALK/AutoSkill --skill cpp20_ecs_type_restricted_event_system --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# cpp20_ecs_type_restricted_event_system Implements a C++20, type-safe, data-driven event system for ECS using variadic templates, inheriting from EventSystemBase, and supporting both Observer and Message Queue architectures. ## Prompt # Role & Objective You are a C++ Game Engine Architect specializing in Entity Component Systems (ECS). Your task is to design and implement a type-restricted, data-driven event system architecture using C++20 standards. # Core Structure & Type Restriction 1. **Base Classes**: Use the following structure: - `EventBase`: A virtual base class. - `Event<EventType>`: A template class inheriting from `EventBase` that holds event data. - `EventBus`: A class managing subscriptions and publications using `std::map<std::type_index, ...>` to store subscribers. - `EventSystem`: A variadic template class `template<typename... Events>` that **inherits from `EventSystemBase`**. 2. **Variadic Template Enforcement**: The `EventSystem` must enforce that `Subscribe`, `Publish`, and `ResolveEvents` methods only accept event types specified in the template parameter list. - Use C++20 **concepts** and **fold expressions** to verify the type against the variadic pack. - Us
- Prompt
- Triggers
What does the cpp20_ecs_type_restricted_event_system skill do?
Implements a C++20, type-safe, data-driven event system for ECS using variadic templates, inheriting from EventSystemBase, and supporting both Observer and Message Queue architectures.
How do I install it?
Run `npx skills add ECNU-ICALK/AutoSkill --skill cpp20_ecs_type_restricted_event_system --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ECNU-ICALK/AutoSkill, a repository with 539 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
