ワンクリックで
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