"Create a complete new event subscriber end-to-end in a single guided workflow: event DTO contract (if new), subscriber handler, optional application service and repository, and integration tests. USE FOR: adding a brand-new subscriber to an existing CoreEx Subscribe host for event-data-sync replication or event-driven business-process choreography. DO NOT USE FOR: command handling (use coreex-command-subscribe-e2e), sending a command (use coreex-command-publish-e2e), modifying an existing subscriber (use coreex-subscriber directly), API endpoint work (use coreex-api-e2e), or setting up the Subscribe host itself (use coreex-scaffold)."
Resources
1Install
npx skillscat add avanade/coreex/coreex-subscriber-e2e Install via the SkillsCat registry.
CoreEx: Add Subscriber (End-to-End)
Guides you through adding a complete new event or command subscriber in one sitting: gathers all context upfront, identifies the right scenario path, then invokes the appropriate L1 skills in sequence so you are never asked the same question twice.
When to Use
- Adding a brand-new subscriber to an existing CoreEx Subscribe host
- You know the event or command subject and want the full slice — contract, handler, optional orchestration, and tests — in one workflow
- Covers the event-data-sync and business-process scenarios; for a command (queue-based, needs a dedicated receiver in the Subscribe host) prefer `coreex-command-subscribe-e2e`, which also covers topology and Aspire
When Not to Use
- Modifying an existing subscriber handler — invoke
coreex-subscriberdirectly - Setting up the Subscribe host itself (it does not yet exist) — use
coreex-scaffold - Building an API endpoint — use
coreex-api-e2e
Workflow Overview
- Read Feature Configuration — resolve
messaging-provider,outbox-enabled,data-provider(SqlServer/Postgres/Cosmos/None), androp-enabledfrom the solution-rootAGENTS.mdbefore asking anything. - Interview — identify the subject, scenario, DTO needs, and whether state persistence is required; batch all questions into one turn.
- Execute L1 sequence — invoke each applicable L1 skill in order, passing context resolved in steps 1–2; no repeated questions.
- Validate —
dotnet build; confirm the subscriber is registered and integration tests are present.
For full step-by-step guidance see `references/workflow.md`.
L1 Sequence
| Step | Skill | Condition |
|---|---|---|
| 1 | `coreex-contract` | Only if a new event/command DTO type is needed |
| 2 | `coreex-db-migration` | Only for business-process scenario when a new local entity table is needed (data-provider ≠ None) |
| 3 | `coreex-repository` | Only when Step 2 runs |
| 4 | `coreex-app-service` | Only for command and business-process scenarios that need orchestration beyond a direct adapter/sync call |
| 5 | `coreex-subscriber` | Always |
| 6 | `coreex-test-subscribe` | Always |
Scenario Paths at a Glance
| Scenario | Steps that run |
|---|---|
| Command handler — inbound command triggers an app-service action | 1 (if new DTO) → 4 → 5 → 6 |
Event-data-sync — inbound event replicates data into a local store via IXxxSyncAdapter |
1 (if new DTO) → 5 → 6 |
| Business-process choreography — inbound event triggers a multi-step business process | 1 (if new DTO) → 2 + 3 (if new entity) → 4 → 5 → 6 |
Key References
- `/.github/instructions/coreex-event-subscribers.instructions.md` — subscriber conventions, ValueValidator, ErrorHandler, subject naming
- `/.github/instructions/coreex-application-services.instructions.md` — app-service orchestration and Result<T> pipeline
- `/.github/instructions/coreex-tests.instructions.md` — subscriber integration test conventions
- `/.github/instructions/coreex-host-setup.instructions.md` — Subscribe host DI registration