بنقرة واحدة
outbox-pattern
Transactional outbox pattern for reliable at-least-once messaging in Clean Architecture.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Transactional outbox pattern for reliable at-least-once messaging in Clean Architecture.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Run the canonical build plus all nine per-project test commands from docs/TESTING.md. Never uses solution-level dotnet test.
Create or re-baseline lean, repository-grounded implementation plans and persistent dev docs when users ask for an implementation plan, technical plan, feature plan, refactor plan, or dev-docs workstream.
Senior CTO review workflow for repository-grounded implementation-plan workstreams used before coding.
Apply project EF Core conventions for repositories, DbContext setup, query filters, migrations, and seeded lookup data.
Create a self-contained HTML artifact focused on a high-quality SVG architecture or system diagram with minimal supporting prose.
Create a pragmatic self-contained HTML plan that organizes the user's plan content visually without expanding the scope unnecessarily.
| name | outbox-pattern |
| description | Transactional outbox pattern for reliable at-least-once messaging in Clean Architecture. |
| type | domain |
| enforcement | enforce |
| priority | high |
ABOUTME: Transactional outbox pattern skill for reliable at-least-once event delivery. ABOUTME: Covers OutboxMessage entity, OutboxProcessor, retry/dead-letter, and specialized variants.
outbox, outbox message, outbox processor, at-least-once, dead letter, event dispatch, transactional messaging, retry, background service
**/OutboxMessage*.cs**/OutboxProcessor*.cs**/IOutboxRepository.cs**/IOutboxMessageDispatcher.cs**/PolicyChangeOutbox*.cs**/PdsSyncOutbox*.csGuid in C#, uuidv7() in PostgreSQL) — not auto-increment.TryMarkAsProcessing uses optimistic concurrency — returns bool, no exceptions on contention.InitialRetryDelaySeconds × 2^retryCount, capped at MaxRetryDelaySeconds.MaxRetries exhausted, status transitions to DeadLettered — messages stay in DB indefinitely for monitoring.LoggingOutboxMessageDispatcher is the default no-op — real dispatchers must be registered to replace it.OutboxMessage, PolicyChangeOutbox (settings), PdsSyncOutbox (AT Protocol federation). Each has its own entity and repository.PeriodicTimer — not event-driven. Default interval: 5 seconds.Load this skill when:
resources/entity-model.md — OutboxMessage fields, status lifecycle, EF configurationresources/processor-configuration.md — OutboxProcessor settings, retry strategy, dead-letterresources/dispatcher-patterns.md — IOutboxMessageDispatcher, specialized variantsresources/database-schema.md — Indexes, queries, database conventionsdocs/OUTBOX_PATTERN.mddocs/ARCHITECTURE.md (Background Services section).agents/skills/dotnet-efcore-guidelines/SKILL.md.agents/skills/clean-architecture-rules/SKILL.md