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 OutlineDriven/outline-driven-development --skill af-xdpgit clone --depth 1 https://github.com/OutlineDriven/outline-driven-developmentWrote 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/outlinedriven/outline-driven-development/af-xdp)<a href="https://agentmods.dev/skills/outlinedriven/outline-driven-development/af-xdp"><img src="https://agentmods.dev/badge/skills/outlinedriven/outline-driven-development/af-xdp/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/outlinedriven/outline-driven-development/af-xdp"><img src="https://agentmods.dev/badge/skills/outlinedriven/outline-driven-development/af-xdp.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.00045 | $0.02004 |
| Opus 5 | $0.00023 | $0.01002 |
| Sonnet 5 | $0.00009 | $0.00401 |
| Haiku 4.5 | $0.00005 | $0.00200 |
Grade A, and why
af-xdp 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 3d 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 — 150 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AF_XDP sockets
Contract
| Field | Bound contract |
|---|---|
| Trigger | Building a userspace packet path on AF_XDP: UMEM and ring setup, an XDP redirect program, the RX loop, copy versus zero-copy mode, or an AF_XDP versus DPDK decision. |
| Authority | Read-only. Writes nothing. Chat output only. No remote mutation. |
| Side effect | Returns setup code, ring lifecycle rules, and a mode recommendation. No source files are modified. |
| Done | The socket setup code, the fill-ring refill rule, the redirect program, and a mode choice tied to driver support are delivered. |
Inputs
- Interface and queue (required): the interface name and the RX queue the socket serves. One socket per queue.
- Mode intent (optional): copy or zero-copy. Default to copy and confirm from the bind.
- Build setup (optional): libbpf installed (
pkg-config --libs libbpfreturns-lbpf;-lxdpwhen libxdp is installed separately).
Procedure
-
Lay out the object model before writing code. UMEM is the shared frame pool. The fill ring carries empty frame addresses from user space to the kernel. The completion ring returns transmitted frames. The RX ring delivers received packets. The TX ring carries outgoing packets. Done when: each ring and the UMEM has a named struct in the design.
-
Create the UMEM and the socket.
#include <bpf/xsk.h> #define NUM_FRAMES 4096 #define FRAME_SIZE XSK_UMEM__DEFAULT_FRAME_SIZE #define RX_BATCH_SIZE 64 /* mmap one anonymous region; the UMEM describes it to the kernel */ void *buffer = mmap(NULL, NUM_FRAMES * FRAME_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); struct xsk_umem_config umem_cfg = { .fill_size = XSK_RING_PROD__DEFAULT_NUM_DESCS, .comp_size = XSK_RING_CONS__DEFAULT_NUM_DESCS, .frame_size = FRAME_SIZE, .frame_headroom = XSK_UMEM__DEFAULT_FRAME_HEADROOM, .flags = 0, }; int ret = xsk_umem__create(&umem->umem, buffer, NUM_FRAMES * FRAME_SIZE, &umem->fill, &umem->comp, &umem_cfg); struct xsk_socket_config xsk_cfg = { .rx_size = XSK_RING_CONS__DEFAULT_NUM_DESCS, .tx_size = XSK_RING_PROD__DEFAULT_NUM_DESCS, /* the skill loads its own program in step 4, so stop libbpf */ .libbpf_flags = XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD, .xdp_flags = XDP_FLAGS_UPDATE_IF_NOEXIST, .bind_flags = XDP_COPY, /* or XDP_ZEROCOPY, see step 6 */ }; ret = xsk_socket__create(&xsk->xsk, ifname, queue_id, umem->umem, &xsk->rx, &xsk->tx, &xsk_cfg);
What ships with it
1 file 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.
- 3d ago First seen · 150 lines · 45 tokens per session scan A acb17143cd3f
af-xdp is a skill published in the GitHub repository OutlineDriven/outline-driven-development (52 stars, last pushed 4d ago), licensed Apache-2.0. It adds 45 tokens to every session and 2,004 once invoked, about $0.0002 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-09-06.
Other skills, from other repositories
ruview-cli-api
Use the RuView wifi-densepose CLI binary (incl. MAT scan/status/zones/survivors/alerts/export subcommands), the REST API (wifi-densepose-api, Axum), and the browser/WASM build (wifi-densepose-wasm, wifi-densepose-wasm-edge). Use when integrating RuView into another program, scripting it from the shell, exposing it…
amazon-alexa
Integracao completa com Amazon Alexa para criar skills de voz inteligentes, transformar Alexa em assistente com Claude como cerebro (projeto Auri) e integrar com AWS ecosystem (Lambda, DynamoDB, Polly, Transcribe, Lex, Smart Home).
jetson-customize-pcie
Per-controller PCIe enable / disable / lanes / link-speed for a Jetson Thor or Orin custom carrier via ODMDATA + kernel-DT overlay. Do NOT use for UPHY lane allocation or endpoint-mode bring-up.
telnyx-networking-curl
Configure private networks, WireGuard VPN gateways, internet gateways, and virtual cross connects. This skill provides REST API (curl) examples.
mqtt-development
Best practices and guidelines for MQTT messaging in IoT and real-time communication systems.
ros2-web-integration
Patterns and best practices for integrating ROS2 systems with web technologies including REST APIs, WebSocket bridges, and browser-based robot interfaces. Use this skill when building web dashboards for robots, streaming camera feeds to browsers, exposing ROS2 services as REST endpoints, or implementing bidirectional…