mavlink-integration

mavlink-integration is a skill for Claude Code from atretyak1985/swarmery. It costs 86 tokens per session (4,233 once invoked), scanned A, original, Apache-2.0.

A skill for implementing MAVLink communication in a Python drone edge service. MAVLink is a drone messaging protocol, and ArduPilot SITL is a simulator for testing flight software without a real aircraft.

In plain words
What is it for?
Use it to connect to drones or simulators, parse messages such as position and attitude, send heartbeats, build asynchronous readers and writers, and configure mock testing.
Why use it?
It provides guidance for connecting over serial, UDP, or TCP, reading telemetry, handling shutdowns, and testing without physical hardware.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths.

Part of the uav-pack plugin — 3 skills, 4 agents shipped together

Good fit Use it to connect to drones or simulators, parse messages such as position and attitude, send heartbeats, build asynchronous readers and writers, and configure mock testing.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/atretyak1985/swarmery/mavlink-integration
Install

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.

Any agent
npx skills add atretyak1985/swarmery --skill mavlink-integration
Clone the repo
git clone --depth 1 https://github.com/atretyak1985/swarmery

Made for: Claude Code.

Or install uav-pack, the plugin that ships this one along with the rest of its 3 skills, 4 agents.

Wrote 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.

agentmods badge for mavlink-integration

README.md
[![agentmods](https://agentmods.dev/badge/skills/atretyak1985/swarmery/mavlink-integration/github.svg)](https://agentmods.dev/skills/atretyak1985/swarmery/mavlink-integration)
Your own site
<a href="https://agentmods.dev/skills/atretyak1985/swarmery/mavlink-integration"><img src="https://agentmods.dev/badge/skills/atretyak1985/swarmery/mavlink-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.

agentmods 80×15 button for mavlink-integration

Your own site · 80×15
<a href="https://agentmods.dev/skills/atretyak1985/swarmery/mavlink-integration"><img src="https://agentmods.dev/badge/skills/atretyak1985/swarmery/mavlink-integration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 86 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,233 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00086 $0.04233
Opus 5 $0.00043 $0.02116
Sonnet 5 $0.00017 $0.00847
Haiku 4.5 $0.00009 $0.00423

Measured 9d ago against content hash b23e21142ad0, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

mavlink-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 9d 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.

plugins/uav-pack/skills/mavlink-integration/SKILL.md · 387 lines

How it starts

The opening of the file, as written. The whole thing — 387 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Purpose

Produce MAVLink protocol code for drone communication in the edge service (project.json → device; Python 3.11+ on Raspberry Pi 5). Covers pymavlink connection types (UART, UDP, TCP), message parsing for common telemetry messages, async I/O patterns with asyncio.to_thread, ArduPilot SITL simulation setup, and MOCK_MODE for CI testing without hardware. For the WebSocket bridge from the edge service to the web portal, defer to api-integration. For Helm deployment of edge service pods, defer to the project's deployment workflow.

Success criteria: generated code connects (or simulates connection in MOCK_MODE), sends GCS heartbeats at 1Hz, reads telemetry via recv_match, handles asyncio.CancelledError for graceful shutdown, and releases the connection on stop.

When to use

  • Connecting to a drone via pymavlink (UART serial, UDP simulator, TCP)
  • Parsing MAVLink telemetry messages (HEARTBEAT, GLOBAL_POSITION_INT, ATTITUDE, GPS_RAW_INT)
  • Implementing async MAVLink reader/writer patterns in the edge service
  • Setting up ArduPilot SITL for local development or CI testing
  • Configuring MOCK_MODE for testing without physical hardware

When NOT to use

  • Raw UART hardware driver code without MAVLink framing (use embedded-systems)
  • WebSocket streaming from the edge service to the web portal (use api-integration)
  • Deploying the edge service via Helm/k3s (use the project's deployment workflow)
  • Building Docker images for the edge service (use docker-build)
  • Debugging Kubernetes pod health for the edge service (use troubleshooting)

Required environment

  • Runtime: .claude/skills/mavlink-integration/SKILL.md
  • Language: Python 3.11+
  • Libraries: pymavlink, asyncio, serial (for serial.SerialException)
  • Repo: the edge service repo (project.json → device)
  • MAVLink dialect: ardupilotmega (superset of common)
  • Hardware: Raspberry Pi 5 with UART (/dev/ttyAMA0 default, configurable via MAVLINK_CONNECTION env var)
  • Simulator: ArduPilot SITL (UDP 127.0.0.1:14550)
  • CI testing: MOCK_MODE=true env var disables UART connection

Read the full file on GitHub · 387 lines

Changes

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.

  1. 9d ago First seen · 387 lines · 86 tokens per session scan A b23e21142ad0

Subscribe to this mod's changes

mavlink-integration is a skill published in the GitHub repository atretyak1985/swarmery (6 stars, last pushed 2d ago), licensed Apache-2.0. It adds 86 tokens to every session and 4,233 once invoked, about $0.0004 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-03.

Related

Other skills, from other repositories

web3-testing

Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols.

wshobson/agents · 46 tokens

temporal-python-testing

Test Temporal workflows with pytest, time-skipping, and mocking strategies. Covers unit testing, integration testing, replay testing, and local development setup. Use when implementing Temporal workflow tests or debugging test failures.

wshobson/agents · 45 tokens

data-quality-frameworks

Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.

wshobson/agents · 37 tokens

writing-tests

How to write a Kiro Crew backend test that has NO side effects and does not flake. Use when adding, editing, reviewing, or debugging a pytest test in the Kiro Crew source repo: which conftest is under your file, what leaks (temp dirs, the real data home, /.kiro, cron, threads, child processes), how to tell which of…

kirodotdev/KiroCrew · 123 tokens

adk-verify-snippets

Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail report with per-snippet coverage. Use when the user asks to verify, test, or validate the code samples in a README, a guide…

google/adk-python · 149 tokens

adk-setup

Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test run. Runs only when explicitly requested, never on its own. Use when asked to set up, bootstrap, or repair a development…

google/adk-python · 146 tokens