Agent skill

Windows Tauri

by mukiwu in mukiwu/tempo-term

A skill your agent uses when writing or reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command), path handling, cfg-gated platform APIs…

Apache-2.0Auto-check passedDevelopment

Install Windows Tauri

skills CLI
$ npx skills add mukiwu/tempo-term --skill windows-tauri -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mukiwu/tempo-term windows-tauri --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mukiwu/tempo-term.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/windows-tauri .claude/skills/windows-tauri && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
windows-tauri
GitHub stars
228
Token cost
~4.3k tokens
SKILL.md length
2,230 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when writing or reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command), path handling, cfg-gated platform APIs…

  • Works in 9 steps: Every subprocess spawn needs… → Executable resolution differs on Windows → Give external commands a timeout → …
  • Reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command)
  • SKILL.md covers Pre-flight checklist, Failure catalog (what this…, 1. Every subprocess spawn… and 2. Executable resolution…, plus 9 more sections
  • Calls cargo, gh and bash

What it does

Windows Tauri is an agent skill from mukiwu/tempo-term. Use when writing or reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command), path handling, cfg-gated platform APIs, the pty/terminal, clipboard, ssh, line endings, or a new native crate — and before cutting a release. The dev box is macOS, so Windows regressions do not surface locally; they only show in the Windows CI build or on a user's machine. Encodes the Windows pitfalls this repo has actually shipped and fixed.

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with Tauri, Git, macOS and GitHub Actions. The repository describes itself as: AI-powered terminal, editor and file explorer. The licence is Apache-2.0.

When your agent uses it

  • Reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command)
  • Cfg-gated platform APIs
  • The pty/terminal
  • A new native crate — and before cutting a release

Example prompts

  • “/windows-tauri”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Every subprocess spawn needs CREATE_NO_WINDOW
  2. Executable resolution differs on Windows
  3. Give external commands a timeout
  4. Inject pty commands with CR, not LF
  5. Paths: forward slashes for bash, double quotes for shells
  6. Unix-only APIs and native crates must still build on Windows
  7. No Windows backend: skip, do not crash or spin
  8. Frontend: gate on IS_WINDOWS, not just IS_MAC
  9. Window creation deadlocks in a sync command

What it can do on your machine

Read from SKILL.md and the folder at commit 6750c17. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo
    • gh
    • bash
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Windows Tauri loads about 4.3k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 2,230 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mukiwu/tempo-term at commit 6750c17, republished under its Apache-2.0 licence (© mukiwu). 2,230 words, ~4,345 tokens.

Download SKILL.mdSave it as .claude/skills/windows-tauri/SKILL.md (or your agent's skills folder).
name
windows-tauri
description
Use when writing or reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command), path handling, cfg-gated platform APIs, the pty/terminal, clipboard, ssh, line endings, or a new native crate — and before cutting a release. The dev box is macOS, so Windows regressions do not surface locally; they only show in the Windows CI build or on a user's machine. Encodes the Windows pitfalls this repo has actually shipped and fixed.

Windows × Tauri guardrails (tempo-term)

