uclaw-tauri-commands
Use whenever you add or modify a Tauri IPC command in src-tauri/src/tauri_commands.rs.
Skill by novolei
Chalk Labs
Need help deploying uclaw-tauri-commands?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/novolei-uclaw-tauri-commands
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, backend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/uclaw-tauri-commands
What's inside
- Skill name
uclaw-tauri-commands- Description
- Use whenever you add or modify a Tauri IPC command in src-tauri/src/tauri_commands.rs. Trigger phrases include "Tauri command", "invoke", "IPC handler", "expose to frontend", "register command", "invoke_handler!", "#[tauri::command]", or any frontend ↔ backend bridge work. Loads the two-edit registration rule (forgetting either step compiles fine but fails at runtime), the DMZ review requirement, and the canonical command-shape template.
- License
- Apache-2.0
- Instructions
- 99 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# uClaw — Tauri Commands
`src-tauri/src/tauri_commands.rs` is a **single flat module** that exposes
every IPC command. From the frontend, calls go through `@tauri-apps/api`
`invoke('command_name', { ... })`. Lower-level IPC types live in
`ui/src/lib/tauri-bridge.ts`.
## DMZ file warning
`tauri_commands.rs` is on the DMZ list (BEHAVIOR.md §"DMZ Files Need
Two-Session Review"). Every edit should have a Writer (you) and a Reviewer
(separate session or human) re-read the diff before merge. The advisory
`.claude/hooks/warn-dmz-edit.sh` fires on every edit to remind you.
## The two-edit rule — break this and runtime fails silently
Adding a new command requires **both**:
1. **Define it in `tauri_commands.rs`** (or in a sub-file imported by it).
2. **Register it in the `invoke_handler!` macro in `src-tauri/src/main.rs`.**
Forgetting step 2 **compiles cleanly** but the frontend gets
`Command "your_command" not found` at runtime. Always grep `main.rs` after
adding a command:
```bash
grep -n "your_command_name" src-tauri/src/main.rs
```
Both files must show the name.
## Procedure — adding a new command
1. **Decide the surface area.** Is this a one-off, or part of a feature
that deserves its own sub-module? Match the existing shape — most
commands sit directly in `tauri_commands.rs`; a few large features have
their own sub-modules (e.g. `tauri_commands_browser.rs`).
2. **Write the command** with the standard signature:
```rust
#[tauri::command]
pub async fn my_command(
state: tauri::State<'_, AppState>,
arg1: String,
arg2: Option<i64>,
) -> Result<MyResponse, String> {
// ...
}
```
- Always return `Result<T, String>` — Tauri serializes errors as the
`String` to the frontend.
- First arg should be `State<'_, AppState>` if you need any shared
state (DB, providers, sessions, etc.).
- All non-state args must be `serde::Deserialize`. Use camelCase from
the frontend: `invoke('my_command', { arg1: 'x', arg2: 42 })` maps
to snake_case Rust args via Tauri's automatic conversion.
3. **Register in `main.rs`**:
```rust
.invoke_handler(tauri::generate_handler![
// ... existing commands ...
tauri_commands::my_command,
])
```
If your command lives in a sub-module, the path must be correct.
4. **Add the TypeScript wrapper** in `ui/src/lib/tauri-bridge.ts` (or in the
feature's own bridge file). Match the existing pattern: typed wrapper
function around `invoke()`.
5. **Build both sides**:
```bash
cd src-tauri && cargo build 2>&1 | grep -E "^error" | head
cd ui && npx tsc --noEmit 2>&1 | head -10
```
## Common shapes
| Need | Pattern |
|---|---|
| Shared DB / providers / sessions | `state: tauri::State<'_, AppState>` |
| Long-running task with progress | Emit events: `app: tauri::AppHandle` + `app.emit("event-name", payload)` |
| Returning binary blobs | `Result<Vec<u8>, String>` — Tauri auto-base64s for IPC |
| Optional args | `Option<T>` works; frontend can pass `null` or omit |
| Async file IO | Always `async` + `tokio::fs` (not `std::fs`) |
## Safety integration
If your command triggers a destructive action (file write outside the
workspace, shell exec, browser action), wire it through `SafetyManager`
and `PendingApprovals` (see existing examples like `approve_tool_call`).
Don't add a new "fire-and-forget" command for destructive ops without
the approval round-trip.
## See also
- `src-tauri/src/tauri_commands.rs` — every existing command as reference
- `src-tauri/src/main.rs` — `invoke_handler!` macro registration block
- `ui/src/lib/tauri-bridge.ts` — frontend bridge types
- `BEHAVIOR.md §"DMZ Files Need Two-Session Review"`
- CLAUDE.md Part 1 *Adjacent edits that look like scope creep*From novolei/uclaw-new, Apache-2.0.
More from novolei/uclaw-new
- 0.502score
web-design-engineer
novolei
Build polished visual web artifacts with HTML/CSS/JavaScript/React: pages, dashboards, prototypes, slide decks, animations, UI mockups, and data visualizations.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
kb-retriever
novolei
面向本地知识库目录的检索和问答助手。核心流程:(1)分层索引导航 (2)遇到PDF/Excel时必须先读取references学习处理方法 (3)处理文件后再检索。按文件类型组合使用 grep、Read、pdfplumber、pandas…
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
gpt-image-2
novolei
面向 GPT Image 2 的图像生成 / 编辑技能。可在 3 种环境下使用:(A) Garden 本地模式,通过 OpenAI 兼容接口直接出图并落盘;(B) Host-Native 模式,把本 Skill 当作提示词工程指引,把渲染好的 prompt 交给宿主 Agent 自带的图像工具出图;(C)…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
uclaw-pr-discipline
novolei
Use whenever you're about to commit, open a PR, finish a task in a plan, or are working on the codex-absorption-v2.2 integration branch.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
uclaw-migrations
novolei
Use whenever you need to add, modify, or coordinate a SQLite migration in src-tauri/src/db/migrations.rs.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
uclaw-composers
novolei
Use whenever you change paste, drop, attachment, send, or any input behavior in the chat or agent UI.
SkillCFreshness: C★ 1Claude Code +9 - 0.493score
uclaw-tick-feature-verify
novolei
Use when E2E-verifying a uClaw feature whose production behavior is driven by a slow tick / cron / scheduler — typical signs are `tick_count % N == 0`…
SkillCFreshness: C★ 1Claude Code +9 - 0.493score
uclaw-github-ops
novolei
Direct GitHub operations (commit / push / PR / merge) on the user's Mac — bypasses Cowork sandbox lock-tracking limitations.
SkillCFreshness: C★ 1Claude Code +9 - 0.493score
uclaw-codex-derived
novolei
Use whenever you copy, port, or adapt code from openai/codex (the Codex CLI Rust workspace at /Users/ryanliu/Documents/Hero/codex).
SkillCFreshness: C★ 1Claude Code +9 - 0.493score
uclaw-gitnexus-workflow
novolei
Use before editing any function, method, or class — especially in files referenced by multiple call sites, or anywhere in src-tauri/src/agent/…
SkillCFreshness: C★ 1Claude Code +9 - 0.493score
uclaw-memory-graph-freeze
novolei
Use whenever you're tempted to write to memory_graph or are working on memory persistence, knowledge graph, entity storage, or "save this for later" features.
SkillCFreshness: C★ 1Claude Code +9 - 0.264score
uclaw-milestone-closed-loop
novolei
No description from the publisher yet.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 20, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/novolei/uclaw-new
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from novolei
- 0.502score
web-design-engineer
novolei
Build polished visual web artifacts with HTML/CSS/JavaScript/React: pages, dashboards, prototypes, slide decks, animations, UI mockups, and data visualizations.
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
gpt-image-2
novolei
面向 GPT Image 2 的图像生成 / 编辑技能。可在 3 种环境下使用:(A) Garden 本地模式,通过 OpenAI 兼容接口直接出图并落盘;(B) Host-Native 模式,把本 Skill 当作提示词工程指引,把渲染好的 prompt 交给宿主 Agent 自带的图像工具出图;(C)…
SkillCFreshness: C★ 1Claude Code +9 - 0.499score
kb-retriever
novolei
面向本地知识库目录的检索和问答助手。核心流程:(1)分层索引导航 (2)遇到PDF/Excel时必须先读取references学习处理方法 (3)处理文件后再检索。按文件类型组合使用 grep、Read、pdfplumber、pandas…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
uclaw-composers
novolei
Use whenever you change paste, drop, attachment, send, or any input behavior in the chat or agent UI.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
uclaw-migrations
novolei
Use whenever you need to add, modify, or coordinate a SQLite migration in src-tauri/src/db/migrations.rs.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
uclaw-pr-discipline
novolei
Use whenever you're about to commit, open a PR, finish a task in a plan, or are working on the codex-absorption-v2.2 integration branch.
SkillCFreshness: C★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get uclaw-tauri-commands running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
uclaw-tauri-commands skill. Agent Mart. https://agentmart.dev/skills/novolei-uclaw-tauri-commands (last updated 2026-10-24)