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 anton-kostryukov/3d-printing-ops --skill klipper-opsgit clone --depth 1 https://github.com/anton-kostryukov/3d-printing-opsWrote 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/anton-kostryukov/3d-printing-ops/klipper-ops)<a href="https://agentmods.dev/skills/anton-kostryukov/3d-printing-ops/klipper-ops"><img src="https://agentmods.dev/badge/skills/anton-kostryukov/3d-printing-ops/klipper-ops/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/anton-kostryukov/3d-printing-ops/klipper-ops"><img src="https://agentmods.dev/badge/skills/anton-kostryukov/3d-printing-ops/klipper-ops.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.00086 | $0.00905 |
| Opus 5 | $0.00043 | $0.00452 |
| Sonnet 5 | $0.00017 | $0.00181 |
| Haiku 4.5 | $0.00009 | $0.00090 |
Grade A, and why
klipper-ops 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 12d 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 — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
klipper-ops
Version: 0.3.0
Operate Klipper hosts through a small, auditable surface. Prefer the klipper-ops
MCP server when connected; use bundled scripts/ as a portable fallback.
Use Cases
- Inspect host, Moonraker print, config, and allowlisted service state.
- Read recent logs for one service with explicit time and line bounds.
- Pull config mirrors atomically, including an expanded symlink-following mirror.
- Compare local and remote config manifests without dumping full files.
- Back up and validate config before any live change.
- Prepare, review, and explicitly apply an atomic config plan with rollback.
- Restart an allowlisted service only after confirmation and an idle-state check.
- Restore a named backup with explicit backup-ID confirmation.
- Initialize a printer workspace and shell wrappers.
- Run focused raw SSH only when typed tools and bounded scripts cannot recover a host.
Out of scope: slicer profiles, slicer app settings, firmware flashing, and general printer tuning methodology.
Choose The Surface
- Use MCP tools first. They return structured data, enforce bounds and allowlists, and never expose arbitrary SSH execution or caller-selected remote paths.
- Use workspace
./scripts/*.shwrappers or bundled scripts when MCP is absent. - Use
ssh.shonly for a narrow recovery command. Do not turn it into an MCP tool.
Read references/mcp-tools.md when selecting tools or handling a write refusal.
Workflow
- Check repo state, then call
get_printer_statusorstatus.sh. - For a named failure, use
get_service_logsorlogs.sh; start with 15 minutes and 120 lines. - Before config analysis, call
pull_configor the matching pull script. - Before writes, create a backup and validate the candidate.
- For MCP writes, call
prepare_config_apply, show the user its diff, backup ID, validation result, and plan hash, then wait for explicit confirmation. - Call
apply_configonly with that reviewed plan. It must recheck drift and print state, atomically swap config, restart, health-check, and roll back on failure. - Report changed state, backup ID/path, rollback path, and any remaining risk.
What ships with it
13 files 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.
- agents/openai.yaml 301 B
- references/mcp-tools.md 2.2 KB
- scripts/backup-config.sh 915 B runs code
- scripts/check-config.sh 416 B runs code
- scripts/init-project.sh 5.7 KB runs code
- scripts/lib/printer-env.sh 6.9 KB runs code
- scripts/logs.sh 951 B runs code
- scripts/pull-config-expanded.sh 1.1 KB runs code
- scripts/pull-config.sh 1.1 KB runs code
- scripts/push-config.sh 1.8 KB runs code
- scripts/restart-service.sh 1.5 KB runs code
- scripts/ssh.sh 190 B runs code
- scripts/status.sh 868 B runs code
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.
- 12d ago First seen · 82 lines · 86 tokens per session scan A f489cc0a6a4a
klipper-ops is a skill published in the GitHub repository anton-kostryukov/3d-printing-ops (1 stars, last pushed 2mo ago), licensed MIT. It adds 86 tokens to every session and 905 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
3d-printer-slicing-automation
REQUIRED for ANY .stl / .3mf / .zip 3D-model attachment. FIRST tool call MUST be the u1kit tool: u1kit(modelpath= ). It slices, renders the operator's options form itself, and returns a readiness card. Do NOT extract zips, run orca-slicer, or call the form tool yourself. Also REQUIRED when the operator asks to reprint…
Kiln
AI agent control of 3D printers — 915 MCP capabilities + 242 CLI commands.
clawhub-skill
AI agent control of 3D printers — 847 MCP capabilities + 224 CLI commands.
embedded-debugger
Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp. Use when Codex or Claude Code needs to inspect debug probes, validate embedded debugger setup, start the MCP server, guide a user through ARM Cortex-M/RISC-V flashing/debugging/RTT workflows, or operate without installing an MCP…
serial-debug
CLI-first serial port debugging and macro automation with serial-mcp-server for Codex and Claude Code. Use when working with UART or USB-serial devices, listing serial ports, probing STM32/Arduino/ESP32 boards, writing or reading serial data, running JSON serial macros, controlling RTS/DTR, or using serial-mcp-server…
soren-voss-inventor
Apply Soren Voss's mechanical invention method to assembled 3D-printed objects with surprising motion, including walkers, automata, transforming objects, and kinetic sculptures. Electronics are deferred.