Development happens on macOS. Two GitHub Actions cover Windows: .github/workflows/windows-check.yml runs cargo check with warnings-as-errors on a windows-latest runner for every PR and push to master (added in #191), and .github/workflows/windows-build.yml builds the actual bundle only on a v* tag (or manual dispatch). So a compile or warning regression now fails the PR that caused it; but a runtime, bundle, or behavior bug still compiles clean and only surfaces in the tagged Windows build or on a user's machine. Historically there was no per-PR gate at all — which is why every Windows bug in this repo's history before #191 reached a release.

This skill is the checklist that closes the remaining gap: everything cargo check cannot see. Read it before touching any of the surfaces below, and run the pre-flight list before a release.

Pre-flight checklist

Apply while writing, not after. Each line links to the detailed rule.

  • Spawning a process? Set CREATE_NO_WINDOW on Windows, or a console flashes and each call costs ~100ms in a release build. →
  • Resolving an executable on disk? Windows binaries are gh.exe/.cmd/.bat, home is USERPROFILE, install dirs differ. →
  • A subprocess with no timeout? A hung gh/git blocks the caller thread forever; add a timeout. →
  • Injecting a command into a pty? Terminate with \r, not \n, or ConPTY leaves it on a >> continuation line. →
  • Waiting on pty reader EOF to detect anything? ConPTY never EOFs while the pseudo console is open; detect child exit with child.wait() and close the console to unblock the reader (catalog row #272).
  • Building a path that bash will run? Use forward slashes; never inject a bare .sh; quote Windows paths with double quotes. →
  • A #[cfg(unix)] API, a cfg-split command, or a new native crate? It must compile warning-free on Windows — windows-check.yml runs cargo check with -D warnings per PR. Provide a Windows arm or cfg-gate cleanly, and allow(dead_code)/allow(unused_variables) the mac-only bits. →
  • Reaching into /proc, lsof, a unix socket, pty foreground? No Windows backend exists; skip the feature there or return a clean None. →
  • Frontend behavior gated on platform? Route Windows through IS_WINDOWS, do not leave it IS_MAC-only. →
  • Creating a window or webview from a #[tauri::command]? The command must be async (and wrap the build in spawn_blocking), or WebView2 deadlocks. →
  • Release? windows-build.yml is the bundle/link gate (per-PR cargo check already covered compile); latest.json notes get re-patched; functional test on a real Windows host. →

Failure catalog (what this repo has actually hit)

Symptom on WindowsRoot causeRuleShipped fix
Black console flashes on every git/gh call; UI stallsRelease build owns no console (windows_subsystem = "windows"); a spawn without CREATE_NO_WINDOW allocates oneSet CREATE_NO_WINDOW on every Command#82, #105
"PATH 上找不到 gh CLI" although gh is installedSearched for bare gh; Windows binary is gh.exe; used HOME and macOS install dirsAppend .exe/.cmd/.bat, use USERPROFILE, Windows install dirs#89
Launcher command sits under a >> prompt, never runsConPTY/PSReadLine binds CR to submit, LF to continuation; we injected LFTerminate injected commands with \r#160
Status hook never fires / spams "Open With" dialogbash escapes \; a bare .sh under cmd triggers ShellExecute pickerForward-slash paths; do not inject a bare .sh on Windows#76, #155 (open)
cargo build fails on a stock Windows boxaws-lc-sys (via russh default aws-lc-rs) needs NASMUse russh ring backend#75
Windows release fails to compile (E0599) once SSH landedAgentClient::connect_env is #[cfg(unix)]Windows arm: connect_named_pipe / connect_pageant#52, #54
Windows warns unused variable / dead_code, then fails under -D warningsA cfg-split command's structs/params are only read in the #[cfg(target_os = "macos")] arm; the Windows arm is a no-op stub#[cfg_attr(not(target_os = "macos"), allow(dead_code))] on the model, allow(unused_variables) on the fn#190, gated #191
Terminal paste does nothingNative paste suppressed everywhere; smart-paste mac-only; backend empty off macRoute Ctrl+V via IS_WINDOWS; read clipboard with clipboard-win#75
cwd tracking dead / 1.2s poll fires empty IPC every terminalpty_cwd has no Windows backend (/proc, lsof absent)Skip the poll on Windows, or use OSC 7 shell integration#105, #115
Updater "更新內容" dialog empty after a releaseWindows CI tauri-action rewrites latest.json and wipes notesRe-patch notes post-build from CHANGELOG-NEXT.md#43
Diff-open lag only in the release buildSame console-flash spawn cost, per git subprocessCREATE_NO_WINDOW (see row 1)#82
Ctrl+N opens a blank unclosable window; shortcuts die app-wideWebviewWindowBuilder::build() in a sync command deadlocks the WebView2 event loop (wry#583)Window-creating commands must be async + spawn_blocking#209
Pane hangs dead after exit; on_exit never firesConPTY's reader never sees EOF while the pseudo console is open (microsoft/terminal#1810), and the session registry kept the master alive — teardown sequenced behind reader EOF deadlocksDetect exit via child.wait() in a waiter thread, then drop the master (closes the pseudo console) to unblock the reader; never gate teardown on reader EOF#272

1. Every subprocess spawn needs CREATE_NO_WINDOW

A release build sets windows_subsystem = "windows" (src-tauri/src/main.rs:2) and owns no console, so Windows allocates a fresh console for every child process spawned without the flag: a visible window flash plus ~100ms per call. tauri dev owns a console, so this never reproduces in dev — only in a release build or on a user's machine.

Copy the established helper shape (src-tauri/src/modules/git/mod.rs:545, src-tauri/src/modules/pr/mod.rs:185):

rust
use std::process::Command;

fn spawn_thing(exe: &str) -> Command {
    let mut command = Command::new(exe);
    #[cfg(windows)]
    {
        use std::os::windows::process::CommandExt;
        const CREATE_NO_WINDOW: u32 = 0x0800_0000;
        command.creation_flags(CREATE_NO_WINDOW);
    }
    command
}

Rule: any new Command that shells out (git, gh, a formatter, anything) routes through a helper that sets this flag. A no-op on Unix and on debug builds; mandatory in the Windows release.

2. Executable resolution differs on Windows

find_gh() searched for a file literally named gh; on Windows the binary is gh.exe, so it never matched (#89). Three separate assumptions break:

  • Extension: probe gh, then gh.exe, gh.cmd, gh.bat on Windows. See exe_names() in src-tauri/src/modules/pr/mod.rs.
  • Home var: Windows usually has no HOME; fall back to USERPROFILE.
  • Install dirs: not /opt/homebrew/bin; use Program Files\GitHub CLI, chocolatey, scoop shims.

Parameterize the platform (windows: bool) so both arms are unit-testable on the mac CI runner, rather than hiding the Windows path behind #[cfg] where it never gets exercised locally.

3. Give external commands a timeout

Command::output() has no timeout. A hung gh (network stall, an interactive auth prompt) blocks the calling thread forever, and on a poll timer those pile up (#105). Wrap spawns that can hang with a timeout (this repo uses the wait-timeout crate — see run_gh in src-tauri/src/modules/pr/mod.rs, 5s kill).

4. Inject pty commands with CR, not LF

On Windows ConPTY, PSReadLine binds CR (\r) to AcceptLine (submit) and LF (\n) to AddLine (a >> continuation line). An injected \n never runs the command (#160). macOS/Linux tolerate \n only because the pty line discipline (ICRNL) maps CR→LF on input, hiding the bug.

Rule: any code that auto-types a command into a pane (runCommandInTerminal, launcher command injection) terminates with \r. CR is what a real Enter key sends and what xterm emits, so it submits on all three platforms.

5. Paths: forward slashes for bash, double quotes for shells

  • **bash escapes \.** A Windows backslash path handed to anything Claude Code / git-bash runs collapses (C:\Users\... → C:Users...). Store and compare paths in a single forward-slash form; git-bash accepts them. See normalize() in src-tauri/src/modules/claude_status_hook/mod.rs.
  • Never inject a bare .sh command on Windows. cmd cannot execute a .sh path and pops the "Open With" picker on every hook event (#155, still open). If a shell script must run, name the interpreter explicitly (bash -c "..." / the git-bash bash.exe), or ship a .cmd/.ps1/native shim.
  • Quote paths with double quotes, accepted by cmd, PowerShell, and git-bash. POSIX single quotes are wrong on Windows (#75).
Show full SKILL.md (991 more words)Show less

6. Unix-only APIs and native crates must still build on Windows

The dev box cannot cross-compile the Windows bundle — git2, font-kit, portable-pty, and crypto crates all pull native code, so only windows-build.yml on a Windows runner catches a break. Two recurring traps:

  • A #[cfg(unix)] API used unconditionally fails to compile on Windows (E0599). AgentClient::connect_env (unix socket) needed a Windows arm (connect_named_pipe / connect_pageant) and the shared loop extracted into a generic helper (#52, #54). When an API has no Windows form, cfg-gate it and provide a Windows path or a clean error — do not leave the call unconditional.
  • A cfg-split command warns on Windows even when it compiles. set_native_menu (src-tauri/src/modules/menu.rs) keeps its NativeMenuModel structs and its app param only for the #[cfg(target_os = "macos")] arm; on Windows they are dead code / an unused variable, so windows-check.yml's cargo check -D warnings fails the PR (#190 shipped the warning, #191 added the gate). Guard the mac-only bits: #[cfg_attr(not(target_os = "macos"), allow(dead_code))] on the types, #[cfg_attr(not(target_os = "macos"), allow(unused_variables))] on the fn. Prefer these cfg-scoped allows over an _-prefix, which would also hide the value from the macOS arm that needs it.
  • A new native crate may need a Windows toolchain. aws-lc-sys needs NASM; switching russh to its ring backend removed that so cargo build works on a stock Windows MSVC setup (#75). Before adding a crate with a -sys dependency, check its Windows build requirements.

windows-check.yml now compiles the Windows target on every PR with warnings-as-errors, so a broken cfg-gate or a Windows-only warning fails the PR automatically — no manual step. For anything cargo check cannot prove (bundling, native-crate link, runtime), still kick windows-build.yml (workflow_dispatch) and confirm it is green before merging.

7. No Windows backend: skip, do not crash or spin

Some capabilities have no Windows implementation and must degrade cleanly, not error or busy-loop:

  • pty foreground process: portable-pty exposes none on Windows, so detecting that claude/codex is running (for image auto-attach) is mac/Linux only (#75).
  • process cwd: no /proc, no lsof, so read_process_cwd returns None. The frontend must not keep polling pty_cwd every 1.2s per terminal into a dead backend — guard the poll off on Windows (#105), or drive cwd from OSC 7 shell integration instead (#115).

Rule: when a feature's backend is a no-op on Windows, gate the frontend caller too, so it does not fire pointless IPC or show a broken control.

8. Frontend: gate on IS_WINDOWS, not just IS_MAC

Platform branches written as "mac vs everything else" silently break Windows. Terminal paste was suppressed on all platforms and the smart-paste shortcut was IS_MAC-only, so Windows had no paste at all (#75). Window decorations are native on Windows and need a custom TitleBar (#67). Use IS_WINDOWS from src/lib/platform.ts and give Windows its own explicit branch.


9. Window creation deadlocks in a sync command

WebviewWindowBuilder::build() (and WindowBuilder/WebviewBuilder) deadlocks on Windows when called from a synchronous #[tauri::command] or event handler. WebView2 dispatches window creation as a message to the main event loop and blocks on the reply; a sync command runs on that same thread, so it waits on itself (upstream wry#583, called out in the Tauri builder docs). macOS/WKWebView has no such constraint, so this never reproduces in dev on the mac — only on a user's Windows machine.

The symptom is nasty and non-obvious: the OS window shell appears painted only with the builder's background_color (a blank dark rectangle — the webview never initializes), decorations(false) means no native frame and the React TitleBar never renders so there is no close button, and the wedged event loop kills every subsequent IPC-based shortcut app-wide. That was #208: a user pressing Ctrl+N (wired to the open_new_window command) got an unclosable blank window and a dead app.

The fix is what the Tauri docs prescribe — make the command async so it runs off the main thread — plus spawn_blocking so the blocking main-thread round-trips (build(), inner_size(), scale_factor()) stay off the shared async worker pool, matching how every other async command here handles blocking work:

rust
#[tauri::command]
async fn open_new_window(app: tauri::AppHandle) -> Result<(), String> {
    tauri::async_runtime::spawn_blocking(move || modules::menu::create_new_window(&app))
        .await
        .map_err(|e| e.to_string())?
        .map_err(|e| e.to_string())
}

Any command that builds a window or webview must follow this shape. Note that async commands can now run concurrently, so window-label allocation (next_window_label) can race across two rapid invocations — benign here (one window opens, the duplicate build() errors), but worth knowing if label collisions ever matter.


Release checklist (Windows)

The release is two-phase: scripts/release.sh runs on the mac (build, notarize, latest.json, gh release create with the v* tag), and the tag push triggers windows-build.yml, which builds on Windows, uploads .exe/.msi, and merges the windows-x86_64 platform into latest.json.

  • Windows CI is green. windows-check.yml gates compilation per PR, but windows-build.yml is the only thing that bundles and links the actual Windows binary; a red build means the release ships no working Windows binary.
  • The tagged commit still has a populated CHANGELOG-NEXT.md. windows-build.yml re-patches latest.json's notes from the changelog at the tagged commit. If the changelog was already archived/emptied, notes (macOS included) get wiped (#43). Do not point the tag at a master HEAD whose changelog was cleared.
  • Do not hand-patch latest.json before CI finishes — tauri-action rewrites it mid-run and would clobber your patch. Patch only after CI, via node scripts/patchManifestNotes.mjs <manifest> <changelog> then gh release upload --clobber.
  • Functional-test on a real Windows host. CI proves it compiles and bundles, not that it works. The recurring gap in this repo's PRs is the unchecked "Windows real verification" box. Use the CI artifact from the branch to smoke-test paste, launcher, terminal cwd, and the updater dialog.

How to actually verify on Windows

  • Dev never shows console-flash / spawn-cost bugs — a debug build owns a console. Reproduce these only in a release build (or the CI artifact).
  • No Windows box? The per-PR windows-check.yml already gates compilation (warnings included); to test behavior, push the branch and run windows-build.yml via workflow_dispatch, then download the artifact.
  • Keep platform logic in pure functions parameterized by windows: bool (see pr/mod.rs) so the Windows path has real unit tests that run on the mac, instead of #[cfg(windows)] code that is never executed until a user hits it.

© mukiwu, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/windows-tauri of mukiwu/tempo-term.

Open the folder on GitHubat commit 6750c17

Compare with similar skills

Windows Tauri next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Windows Tauri compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Windows Tauri this skillmukiwu/tempo-term228—~4.3kAutomated safety check: PassApache-2.0
Release Publishbkywksj/knowledge-base330—~6.2kAutomated safety check: PassCustom licence
Sake CI Releasekattouf/Sake116—~731Automated safety check: PassMIT
Releaseobjeck/objeck-lang165—~10kAutomated safety check: WarnCustom licence
Native Feel Cross Platform Desktopyetone/native-feel-skill1.9k1 repos~1.5kAutomated safety check: PassMIT
Build Px4 macOSPX4/PX4-Autopilot13k—~1.1kAutomated safety check: PassBSD-3-Clause

Similar skills

  • Release Publish

    bkywksj/knowledge-base

    发布 Tauri 桌面应用新版本,处理版本号同步、Git tag、GitHub Actions 构建、Release 仓库产物同步、Cloudflare R2 上传、update.json 生成、自动更新发布和文档站重建。

    330 GitHub stars~6.2k tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed
  • Sake CI Release

    kattouf/Sake

    A skill your agent uses when working on CI workflows, GitHub Actions, release process, changelog generation (git-cliff), or dependabot configuration.

    116 GitHub stars~731 tokensUpdated 6 mo ago
    DevelopmentAuto-check passed
  • Release

    objeck/objeck-lang

    Fully automate an Objeck release — reads version.h, auto-bumps if needed, pre-flight gates, LSP sync, docs update, tag push, GitHub Actions build/sign/publish monitoring, release body, and…

    165 GitHub stars~10k tokensUpdated yesterday
    DevOps & CloudAuto-check: warnings
  • Native Feel Cross Platform Desktop

    yetone/native-feel-skill

    A skill your agent uses when the user is designing, prototyping, or rewriting a desktop app that must run on multiple OSes (macOS + Windows, optionally Linux) AND feel indistinguishable from a…

    1.9k GitHub starsUsed in 1 repo~1.5k tokens
    DevelopmentAuto-check passed
  • Build Px4 macOS

    PX4/PX4-Autopilot

    Build PX4 board firmware on macOS in the px4-dev Docker container, including git worktrees, and stage commit-labeled artifacts without flashing hardware.

    13k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Covers preparing, tagging and publishing a Cline desktop app release on the stable, beta or nightly channel through the desktop-publish GitHub workflow.

    70k GitHub stars~4.5k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from mukiwu/tempo-term

  • Tauri

    mukiwu/tempo-term

    A skill your agent uses when working with Tauri 2 projects (tauri.conf.json, src-tauri/, capabilities, permissions,

    228 GitHub stars~2.5k tokensUpdated 8 days ago
    Auto-check passed
  • Tauri Performance Review

    mukiwu/tempo-term

    Expert workflow for reviewing Tauri 2 desktop app performance.

    228 GitHub stars~2.4k tokensUpdated 8 days ago
    Auto-check passed
  • Tauri Security Review

    mukiwu/tempo-term

    Expert workflow for reviewing Tauri 2 desktop app security. An agent skill from mukiwu/tempo-term.

    228 GitHub stars~2.8k tokensUpdated 8 days ago
    Auto-check: notes

Categories

Questions about Windows Tauri

What does Windows Tauri do?

A skill your agent uses when writing or reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command), path handling, cfg-gated platform APIs…. Windows Tauri is an agent skill from mukiwu/tempo-term. Use when writing or reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command), path handling, cfg-gated platform APIs, the pty/terminal, clipboard, ssh, line endings, or a new native crate — and before cutting a release.

When should I use Windows Tauri?

Windows Tauri fits situations like: reviewing code in this Tauri app that can behave differently on Windows — spawning a subprocess (git/gh/any Command); cfg-gated platform APIs; the pty/terminal; A new native crate — and before cutting a release.

How do I install Windows Tauri in Claude Code?

Run `npx skills add mukiwu/tempo-term --skill windows-tauri -a claude-code`. Or copy the skill folder (.claude/skills/windows-tauri in mukiwu/tempo-term) into .claude/skills/windows-tauri in your project. Claude Code loads it when a task matches its description.

How do I install Windows Tauri in Codex?

Run `npx skills add mukiwu/tempo-term --skill windows-tauri -a codex`. Or copy the skill folder (.claude/skills/windows-tauri in mukiwu/tempo-term) into .agents/skills/windows-tauri in your project. Codex loads it when a task matches its description.

Can I use Windows Tauri in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mukiwu/tempo-term --skill windows-tauri -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/windows-tauri, .gemini/skills/windows-tauri, .github/skills/windows-tauri and .opencode/skills/windows-tauri in your project.

What does Windows Tauri need to run?

Going by SKILL.md and its folder, Windows Tauri needs the command-line tools its instructions call (cargo, gh, bash and node).

Does Windows Tauri access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Windows Tauri safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Windows Tauri use?

Windows Tauri is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Windows Tauri use?

About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Windows Tauri?

Skills that share tags, products or a category with Windows Tauri: Release Publish (bkywksj/knowledge-base, 330 stars), Sake CI Release (kattouf/Sake, 116 stars), Release (objeck/objeck-lang, 165 stars) and Native Feel Cross Platform Desktop (yetone/native-feel-skill, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Windows Tauri?

mukiwu (a GitHub user) maintains it in mukiwu/tempo-term, which has 228 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 30, 2026.

Source: mukiwu/tempo-term on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.