Deploying Kafka K8s
aiskillstore/marketplace
Deploys Apache Kafka on Kubernetes using the Strimzi operator with KRaft mode.
Step-by-step guide for adding a new queue transport to Agent Kernel's execution pipeline.
$ npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yaalalabs/agent-kernel ak-dev-new-queue-transport --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ak-dev-new-queue-transport .claude/skills/ak-dev-new-queue-transport && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ak-dev-new-queue-transport" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/.agents/skills/ak-dev-new-queue-transport into .claude/skills/ak-dev-new-queue-transport/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-dev-new-queue-transport", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yaalalabs/agent-kernel/tree/develop/.agents/skills/ak-dev-new-queue-transportType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yaalalabs/agent-kernel ak-dev-new-queue-transport --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ak-dev-new-queue-transport .agents/skills/ak-dev-new-queue-transport && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ak-dev-new-queue-transport" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/.agents/skills/ak-dev-new-queue-transport into .agents/skills/ak-dev-new-queue-transport/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-dev-new-queue-transport", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yaalalabs/agent-kernel ak-dev-new-queue-transport --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ak-dev-new-queue-transport .cursor/skills/ak-dev-new-queue-transport && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ak-dev-new-queue-transport" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/.agents/skills/ak-dev-new-queue-transport into .cursor/skills/ak-dev-new-queue-transport/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-dev-new-queue-transport", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yaalalabs/agent-kernel.git --path .agents/skills/ak-dev-new-queue-transport--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yaalalabs/agent-kernel ak-dev-new-queue-transport --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ak-dev-new-queue-transport .gemini/skills/ak-dev-new-queue-transport && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ak-dev-new-queue-transport" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/.agents/skills/ak-dev-new-queue-transport into .gemini/skills/ak-dev-new-queue-transport/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-dev-new-queue-transport", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yaalalabs/agent-kernel ak-dev-new-queue-transportInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ak-dev-new-queue-transport .github/skills/ak-dev-new-queue-transport && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ak-dev-new-queue-transport" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/.agents/skills/ak-dev-new-queue-transport into .github/skills/ak-dev-new-queue-transport/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-dev-new-queue-transport", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yaalalabs/agent-kernel ak-dev-new-queue-transport --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yaalalabs/agent-kernel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ak-dev-new-queue-transport .opencode/skills/ak-dev-new-queue-transport && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ak-dev-new-queue-transport" agent skill from https://github.com/yaalalabs/agent-kernel/tree/develop/.agents/skills/ak-dev-new-queue-transport into .opencode/skills/ak-dev-new-queue-transport/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ak-dev-new-queue-transport", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ak-dev-new-queue-transportStep-by-step guide for adding a new queue transport to Agent Kernel's execution pipeline.
Ak Dev New Queue Transport is an agent skill from yaalalabs/agent-kernel. Step-by-step guide for adding a new queue transport to Agent Kernel's execution pipeline. Use this skill when you need to integrate a new message broker (beyond inmemory, SQS, Kafka, and NATS JetStream) behind the QueueTransport/TransportConsumer interface. Covers the queue-semantics contract every transport must reproduce, factory registration, configuration and extras, the QueueTransportContract test suite (fake and live-broker runs), the transport example, and Helm chart wiring.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Event-driven systems, Container orchestration and Test generation. It works with Apache Kafka and Helm. The repository describes itself as: The Operating System for Scalable Enterprise AI Agents - Run, orchestrate, and deploy Compliant Enterprise AI Agents at scale across frameworks, without lock-in, rewrites or… The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 97fa8d9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvmakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ak Dev New Queue Transport loads about 2.7k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 1,255 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from yaalalabs/agent-kernel at commit 97fa8d9, republished under its Apache-2.0 licence (© yaalalabs). 1,255 words, ~2,721 tokens.
.claude/skills/ak-dev-new-queue-transport/SKILL.md (or your agent's skills folder).This guide walks through adding a new queue transport to the pipeline
(ak-py/src/agentkernel/pipeline/). Use the shipped implementations as references, in
increasing order of complexity:
transport/in_memory.py: the semantics in their purest form, no brokertransport/sqs.py: a broker with native FIFO groups, visibility timeout, and deduptransport/nats.py: a broker where per-session ordering is built client-side (partitioned
subjects, one durable consumer per partition, max_ack_pending=1)transport/kafka.py + transport/bookkeeping.py: a broker with no per-message
acknowledgement model, so receive counts and dedup are rebuilt on a bookkeeping storeRead .agents/skills/ak-dev-architecture (the pipeline section) first if you have not.
Every transport must reproduce the SQS FIFO semantics the pipeline was extracted from
(docs/specs/495-onprem-kubernetes/research/current-queue-mode.md):
group_id is the session id; a
session's turns never run concurrently or out of order, while distinct sessions run in
parallel.receive_count: the ConsumerLoop
compares it to max_receive_count to fire the permanent-failure hook, so it must be exact,
not approximate.dedup_id within a window (SQS parity: 5 minutes).QueueMessage.attributes (request id, user id, status code)
must survive the trip byte-identically.batch_size rather than blocking
past the wait.Where the broker genuinely cannot provide a guarantee, the contract suite has an explicit,
documented opt-out (see timeout_redelivery in pipeline/testing.py, which Kafka sets to
False because its consumer model has no visibility timeout). Never fake a guarantee; declare
its absence and justify it in the subclass.
Create ak-py/src/agentkernel/pipeline/transport/<name>.py implementing both ABCs from
transport/base.py:
QueueTransport: send(queue, message) (map QueueMessage onto the broker's record:
body, attributes as headers/metadata, group_id as the ordering key, dedup_id as the
dedup token), create_consumer(queue), and optionally check_consumer_capacity(queue, n)
(startup warning when consumer threads exceed what the broker can serve in parallel).TransportConsumer: fetch(batch_size, wait_seconds), ack, nack, dead_letter,
close(). One consumer instance is created per consumer thread (Kafka needs one client
object per thread; the design assumes it everywhere), so instance state needs no locking,
but anything class-level does.Rules learned from the shipped transports:
_NatsLoop in nats.py is the maintainer-recommended pattern; do not spawn a loop per
thread).receive_count must be exact. Prefer the broker's own counter (num_delivered,
ApproximateReceiveCount); if none exists, count attempts in a BookkeepingStore
(transport/bookkeeping.py), keyed so a crash-looping poison message cannot reset itself.fetch_wait_slice_seconds semantics: ConsumerLoop slices waits to stay responsive
to shutdown, so a fetch must tolerate short waits without spinning.close() must actually release broker resources (consumer-group membership, subscriptions,
background threads). A leaked consumer keeps CI jobs alive after the tests pass.reset() classmethod for test isolation (see InMemoryTransport.reset,
NatsTransport.reset).auto_provision
flag, but production fails fast with an AKConfigError naming the missing object and the
declarative alternative (NACK CRs, Strimzi topics). Agent Kernel never silently creates
production infrastructure.In ak-py/src/agentkernel/core/config.py:
_<Name>QueueConfig model with the broker's connection and tuning fields (mirror
_NatsQueueConfig; every field needs a real description, since they become user docs)._QueuesConfig and the type name to its type description.input/output blocks backend-neutral: max_receive_count, no_of_consumers, and
batch_size are shared knobs, never per-backend.If the client library is heavy or compiled, add an extra in ak-py/pyproject.toml
([project.optional-dependencies]) named after the transport.
QueueTransportFactory.create() in transport/base.py is an explicit chain: add the branch
for your type, guarded by require_extra("<name>", "execution.queues.type: <name>") with the
import inside, and add the name to _BUILTIN_TYPES. Fail with AKConfigError when the config
block is missing. Anything not in _BUILTIN_TYPES resolves as a dotted path (BYO), so a
transport can also live out of tree; built-in status is for transports we test and document.
The factory has a second consumer (#503): the sandbox queue broker passes its own
_QueuesConfig-shaped sandbox.broker.queue block through the optional queues_config
parameter on resolve_type/create/create_consumer, so a new transport gets sandbox-broker
support for free. Read the block handed to you, never AKConfig (the no-argument path keeps
reading execution.queues and must stay byte-for-byte unchanged;
tests/test_pipeline_factory_seams.py enforces both properties).
Three layers, all required:
ak-py/tests/test_pipeline_<name>_transport.py):
envelope/header mapping, orderings, error paths, provisioning create-vs-verify, against a
fake broker. Build the fake behind the real client's interface so the transport code is
exercised unmodified (see the fake JetStream behind the real _NatsLoop, and the fake
in-memory Kafka cluster).QueueTransportContract
(pipeline/testing.py) against the fake, implementing make_transport(). Tune
ack_wait/fetch_wait/force_redelivery per backend; document every capability opt-out.ak-py/tests/test_transport_contract_live.py): add an
env-gated subclass pointing at a real broker (AK_TEST_<NAME>_... env var, skipped when
unset) with per-test unique queues/streams/topics for isolation. The
transport-integration-tests job in .github/workflows/test-reusable.yaml starts the
brokers from the transport examples' compose files and runs this file on every PR: add
your broker's compose service there.Timing traps that only live brokers catch (both found on real servers, invisible on fakes):
fetch_wait / partitions) must stay below the visibility timeout, or the server
redelivers an in-flight message into the still-open request and one fetch returns it twice.s0/s1/s2) must land on distinct partitions under the
broker's real partitioner. Partitioners are deterministic: compute the mapping (crc32 for
the client-side scheme, murmur2 for Kafka) and choose the partition count accordingly
instead of hoping.Add examples/transport/<name>/: a two-process app (IOHandler.run() / AgentRunner.run()
behind one app.py), a config.yaml with commented tuning values, a docker compose stack
with a healthcheck (the CI job relies on up -d --wait <service>), a <name>_tester.py
harness (bring the stack up, provision what Agent Kernel deliberately does not, inspect
queues), and an app_test.py covering rest_sync, a multi-turn session, and the
retry-to-permanent-failure path. Register it in .github/test-config.yaml under the
containerized e2e tests.
ak-deployment/ak-k8s/chart/): a transport.<name> values block, its
AK_EXECUTION__QUEUES__<NAME>__* env injection in configmap-env.yaml, a KEDA trigger in
scaledobject.yaml if a scaler exists, and declarative provisioning CRs if the broker has
an operator.<name>" section in
docs/docs/advanced/queue-mode-guide.md; the transports list in
docs/docs/deployment/onprem-kubernetes.md if the transport is k8s-relevant; the transport
roll call on the docs-site features page (docs/src/pages/features.tsx: the "Queue broker
over SQS, Kafka, or NATS" highlight on the Sandboxed Code Execution card, and any other
"SQS, Kafka, or NATS" mention found by grepping docs/src/pages/*.tsx).docs/src/components/*/data.tsx): a tile in the Cloud &
infrastructure row of IntegrationsMarquee/data.tsx (role Queue, href to the queue mode
guide, logo or react-icons/si glyph), and the transport in the Queue Pipeline card's
tags and description under the Scale tab in FeatureExplorer/data.tsx. Logo sourcing and
the build check are in ak-dev-sync-docs-from-branch, Docs-Site Landing and Features Pages..agents/skills/ak-dev-architecture/SKILL.md, and the
user-facing queue/deploy content in ak-py/src/agentkernel/skills/ where transports are
enumerated.cd ak-py && uv run pytest: green, including your contract subclass against the fake.make lint-check-all: green.app_test.py passes against a live agent).© yaalalabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/ak-dev-new-queue-transport of yaalalabs/agent-kernel.
Open the folder on GitHubat commit 97fa8d9
Ak Dev New Queue Transport next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ak Dev New Queue Transport this skillyaalalabs/agent-kernel | 192 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Deploying Kafka K8saiskillstore/marketplace | 430 | — | ~1.8k | Automated safety check: Pass | None | |
| Opensourcefaqdigoal/blog | 8.6k | — | ~966 | Automated safety check: Pass | GPL-2.0 | |
| Windmill Trigger Type Checklistwindmill-labs/windmill | 18k | — | ~4.7k | Automated safety check: Pass | Custom licence | |
| FoundatioFoundatioFx/Foundatio | 2.1k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Opensource Guide Coachcalf-ai/calfkit-sdk | 149 | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 |
aiskillstore/marketplace
Deploys Apache Kafka on Kubernetes using the Strimzi operator with KRaft mode.
digoal/blog
解答与开源产品有关的深度技术问题,输出图文并茂的 Markdown 技术文章。触发条件:用户提出与开源项目(如 PostgreSQL、Redis、Kafka、Kubernetes、ClickHouse、Flink 等)相关的技术问题,并提供源码目录或 URL、deepwiki repo 名称。即使用户只说"帮我解答这个开源问题"或"分析一下这个项目的某个机制",也应使用本…
windmill-labs/windmill
Checklist of every backend, frontend, CLI and capture change needed to add a new TriggerCrud-based trigger type, such as Azure, GCP or Kafka, to Windmill.
FoundatioFx/Foundatio
A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.
calf-ai/calfkit-sdk
A skill your agent uses when a user wants guidance on starting, contributing to, growing, governing, funding, securing, or sustaining an open source project, or asks about contributor onboarding…
axelixlabs/axelix
Review configuration property changes in the Axelix project for breaking changes and migration-policy compliance.
yaalalabs/agent-kernel
Code quality standards, formatting, Python style rules (classes over script-style functions, configuration-field rules), commit conventions, and PR workflow for Agent Kernel development.
yaalalabs/agent-kernel
Step-by-step guide for adding a new built-in test evaluator provider to Agent Kernel (beyond DeepEval, Opik and JEV).
yaalalabs/agent-kernel
Step-by-step guide for adding a new guardrail provider to Agent Kernel.
yaalalabs/agent-kernel
Step-by-step guide for adding a new knowledge base backend to Agent Kernel.
yaalalabs/agent-kernel
Step-by-step guide for adding a new messaging platform integration to Agent Kernel.
yaalalabs/agent-kernel
Step-by-step guide for adding a new multimodal attachment storage backend to Agent Kernel.
Works with
Categories
Step-by-step guide for adding a new queue transport to Agent Kernel's execution pipeline. Ak Dev New Queue Transport is an agent skill from yaalalabs/agent-kernel. Step-by-step guide for adding a new queue transport to Agent Kernel's execution pipeline.
Ak Dev New Queue Transport fits situations like: you need to integrate a new message broker (beyond inmemory; NATS JetStream) behind the QueueTransport/TransportConsumer interface.
Run `npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a claude-code`. Or copy the skill folder (.agents/skills/ak-dev-new-queue-transport in yaalalabs/agent-kernel) into .claude/skills/ak-dev-new-queue-transport in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a codex`. Or copy the skill folder (.agents/skills/ak-dev-new-queue-transport in yaalalabs/agent-kernel) into .agents/skills/ak-dev-new-queue-transport in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yaalalabs/agent-kernel --skill ak-dev-new-queue-transport -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ak-dev-new-queue-transport, .gemini/skills/ak-dev-new-queue-transport, .github/skills/ak-dev-new-queue-transport and .opencode/skills/ak-dev-new-queue-transport in your project.
Going by SKILL.md and its folder, Ak Dev New Queue Transport needs the command-line tools its instructions call (uv and make). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ak Dev New Queue Transport is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ak Dev New Queue Transport: Deploying Kafka K8s (aiskillstore/marketplace, 430 stars), Opensourcefaq (digoal/blog, 8.6k stars), Windmill Trigger Type Checklist (windmill-labs/windmill, 18k stars) and Foundatio (FoundatioFx/Foundatio, 2.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yaalalabs (a GitHub organization) maintains it in yaalalabs/agent-kernel, which has 192 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 9, 2026.
Source: yaalalabs/agent-kernel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.