kafka-dlq-review — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited kafka-dlq-review (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reviews dead letter queue implementations for completeness and best practices. DLQs are a cross-cutting concern that every Kafka consumer eventually needs. Most teams implement them as an afterthought and forget to monitor them.
Target environment: $ARGUMENTS
Copy this checklist and track your progress:
DLQ Review Progress:
- [ ] Step 1: Discover DLQ topics
- [ ] Step 2: Check DLQ topic configuration
- [ ] Step 3: Verify DLQ monitoring
- [ ] Step 4: Sample DLQ messages
- [ ] Step 5: Audit connector DLQ configs
- [ ] Step 6: Scan codebase for error handling
- [ ] Step 7: Generate report with maturity assessmentUse the Lenses MCP list_topics tool and filter for DLQ topics by naming convention:
*.dlq*.dead-letter*.error*.errors*.retry*-dlq*-dead-letterAlso check connector configurations for DLQ topic names using list_kafka_connectors.
Expected output: List of DLQ topics discovered by naming convention and connector config.
Validation: If no DLQ topics are found, search the codebase for error topic configuration before concluding that DLQs are not implemented.
For each discovered DLQ topic, use get_topic to verify:
Use list_consumer_groups_by_topic for each DLQ topic to check:
Check DLQ message rates using get_dataset_message_metrics:
Use the Lenses MCP execute_sql tool to sample messages from DLQ topics:
SELECT * FROM `{dlq-topic}` LIMIT 10Check that DLQ messages include complete metadata:
Use list_kafka_connectors and get_kafka_connector_target_definition to check:
errors.tolerance=all but no errors.deadletterqueue.topic.name (silently drops messages)errors.tolerance=none and no DLQ (stops on any error, no recovery path)errors.deadletterqueue.context.headers.enable=true for richer error contexterrors.log.enable=true for error loggingSearch the codebase for error handling and DLQ patterns:
dlq, dead.letter, error.topic)retry, backoff, max_retries)poll, consume, process)Flag:
resend_message via Lenses or custom tooling)User says: "Audit all dead letter queues in production"
Actions:
Result: Comprehensive DLQ maturity report across all consumers and connectors
User says: "Messages are ending up in the DLQ, what's going wrong?"
Actions:
execute_sqlResult: Root cause analysis of DLQ message flow
User says: "Do all our consumers have DLQ handling?"
Actions:
Result: Coverage report showing DLQ maturity per consumer
Cause: DLQ topics may use non-standard naming or DLQs may not be implemented yet. Solution: Search the codebase for error topic configuration. Also check connector configs for DLQ topic names that may not follow common patterns.
Cause: The DLQ producer does not include headers or structured error information. Solution: Report this as a critical finding. DLQ messages without metadata are very difficult to investigate and reprocess.
Cause: DLQ messages may use a different serialisation format than expected. Solution: Try specifying the format in the query. Report the serialisation format issue and recommend consistent format usage.
## DLQ Review Report
### Environment: {name}
### DLQ Topics Discovered
| DLQ Topic | Source Topic | Retention | Partitions | Has Consumers | Message Rate |
|-----------|-------------|-----------|------------|--------------|-------------|
| topic.dlq | topic | 7d | 3 | Yes | 12/hr |
### Critical (must fix)
- [topic/connector/file] Description of the issue
Impact: {what could go wrong}
Remediation: {how to fix}
### Warning (should fix)
- [topic/connector/file] Description of the issue
Remediation: {how to fix}
### Suggestion (consider improving)
- [topic/connector/file] Description of the suggestion
Recommendation: {how to improve}
### DLQ Metadata Completeness
| DLQ Topic | Original Topic | Error Message | Partition/Offset | Timestamp | Stack Trace | Retry Count |
|-----------|---------------|--------------|-----------------|-----------|-------------|-------------|
| topic.dlq | ✅ | ✅ | ⚠️ | ⚠️ | ❌ | ❌ |
### Maturity Assessment
| Consumer/Connector | DLQ Status | Maturity |
|-------------------|-----------|---------|
| consumer-name | Configured with monitoring | Complete |
| connector-name | Configured without monitoring | Basic |
| other-consumer | No DLQ | None |
### Summary
- X DLQ topics found
- Y consumers/connectors without DLQ
- Z unmonitored DLQ topics
- Overall DLQ maturity: none/basic/complete~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.