add-command SKILL.md skillA

add-command from riot-org/riot is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add riot-org/riot/add-command@git:20260817.d00a470

Pins 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/add-command/SKILL.md
Versions recorded
1
Latest version
git:20260817.d00a470, committed Aug 17, 2026
Size
3,384 bytes
Repository stars
22
License
a license file GitHub does not identify

给前端加一个 Tauri 命令时用。要改五处,漏了其中三处只表现为运行时「command not found」;权限文件还有个先后顺序的坑会让 build.rs 直接 panic。.

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

# 加一个 Tauri 命令

一个命令要在**五处**同时存在。`src-tauri/tests/acl.rs` 只守得住两处,
另外三处漏了不报编译错,表现是前端调用时 `<name> not allowed. Command not found`。

## 五处清单

**1. 命令本体** —— `src-tauri/src/lib.rs`

```rust
#[tauri::command]
async fn term_share(
    terms: tauri::State<'_, term::Terminals>,
    id: u32,
    shared: bool,
) -> HostResult<()> {
    terms.set_shared(id, shared);
    Ok(())
}
```

返回 `HostResult<T>`,错误用 `HostError` 的现成变体(`HostError::Term`、
`HostError::Provider`、`HostError::Hook`…)。参数名用 snake_case,前端那边
传 camelCase,Tauri 自己转。

**2. 注册** —— `lib.rs` 的 `invoke_handler` 列表

`[约束]` `invoke_handler` 只能调用一次,调多次只有最后一次生效。所以是往
那个已有的列表里加一行,不是再写一个 `.invoke_handler(...)`。

**3. 声明存在** —— `src-tauri/build.rs` 的 `COMMANDS`

不加这里,自定义命令**默认对所有 window/webview 开放**,不受 capability
约束。那意味着将来加一个 OAuth window 或 devtools window,它自动拥有全部
命令权限。

**4. 授予可用** —— `src-tauri/capabilities/default.json` 的 `permissions`

形式是 `allow-<kebab-case>`,例:`term_share` → `"allow-term-share"`。

声明「存在」和授予「可用」是两件事,所以要改两处。

**5. 前端入口** —— `src/bridge/index.ts`

`[约束]` 这是**唯一**允许调 Tauri API 的地方。别处直接 `import
@tauri-apps/api` 会让前端无法脱离 Tauri 运行,组件测试全部失效。

## 那个会让 build.rs panic 的坑
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add riot-org/riot/add-command@sha256:2441f8e8cd9f2076

