Borrowing it
Nothing to install: this file belongs to yaalalabs/agent-kernel. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/yaalalabs/agent-kernel/develop/.agents/skills/ak-dev-new-messaging-integration/SKILL.mdgit clone --depth 1 https://github.com/yaalalabs/agent-kernelWrote 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/yaalalabs/agent-kernel/ak-dev-new-messaging-integration)<a href="https://agentmods.dev/skills/yaalalabs/agent-kernel/ak-dev-new-messaging-integration"><img src="https://agentmods.dev/badge/skills/yaalalabs/agent-kernel/ak-dev-new-messaging-integration/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/yaalalabs/agent-kernel/ak-dev-new-messaging-integration"><img src="https://agentmods.dev/badge/skills/yaalalabs/agent-kernel/ak-dev-new-messaging-integration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00080 | $0.04305 |
| Opus 5.5 | $0.00032 | $0.01722 |
| Sonnet 5.5 | $0.00016 | $0.00861 |
| Haiku 4.5 | $0.00008 | $0.00430 |
Grade A, and why
ak-dev-new-messaging-integration 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 today.
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 — 334 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Adding a New Messaging Integration
This guide walks through adding a new messaging platform integration to Agent Kernel. Use the WhatsApp adapter (ak-py/src/agentkernel/integration/whatsapp/adapter.py) as the canonical webhook reference, and Gmail (integration/gmail/adapter.py) as the polling one.
Architecture Overview
A platform integration is two pure translation functions with a queue between them (spec #524):
- An
InboundAdapterturns one platform delivery into normalizedInboundRequestenvelopes: it verifies the delivery, extracts the text, downloads and stores attachments, and resolvessession_idandrequest_idat the edge. It never runs the agent. - The pipeline carries the request:
IntegrationProducerenqueues it,AgentRunnerexecutes it platform-agnostically, and the reply travels back on the output queue with theintegrationattribute and thereply_-prefixed reply context. - An
OutboundAdapterturns the agent's reply back into platform API calls, using nothing but the flatreply_contextthe inbound half resolved.
This is why the webhook answers in milliseconds: a slow agent run can no longer hold the turn open past the platform's delivery timeout and cause a redelivery.
Hosting depends on how the platform delivers events:
| Source | Host | Entry point |
|---|---|---|
Source.WEBHOOK (pushed) |
WebhookRESTRequestHandler |
IOHandler.run(handlers=[WebhookRESTRequestHandler(MyInboundAdapter())]) |
Source.WEBHOOK on AWS Lambda |
WebhookRESTRequestHandler via LambdaWebhookHost |
host = LambdaWebhookHost(WebhookRESTRequestHandler(MyInboundAdapter())) at module scope in the request-handler Lambda, with Lambda.register(<webhook_path>, method="POST")(host.handle) (and GET → host.challenge when the adapter declares a challenge_path) (rest_sync/rest_async, sqs), with the route in gateway_endpoints and APIGatewayAuthorizer(bypass=WebhookRouteMatcher(...)) behind an authorizer |
Source.POLLER (pulled) |
PollerRunner |
IOHandler.run(pollers=[PollerRunner(MyInboundAdapter())]) on in_memory, PollerRunner.run(adapter) as its own container on a broker |
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.
- today Changed 4b4d2fb842ab
- 29d ago Changed · +15 lines 9f9fc197185a
- 1mo ago Changed · +3 lines 269e151cfea3
- 1mo ago Changed · +1 lines · +6 tokens per session 0100409aaffb
- 1mo ago Changed · +3 lines adf362ac7cff
- 2mo ago First seen · 312 lines · 74 tokens per session scan A 0cb3dadbbff7
ak-dev-new-messaging-integration is a skill published in the GitHub repository yaalalabs/agent-kernel (192 stars, last pushed yesterday), licensed Apache-2.0. It adds 80 tokens to every session and 4,305 once invoked, about $0.0003 per session on Opus 5.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.
ak-dev-new-messaging-integration compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| ak-dev-new-messaging-integrationyaalalabs/agent-kernel | Skill | 192 | yesterday | Apache-2.0 | A | 80 | Claude Code, Codex |
| notionArvo-AI/aurora | Skill | 454 | yesterday | Apache-2.0 | A | 23 | Claude Code |
| datadogArvo-AI/aurora | Skill | 454 | yesterday | Apache-2.0 | A | 28 | Claude Code |
| postmortemArvo-AI/aurora | Skill | 454 | yesterday | Apache-2.0 | A | 23 | Claude Code, Codex |
| corootArvo-AI/aurora | Skill | 454 | yesterday | Apache-2.0 | A | 35 | Claude Code |
| githubArvo-AI/aurora | Skill | 454 | yesterday | Apache-2.0 | A | 24 | Claude Code |
| slackArvo-AI/aurora | Skill | 454 | yesterday | Apache-2.0 | A | 13 | Claude Code, Codex |