protocol-change SKILL.md skillA
protocol-change from riot-org/riot is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add riot-org/riot/protocol-change@git:20260817.d00a470Pins git:20260817.d00a470 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- riot-org/riot
- Path
.riot/skills/protocol-change/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260817.d00a470, committed Aug 17, 2026
- Size
- 1,848 bytes
- Repository stars
- 22
- License
- a license file GitHub does not identify
改了 crates/riot-protocol 里的类型之后用。重新生成绑定,并检查 serde tag 撞名这类 Rust 类型层面看不出来的问题。.
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
# 改协议类型之后
`riot-protocol` 是宿主、内核、前端共享的契约,也是依赖图的叶子。Rust 那
两侧的一致性由**编译器**保证;TypeScript 那侧不行,它靠生成。
## 1. 重新生成
```bash
pnpm gen
```
产物 `schemas/protocol.json` 和 `src/bridge/generated.ts` **都进版本库**,
不要手改。CI 跑 `pnpm gen && git diff --exit-code`,忘了生成直接红。
## 2. tag 撞名检查
`pnpm gen` 里带了这个检查,但要看懂它在说什么:
serde 的 internally-tagged 表示下,newtype variant 会把内层字段**摊平**。
内外层 tag 同名时,产物是一份重复 key 的 JSON —— 反序列化直接失败,而这
在 Rust 类型层面**完全看不出来**。
真实案例:`StreamDelta` 和 `AgentEvent` 的 tag 撞名,后果是前端一个 token
都收不到。抓到它的是 roundtrip 测试,不是 review。
## 3. 加字段要能读旧数据
`[约束]` 缺字段不能让整份配置/transcript 解析失败。那表现为用户升级之后
"我配的东西全没了"。
新字段一律带 `#[serde(default)]`,或者给一个 `default_xxx()` 函数。加完之后
补一个"老格式也能读"的测试 —— `config.rs` 里有现成的写法可以照抄
(搜 `老配置缺`)。
## 4. 枚举加 variant 要顺着编译器走一遍
穷举 match 比通配安全:加了新 variant,所有该重审的地方会被编译器点名。
如果某处确实想忽略新情况,写明理由,不要图省事改成 `_ => {}`。
## 5. 验证
跑 `verify` 技能的全部五层。协议改动会同时波及 Rust 两侧和前端,
只跑一边不够。Read the whole file at its exact version.
How to install
mdr add riot-org/riot/protocol-change@sha256:5ae4fa31e610feadThe line at the top of this page pins the label git:20260817.d00a470, 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_usylsg62ojqieggi)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Aug 17, 2026.
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 (1848 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
riot-org/riot · 22 stars · license a license file GitHub does not identify · pushed 2026-10-29 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_usylsg62ojqieggi GET https://markdownregistry.com/api/v1/resolve?ref=riot-org/riot/protocol-change GET https://markdownregistry.com/api/v1/blob/5ae4fa31e610feadcc8c71531eb31c4875af9bd46e0a3865c7a8c33abbf23577
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.