The 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.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_rku26w2ljb4na2gx.svg)](https://markdownregistry.com/a/art_rku26w2ljb4na2gx)

5 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.

versioncommittedcommitsizeaudit
git:20260817.d00a470 latest2026-08-17 d00a470 3,384 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (3384 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

GitHub

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_rku26w2ljb4na2gx
GET https://markdownregistry.com/api/v1/resolve?ref=riot-org/riot/add-command
GET https://markdownregistry.com/api/v1/blob/2441f8e8cd9f2076096bf507f189ea9cee80677fd30ede18e622b4087574d877

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.

More from riot-org/riot

add-tool SKILL.md skill
riot-org/riot · .riot/skills/add-tool/SKILL.md · 给 Riot 加一个模型能调的工具时用。Tool trait 的必答项、fail-closed 默认值的判据、注册位置、以及几条写错了不报错只是行为悄悄降级的规则。
git:20261011.281dcd7 · audit A · 22 stars
commit-batch SKILL.md skill
riot-org/riot · .riot/skills/commit-batch/SKILL.md · 工作区堆了多个不相关主题的改动、要整理成提交时用。按主题切分而不是拆成一堆小提交,并照这个仓库的消息风格写。
git:20260817.d00a470 · audit A · 22 stars
mutate SKILL.md skill
riot-org/riot · .riot/skills/mutate/SKILL.md · 动过权限决策链、Bash 分析、路径围栏、安全检查、文件工具或进程执行器之后用。跑变异测试,并正确解读存活的变异。
git:20260817.d00a470 · audit A · 22 stars
protocol-change SKILL.md skill
riot-org/riot · .riot/skills/protocol-change/SKILL.md · 改了 crates/riot-protocol 里的类型之后用。重新生成绑定,并检查 serde tag 撞名这类 Rust 类型层面看不出来的问题。
git:20260817.d00a470 · audit A · 22 stars
review SKILL.md skill
riot-org/riot · .riot/skills/review/SKILL.md · 审查一批改动时用。缺陷优先,并按这个仓库特有的失效方式去找问题——那些编译通过、类型正确、看起来合理的写法。
git:20260817.d00a470 · audit A · 22 stars
verify SKILL.md skill
riot-org/riot · .riot/skills/verify/SKILL.md · 改完代码要验证时用。按这个仓库的分层防线依次跑,并说明每一层拦的是什么。别只跑 cargo build 就当验证过了。
git:20260817.d00a470 · audit A · 22 stars
add-mcp SKILL.md skill
riot-org/riot · crates/riot-kernel/builtin/skills/add-mcp/SKILL.md · 用户想加、改、排查 MCP 服务器,或从 Cursor / Claude Desktop / VS Code 搬 MCP 配置过来时用。用户级只认 stdio(远程走 mcp-remote 桥)、config.json…
git:20261014.9c3854a · audit B · 22 stars
commit SKILL.md skill
riot-org/riot · crates/riot-kernel/builtin/skills/commit/SKILL.md · 要把改动提交成 git commit 时用。先看清工作区里有几件事、按主题分组、只暂存这一组,以及消息里该写什么不该写什么。
git:20261014.9c3854a · audit A · 22 stars
create-plugin SKILL.md skill
riot-org/riot · crates/riot-kernel/builtin/skills/create-plugin/SKILL.md · 用户想写一个 Riot 插件、把已有的技能/命令/hooks/MCP 打包分发、或把 Claude Code / Cursor 插件搬到 Riot 时用。目录布局、三种清单格式、dev.riot 扩展字段、本地链接调试流程和市场发布。
git:20261014.9c3854a · audit A · 22 stars
debug SKILL.md skill
riot-org/riot · crates/riot-kernel/builtin/skills/debug/SKILL.md · 排查 bug 时用。顺序是硬的:先复现、再让证据淘汰假设、修根因、用原始复现路径验证。不要看到第一个可疑点就动手改。
git:20260817.d4dfa41 · audit A · 22 stars
extend-riot SKILL.md skill
riot-org/riot · crates/riot-kernel/builtin/skills/extend-riot/SKILL.md · 用户想加技能、斜杠命令、hook、项目约定(AGENTS.md),或要给命令配 API key、密码这类机密时用。各扩展点的目录、格式限制和优先级规则。MCP 服务器转 add-mcp,打成可分发的插件转 create-plugin。
git:20261014.9c3854a · audit B · 22 stars
retro SKILL.md skill
riot-org/riot · crates/riot-kernel/builtin/skills/retro/SKILL.md · 任务磕磕碰碰才做成、被纠正了好几次之后用;用户说「复盘」「总结经验」「记下来」时也用。回顾这次会话的纠错轨迹,筛出下次还会犯的错,沉淀进 AGENTS.md 或技能,同类任务下次不用再教一遍。
git:20261014.9c3854a · audit A · 22 stars

Every file in riot-org/riot

Other files named add-command

add-command SKILL.md skill
doist/todoist-cli · .agents/skills/add-command/SKILL.md · Guide for adding new CLI commands or subcommands to todoist-cli. Use when implementing new SDK endpoints, adding…
git:20260407.6e4ad38 · audit A · 329 stars
add-command SKILL.md skill
doist/todoist-cli · .claude/skills/add-command/SKILL.md · Guide for adding new CLI commands or subcommands to todoist-cli. Use when implementing new SDK endpoints, adding…
git:20260329.671789d · audit A · 329 stars
add-command SKILL.md skill
jmagly/aiwg · agentic/code/addons/aiwg-utils/skills/add-command/SKILL.md · Scaffold a new command definition inside an existing addon or framework
git:20260430.6d8a12e · audit A · 228 stars
add-command SKILL.md skill
rajdeepratan/slashforge · .claude/skills/add-command/SKILL.md · Add a new user-facing slash command or discipline skill to the kit — use when creating a new /slashforge-* entry point…
git:20261009.0e70678 · audit A · 5 stars
add-command SKILL.md skill
doist/twist-cli · .agents/skills/add-command/SKILL.md · Guide for adding new CLI commands or subcommands to twist-cli. Use when implementing new SDK endpoints, adding…
git:20260403.3a41fd7 · audit A · 3 stars
add-command SKILL.md skill
doist/twist-cli · .claude/skills/add-command/SKILL.md · Guide for adding new CLI commands or subcommands to twist-cli. Use when implementing new SDK endpoints, adding…
git:20260403.3a41fd7 · audit A · 3 stars

Browse by kind, by grade A, or by owner.