| name | pr-review-gate |
| description | Use when reviewing pull requests, pre-merge checks, release readiness, or when the user asks for a review of changes in Lynkly Resolver. |
PR Review Gate
Purpose
Run a consistent, high-signal review workflow for Lynkly Resolver changes with emphasis on:
- Architecture boundaries
- Correctness and regressions
- Retry, idempotency, and DLQ safety
- Test completeness and coverage policy
- Operational readiness and observability
Use This Skill When
- User asks for a review.
- User asks if a change is ready to merge.
- User asks for release readiness or production-readiness check.
- A change touches critical flows (redirect path, persistence, messaging, worker processing).
Review Workflow
- Identify changed files and map each file to its layer.
- Validate architecture direction:
- API -> Application -> Domain
- Infrastructure depends on abstractions, not business logic leakage.
- Check behavior risks first:
- Bugs, regressions, race conditions, null/edge cases, backward compatibility.
- If messaging changed, verify:
- Outbox use
- Bounded retries with backoff
- Idempotent consumers
- DLQ routing and replay safety
- If persistence changed, verify:
- EF mappings/migrations
- query performance and data consistency impact
- If API changed, verify:
- status codes, contracts, validation, versioned routes
- Evaluate tests:
- unit + integration relevance
- failure path coverage
- repository coverage floor remains >= 80%
- Report findings ordered by severity with specific file references.
Output Format
Produce findings first, then brief summary:
- Critical findings
- High findings
- Medium findings
- Low findings
- Open questions/assumptions
- Short merge readiness summary
If no findings exist, explicitly say no blocking findings were discovered and call out any residual risk/testing gaps.
Lynkly-Specific Guardrails
- Do not accept business logic in endpoint handlers or infrastructure adapters.
- Redirect path must remain non-blocking and low-latency.
- Messaging must remain broker-portable (RabbitMQ now, Kafka-compatible design).
- Shared.Kernel additions must remain generic and NuGet-ready.
- Do not recommend paid dependencies unless explicitly requested.