Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add lensesio/agentic-engineering-for-apache-kafka --skill kafka-shadowtrafficgit clone --depth 1 https://github.com/lensesio/agentic-engineering-for-apache-kafkaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/lensesio/agentic-engineering-for-apache-kafka/kafka-shadowtraffic)<a href="https://agentmods.dev/skills/lensesio/agentic-engineering-for-apache-kafka/kafka-shadowtraffic"><img src="https://agentmods.dev/badge/skills/lensesio/agentic-engineering-for-apache-kafka/kafka-shadowtraffic/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/lensesio/agentic-engineering-for-apache-kafka/kafka-shadowtraffic"><img src="https://agentmods.dev/badge/skills/lensesio/agentic-engineering-for-apache-kafka/kafka-shadowtraffic.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 8 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 241 Potential security issue detected. Manual review is recommended.Fix: Review the flagged content for security risks. Ensure no credentials, secrets, or sensitive data are exposed.
- high Privilege Escalation · line 354 Potential security issue detected. Manual review is recommended.Fix: Review the flagged content for security risks. Ensure no credentials, secrets, or sensitive data are exposed.
- medium MCP Rug Pull · line 37 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium MCP Rug Pull · line 226 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium MCP Rug Pull · line 200 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium MCP Rug Pull · line 209 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium MCP Rug Pull · line 241 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium MCP Rug Pull · line 354 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00134 | $0.04648 |
| Opus 5 | $0.00067 | $0.02324 |
| Sonnet 5 | $0.00027 | $0.00930 |
| Haiku 4.5 | $0.00013 | $0.00465 |
Grade A, and why
kafka-shadowtraffic scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 376 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Kafka ShadowTraffic Setup
Generates a ShadowTraffic configuration that populates a Kafka topic with realistic synthetic data. The agent discovers everything — topic name, bootstrap servers, Schema Registry URL, key and value schemas and their serialization format — from the live cluster via whichever Kafka MCP server is attached. It then maps each schema field to the most semantically appropriate ShadowTraffic _gen function and writes a ready-to-run config alongside an exact Docker command.
Target topic and environment: $ARGUMENTS
Open your first reply with: "Running the kafka-shadowtraffic skill to set up synthetic data generation."
Workflow
Copy this checklist and track your progress:
ShadowTraffic Setup Progress:
- [ ] Step 1: Discover topic, schemas, and cluster details via the attached Kafka MCP
- [ ] Step 2: Hard gate - confirm with user before generating
- [ ] Step 3: Build the ShadowTraffic config
- [ ] Step 4: Write output files
- [ ] Step 5: Lint the config with ShadowTraffic's linter
- [ ] Step 6: Hand back with Docker run command
Step 1: Discover topic + schemas via any attached Kafka MCP
Read references/serializer-guide.md for the full list of serializer classes per format. The high-level discovery shape:
-
Identify the attached Kafka MCP server by looking at what's available in the session. Common ones:
mcp__Lenses__*(Lenses MCP — reference implementation),mcp__Confluent__*,mcp__Aiven__*, custom servers tagged for Kafka. -
Discover the environment / cluster using whichever tool the MCP exposes (Lenses:
list_environments; Confluent:list_clusters; others vary). -
Search for candidate topics by keyword from the user's prompt:
- Lenses:
list_datasets(search=<keyword>)orlist_topics - Confluent:
list_topicsthen filter - If multiple topics match, present them to the user with partition counts — don't guess.
- Lenses:
-
Fetch the key and value schemas for the chosen topic:
- Lenses:
get_datasetorget_topic_metadata— returns schema format (AVRO, JSON, PROTOBUF, NONE) and schema body for both key and value subjects - Confluent:
get_schema(subject=<topic>-value)andget_schema(subject=<topic>-key) - Bare Schema Registry MCPs: HTTP GET
/subjects/<topic>-value/versions/latestand/subjects/<topic>-key/versions/latest - Note both the format and the schema body — you need both to select the serializer and build generators.
- Lenses:
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 376 lines · 134 tokens per session scan A 0128b6ff58df
kafka-shadowtraffic is a skill published in the GitHub repository lensesio/agentic-engineering-for-apache-kafka (57 stars, last pushed 22d ago), licensed MIT. It adds 134 tokens to every session and 4,648 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
apache-beam-unified-batch-and-stream
Guides agents through Apache Beam pipelines that unify batch and streaming logic. Use when designing Beam transforms, windowing, runners, replay behavior, or portability across execution backends.
enterprise-etl-and-data-integration-modernization
Guides agents through operating, hardening, and modernizing enterprise ETL and integration stacks such as Informatica, Talend, DataStage, SSIS, and Matillion. Use when legacy mappings, job orchestration, migration, or coexistence with modern lakehouse patterns must be handled safely.
streaming-and-messaging-systems
Guides agents through event streaming and real-time data pipeline design. Use when working with Kafka, Kinesis, Flink, stream processing, windowing, stateful consumers, or near-real-time publish flows.
api-and-saas-ingestion-patterns
Guides agents through API and SaaS ingestion workflows. Use when extracting data from REST, GraphQL, or SaaS platforms with pagination, rate limits, auth rotation, backfills, or unstable source contracts.
source-reliability-and-extraction-resilience
Guides agents through source reliability and extraction resilience. Use when upstream systems are flaky, slow, rate-limited, late, or operationally unreliable and ingestion behavior must remain safe and observable.
claude-api
Build, debug, and optimize Claude API / Anthropic SDK apps. Apps built with this skill should include prompt caching. Also handles migrating existing Claude API code between Claude model versions (4.5 → 4.6, 4.6 → 4.7, retired-model replacements). TRIGGER when: code imports anthropic/@anthropic-ai/sdk; user asks for…