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 wangyendt/wayne-skills --skill ahrs-toolsgit clone --depth 1 https://github.com/wangyendt/wayne-skillsWrote 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/wangyendt/wayne-skills/ahrs-tools)<a href="https://agentmods.dev/skills/wangyendt/wayne-skills/ahrs-tools"><img src="https://agentmods.dev/badge/skills/wangyendt/wayne-skills/ahrs-tools/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/wangyendt/wayne-skills/ahrs-tools"><img src="https://agentmods.dev/badge/skills/wangyendt/wayne-skills/ahrs-tools.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00051 | $0.00511 |
| Opus 5 | $0.00026 | $0.00255 |
| Sonnet 5 | $0.00010 | $0.00102 |
| Haiku 4.5 | $0.00005 | $0.00051 |
Grade A, and why
pywayne-ahrs-tools 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 11d 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.
What it actually says
Pywayne AHRS Tools
This module provides quaternion-based AHRS (Attitude and Heading Reference System) utilities.
Quick Start
from pywayne.ahrs.tools import quaternion_decompose, quaternion_roll_pitch_compensate
import numpy as np
# Quaternion decomposition
q = np.array([0.70710678, 0, 0, 0.707962]) # w, x, y, z
angle_all, angle_heading, angle_inclination = quaternion_decompose(q)
# Roll/pitch compensation
q_comp = quaternion_roll_pitch_compensate(q)
Quaternion Decomposition
from pywayne.ahrs.tools import quaternion_decompose
import numpy as np
# Input quaternion (w, x, y, z)
q = np.array([w, x, y, z])
# Decompose into angles
angle_all, angle_heading, angle_inclination = quaternion_decompose(q)
# angle_all: Rotation angles around all axes (vertical + horizontal)
# angle_heading: Angle around vertical axis (inclination)
# angle_inclination: Angle around horizontal axis (bank)
Roll/Pitch Compensation
from pywayne.ahrs.tools import quaternion_roll_pitch_compensate
import numpy as np
# Input quaternion (w, x, y, z)
q = np.array([0.989893, -0.099295, 0.024504, -0.098242])
# Compensate pitch and roll to zero
q_comp = quaternion_roll_pitch_compensate(q)
Requirements
numpy- Array operationsqmt- OpenCV's quaternion module for conversions
Notes
- Decomposition returns both angles (in radians) and heading/inclination
angle_allis computed using 2*arccos/abs(quaternion_z)angle_headingusesarctan2(np.abs(quaternion_xy))angle_inclinationuses2*arcsin(np.abs(quaternion_xy))- Roll/pitch compensation sets pitch and roll of q_comp to zero by using inverse rotation
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.
- 11d ago First seen · 66 lines · 51 tokens per session scan A d2f3e5655ca3
pywayne-ahrs-tools is a skill published in the GitHub repository wangyendt/wayne-skills (8 stars, last pushed yesterday), licensed MIT. It adds 51 tokens to every session and 511 once invoked, about $0.0003 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-31.
Other skills, from other repositories
jupyter-notebook
Iterative Python via live Jupyter kernel (hamelnb).
matlab
Build, review, migrate, and safely plan MATLAB or GNU Octave numerical workflows, including arrays, tabular/time data, tests, projects, graphics, MAT files, and explicit Python interoperability.
bioservices
Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use…
pennylane
Hardware-agnostic quantum ML framework with automatic differentiation. Use when training quantum circuits via gradients, building hybrid quantum-classical models, or needing device portability across IBM/Google/Rigetti/IonQ. Best for variational algorithms (VQE, QAOA), quantum neural networks, and integration with…
cuopt-numerical-optimization-api
LP, MILP, and QP (beta) with cuOpt — Python, C, and CLI. Use when the user is solving LP, MILP, or QP with any cuOpt interface.
rocm-kernels
Provides guidance for writing and benchmarking optimized Triton kernels for AMD GPUs (MI355X, R9700) on ROCm, targeting HuggingFace diffusers (LTX-Video, SD3, FLUX) and transformers. Core kernels: RMSNorm, RoPE 3D, GEGLU, AdaLN. Includes XCD swizzle, autotune, diffusers integration patterns, and LTX-Video pipeline…