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 agentmods add skills/wangyendt/wayne-skills/camera-modelnpx skills add wangyendt/wayne-skills --skill camera-modelgit 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/camera-model)<a href="https://agentmods.dev/skills/wangyendt/wayne-skills/camera-model"><img src="https://agentmods.dev/badge/skills/wangyendt/wayne-skills/camera-model.svg" alt="Measured on agentmods" 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 | $0.00071 | $0.00909 |
| Opus 5 | $0.00036 | $0.00454 |
| Sonnet 5 | $0.00014 | $0.00182 |
| Haiku 4.5 | $0.00007 | $0.00091 |
Grade A, and why
pywayne-cv-camera-model 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 4d 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 — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pywayne Camera Model
This module wraps the camera_models C++ library via pybind11, providing a Python interface for camera operations.
Quick Start
from pywayne.cv.camera_model import CameraModel
from pywayne.cv.tools import write_cv_yaml
import numpy as np
# Create camera model
camera = CameraModel()
# Load from YAML file
camera.load_from_yaml('camera_config.yaml')
# Access properties
print(f"Model: {camera.model_type}")
print(f"Size: {camera.image_width}x{camera.image_height}")
Loading from YAML
from pathlib import Path
# Sample YAML configuration
yaml_data = {
"model_type": "PINHOLE",
"camera_name": "my_camera",
"image_width": 1280,
"image_height": 720,
"distortion_parameters": {"k1": 0.0, "k2": 0.0},
"projection_parameters": {"fx": 600.0, "fy": 600.0, "cx": 640.0, "cy": 360.0}
}
# Write YAML file
write_cv_yaml('camera_config.yaml', yaml_data)
# Load model
camera.load_from_yaml('camera_config.yaml')
Supported Camera Models
| Model Type | Description |
|---|---|
PINHOLE |
Standard pinhole camera with radial distortion |
PINHOLE_FULL |
Full pinhole model with all distortion parameters |
CATA |
Catadioptric camera model |
EQUIDISTANT |
Equidistant camera model |
OCAM |
Unified camera model |
Projection Operations
lift_projective()
Lifts a 2D image point to a 3D projective ray:
# Input can be tuple, list, or numpy array
ray_3d = camera.lift_projective([u, v]) # Returns np.ndarray (x, y, z)
space_to_plane()
Projects a 3D point onto the 2D image plane:
# Input can be tuple, list, or numpy array
uv = camera.space_to_plane([x, y, z]) # Returns np.ndarray (u, v)
Properties
| Property | Description |
|---|---|
model_type |
Camera model type (enum) |
camera_name |
Name of the loaded camera |
image_width |
Image width in pixels |
image_height |
Image height in pixels |
Parameters Dictionary
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.
- 4d ago First seen · 116 lines · 71 tokens per session scan A b141875845f5
pywayne-cv-camera-model is a skill published in the GitHub repository wangyendt/wayne-skills (8 stars, last pushed 8d ago), licensed MIT. It adds 71 tokens to every session and 909 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-08-31.
Other skills, from other repositories
assessing-external-test-risk
Assesses whether branch or PR changes are high-risk for externally hosted or embedded Streamlit usage and recommends whether external e2e coverage with @pytest.mark.externaltest is needed. Use during code review, PR triage, or test planning when changes touch routing, auth, websocket/session behavior, embedding…
extracting-with-ocr
Use when extracting text from scanned PDFs, photographed pages, or images that have no embedded text layer. Covers OCR backends, language packs, force-OCR, and performance tuning.
tilelang-env-check
TileLang-Ascend 环境检查与配置验证技能。检查代码仓库完整性、编译安装状态、环境变量配置,并运行简单测试验证环境。发现问题会自动调用相关 skill 进行修复,并按依赖顺序重新执行后续步骤。触发关键词:"环境检查"、"检查环境"、"验证环境"、"环境配置"、"环境搭建"、"env check"、"check environment"、"verify environment"、"setup environment"。.
tilelang-op-develop
基于设计文档生成 TileLang-Ascend 算子实现代码与测试。从 design.md 中提取关键信息,结合 examples/ 中的参考实现生成可运行代码。触发:实现算子、写 kernel、生成代码、算子编码、根据设计文档实现。.
frontend-dashboard
Use this skill when editing the embedded dashboard frontend in this repository. It focuses on preserving the single-file embedded SPA model, keeping the UI lightweight, and avoiding unnecessary frontend tooling or dependencies.
home-assistant-integration
Use this skill when creating, scaffolding, reviewing, or maintaining Python Home Assistant custom integrations, including work on customcomponents, manifests, config flows, options flows, config entries, platforms/entities, DataUpdateCoordinator, integration automation triggers, diagnostics, repairs…