tauri-desktop
Skill0 starsChanged 7 months agoApache-2.0View on GitHub
Implementation guardrail for Tauri 2 desktop and mobile apps spanning Rust backend commands, frontend IPC, plugins, capabilities, security, and packaging.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- travisjneuman/.claudetheir own version, first seen Feb 25, 2026
- kaykay0201/claude-code-skillstheir own version, first seen Jan 8, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- travisjneuman/.claude★ 106same name
- kaykay0201/claude-code-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository57 other files it gives its agents.
- ai-app-integrationSkill
- anti-llm-frontend-designSkill
- aspnet-core-web-developmentSkill
- async-python-patternsSkill
- browser-game-foundationsSkill
- browser-local-qaSkill
- build-mcp-server-sdk-v2Skill
- canva-design-opsSkill
- check-completionSkill
- cli-tool-creatorSkill
- cloudflare-agents-mcpSkill
- cloudflare-durable-objectsSkill
- cloudflare-workers-platformSkill
- deployment-preview-workflowsSkill
- docx-document-artifactsSkill
- durable-workflow-orchestrationSkill
- dynamic-og-imagesSkill
- eval-auditSkill
- evaluate-ragSkill
- figma-design-to-code-rulesSkill
- fine-tuningSkill
- frontend-product-builderSkill
- game-asset-pipeline-expansionSkill
- game-ui-playtestSkill
- generate-synthetic-dataSkill
- github-pr-ci-opsSkill
- gmail-inbox-opsSkill
- golden-datasetSkill
- huggingface-llm-trainerSkill
- javascript-monorepo-buildsSkill
- linear-issue-managementSkill
- media-generation-transcriptionSkill
- millrace-rs-contract-paritySkill
- minecraft-mod-qa-automationSkill
- notion-workspace-flowsSkill
- openai-docsSkill
- optimize-agentic-cliSkill
- pdf-artifact-workflowSkill
- phaser-2d-game-developmentSkill
- postgres-query-performanceSkill
- product-ui-polish-reviewSkill
- pydantic-v2-patternsSkill
- python-repo-refactoring-hygieneSkill
- rag-corpus-hygieneSkill
- react-next-performance-reviewSkill
- rust-best-practicesSkill
- shadcn-ui-compositionSkill
- skill-evaluation-harnessSkill
- tauri-mcp-cliSkill
- tauri-ptySkill
- tile-pixel-art-transitionsSkill
- train-sentence-transformersSkill
- typer-cli-patternsSkill
- using-dbt-for-analytics-engineeringSkill
- validate-evaluatorSkill
- visual-asset-pipelineSkill
- watchdog-file-watcher-patternsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 12 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
Add Rust commands in src-tauri and expose them through generate_handler.
- Very specific: line 42
Call commands from the frontend with typed invoke wrappers.
- Distinctive: line 48
Treat Tauri's capability model as a security boundary, not a nuisance to bypass.
- Distinctive: line 49
Prefer plugin APIs over ad hoc shell commands when a first-party plugin exists.
- Distinctive: line 50
Do not expose arbitrary shell execution to the frontend.
- Very specific: line 51
Keep Rust command inputs typed and serializable.
- Distinctive: line 52
Keep long-running work off the UI thread and report progress through events or state.
- Distinctive: line 54
Keep mobile paths explicit.
- Distinctive: line 55
Keep updater keys, signing material, bundle identifiers, and platform entitlements out of source examples unless they are placeholders.
- Very specific: line 72
Read package.json, src-tauri/Cargo.toml, src-tauri/tauri.conf.json, and capability files.
- Distinctive: line 74
Add or change the Rust command with typed arguments and a structured result.
- Distinctive: line 76
Add or update capability permissions with the narrowest paths, windows, and plugin permissions possible.
- Distinctive: line 77
Update frontend wrappers and UI state to handle loading, success, and error paths.
- Distinctive: line 78
Run the repo's Tauri dev/build checks and manually smoke the feature in the app when feasible.
- Distinctive: line 90
Start from the exact boundary the task touches.
- Distinctive: line 96
Run the repo's formatter, typecheck, and Tauri dev or build command.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Tauri Desktop
Purpose
Help agents build or review Tauri 2 applications with a Rust backend, web frontend, IPC commands, plugin setup, capability permissions, updater paths, and platform packaging. This skill is for Tauri app implementation, not generic web UI or Rust-only work.
Use When
- creating or modifying a Tauri desktop or mobile app
- adding Rust commands invoked from frontend code
- configuring Tauri plugins, permissions, capabilities, updater, windows, menus, or packaging
- debugging frontend-to-backend IPC or platform-specific build behavior
Do Not Use When
- the task is purely web frontend with no Tauri boundary
- the work is an embedded terminal or PTY feature, which needs the narrower Tauri PTY skill
- the task is only Rust library logic unrelated to the app shell
Quick Start
- Identify the frontend framework,
src-taurilayout, Tauri version, and package manager. - Add Rust commands in
src-tauriand expose them throughgenerate_handler. - Call commands from the frontend with typed
invokewrappers. - Configure plugins and capabilities before assuming frontend APIs are allowed.
- Scope filesystem, shell, dialog, notification, updater, and network permissions narrowly.
- Validate with dev, build, and a real app smoke path.
Operating Constraints
- Treat Tauri's capability model as a security boundary, not a nuisance to bypass.
- Prefer plugin APIs over ad hoc shell commands when a first-party plugin exists.
- Do not expose arbitrary shell execution to the frontend.
- Keep Rust command inputs typed and serializable; return structured
Resultvalues with useful error messages. - Keep long-running work off the UI thread and report progress through events or state.
- Store app data through Tauri path APIs rather than hardcoded platform paths.
- Keep mobile paths explicit; do not assume desktop-only APIs work unchanged on iOS or Android.
- Keep updater keys, signing material, bundle identifiers, and platform entitlements out of source examples unless they are placeholders.
Inputs This Skill Expects
- The Tauri version and frontend stack.
- The feature being added: IPC command, plugin, filesystem access, updater, windowing, tray, mobile, or packaging.
- Existing
tauri.conf.json,Cargo.toml, capabilities files, and frontend invocation code. - Target platforms and distribution formats.
- Verification commands for the repo.
Output Contract
- Name the Tauri boundary changed: Rust command, frontend invoke, plugin registration, capability, config, or packaging.
- State the permission scope added or changed and why it is narrow enough.
- Include the frontend and backend call contract when IPC is involved.
- Include platform caveats for macOS, Windows, Linux, Android, or iOS when relevant.
- Report the dev/build/smoke verification path.
Procedure
- Read
package.json,src-tauri/Cargo.toml,src-tauri/tauri.conf.json, and capability files. - Locate existing command, plugin, and frontend invocation patterns.
- Add or change the Rust command with typed arguments and a structured result.
- Register the command or plugin in the Tauri builder.
- Add or update capability permissions with the narrowest paths, windows, and plugin permissions possible.
- Update frontend wrappers and UI state to handle loading, success, and error paths.
- Run the repo's Tauri dev/build checks and manually smoke the feature in the app when feasible.
Pitfalls And Gotchas
- Adding frontend API calls without capability permission.
- Using browser file inputs where a Tauri dialog or filesystem plugin is expected.
- Exposing broad shell or filesystem access to the webview.
- Returning unstructured string errors that the frontend cannot classify.
- Forgetting platform-specific bundle, signing, entitlement, or WebView runtime requirements.
- Testing only the web dev server and not the Tauri shell.
- Assuming mobile support without checking plugin compatibility.
Progressive Disclosure
Start from the exact boundary the task touches. Load broader Tauri packaging, updater, plugin, or mobile guidance only when the current change crosses those areas. Keep ordinary frontend and Rust advice delegated to their narrower skills when Tauri is not the deciding factor.
Verification Pattern
- Confirm Rust commands compile and are registered.
- Confirm frontend invokes use the correct command name and argument shape.
- Confirm capability files allow only the intended windows, plugins, paths, and operations.
- Run the repo's formatter, typecheck, and Tauri dev or build command.
- Smoke the app in a Tauri shell, not just in the browser.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

