framefilm-dock-upload SKILL.md skillA
framefilm-dock-upload from kirmisaki/framefilm is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add kirmisaki/framefilm/framefilm-dock-upload@git:20261101.c030a86Pins git:20261101.c030a86 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- kirmisaki/framefilm
- Path
tools/framefilm-dock-upload/SKILL.md- Versions recorded
- 4
- Latest version
- git:20261101.c030a86, committed Nov 1, 2026
- First version recorded
- Sep 12, 2026
- Size
- 6,783 bytes
- Repository stars
- 107
- License
- GPL-3.0
Upload an image to a FrameFilm Dock over USB. Invoke when the user asks to send/push a photo or picture to the FrameFilm dock (底座) via USB, or to list and verify .film files stored on the dock.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# FrameFilm Dock 图片上传 把一张图片转换成 `.film` 文件,通过 **USB 虚拟串口**直接上传到 FrameFilm Dock,上传完成后设备会自动刷新墨水屏显示该图片。 > 位置说明:本 skill 与配套脚本一起放在项目 `tools/framefilm-dock-upload/` 下。 ## 何时使用 - 用户说「把这张图/照片传到 dock」「通过 USB 上传图片到 dock」「让 dock 显示这张图」 - 需要查看 dock 上已有的 `.film` 文件列表 - 需要验证某个文件是否已经成功传到 dock 不适用:给冰箱贴(FrameFilm / Pro / Max)传图——那些机型没有 USB 串口,只有蓝牙,请用 `tools/ForFilm` 网页工具。 ## 前置条件 1. **硬件**:dock 用 USB 线连到电脑,设备管理器里会出现一个串口(COM 口)。该串口是声卡/键盘/串口复合设备的一部分。 2. **Python 依赖**: ``` pip install pyserial Pillow ``` 3. **仓库位置**:图片转换复用仓库里的 `server/filmhub/backend/app/services/film_convert.py`,脚本会从自身位置和当前目录向上自动查找仓库根。若在仓库外运行,用环境变量指定: ``` FRAMEFILM_REPO=<仓库根> python tools/framefilm-dock-upload/scripts/dock_upload.py ... ``` ## 使用方法 脚本路径:`tools/framefilm-dock-upload/scripts/dock_upload.py` ```bash # 上传一张图片(自动查找串口、自动转换、自动校验) python tools/framefilm-dock-upload/scripts/dock_upload.py photo.jpg # 指定串口 / 指定设备上的文件名 / 换抖动算法 python tools/framefilm-dock-upload/scripts/dock_upload.py photo.jpg --port COM7 --name holiday.film --dither atkinson # Atkinson 增强(与 ForFilm / 小程序默认算法一致,观感最好) python tools/framefilm-dock-upload/scripts/dock_upload.py photo.jpg --dither atkinson_enhanced # 只列出设备上已有的文件 …
Read the whole file at its exact version.
How to install
mdr add kirmisaki/framefilm/framefilm-dock-upload@sha256:5cdf9add7988c883The line at the top of this page pins the label git:20261101.c030a86, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_frati6oy7wwi3vqq)
0 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Sep 12, 2026 and Nov 1, 2026, about one every 17 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261101.c030a86 latest | 2026-11-01 | c030a86 | 6,783 B | A | view · diff |
| git:20260912.ae62b82 | 2026-09-12 | ae62b82 | 6,775 B | A | view · diff |
| git:20260912.88c9d05 | 2026-09-12 | 88c9d05 | 6,033 B | A | view · diff |
| git:20260912.5f1557d | 2026-09-12 | 5f1557d | 5,444 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (6783 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
kirmisaki/framefilm · 107 stars · license GPL-3.0 · pushed 2026-11-07 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_frati6oy7wwi3vqq GET https://markdownregistry.com/api/v1/resolve?ref=kirmisaki/framefilm/framefilm-dock-upload GET https://markdownregistry.com/api/v1/blob/5cdf9add7988c8832baeb2d1ddfa2ca264845b0ce7a2544a7074bca02f2908bd
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.