multiplatform-desktop-skill

multiplatform-desktop-skill is a skill for Claude Code, Codex from St0ff3l/fileterm. It costs 102 tokens per session (3,994 once invoked), scanned A, original, MIT.

A FileTerm guide for handling interface and shortcut differences across macOS, Windows, and Linux in its Tauri, Rust, React, and TypeScript desktop application. It covers windows, menus, terminal behavior, fonts, gestures, copying, and closing tabs or windows.

In plain words
What is it for?
Use it when implementing native window commands, platform menus and title bars, terminal shortcuts and sizing, touchpad or wheel behavior, fonts, copy and paste, or SSH/SFTP/FTP connections.
Why use it?
It prevents platform-specific behavior from being placed in the wrong application layer or from making one operating system's interface appear on another.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/st0ff3l/fileterm/multiplatform-desktop-skill
Any agent
npx skills add St0ff3l/fileterm --skill multiplatform-desktop-skill
Clone the repo
git clone --depth 1 https://github.com/St0ff3l/fileterm

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for multiplatform-desktop-skill

README.md
[![agentmods](https://agentmods.dev/badge/skills/st0ff3l/fileterm/multiplatform-desktop-skill.svg)](https://agentmods.dev/skills/st0ff3l/fileterm/multiplatform-desktop-skill)
Your own site
<a href="https://agentmods.dev/skills/st0ff3l/fileterm/multiplatform-desktop-skill"><img src="https://agentmods.dev/badge/skills/st0ff3l/fileterm/multiplatform-desktop-skill.svg" alt="Measured on agentmods" height="20"></a>
Per session 102 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,994 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00102 $0.03994
Opus 5 $0.00051 $0.01997
Sonnet 5 $0.00020 $0.00799
Haiku 4.5 $0.00010 $0.00399

Measured today against content hash 978766a5bcda, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

multiplatform-desktop-skill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/multiplatform-desktop-skill/SKILL.md · 164 lines

How it starts

The opening of the file, as written. The whole thing — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.

FileTerm 跨平台 UI 与快捷键技能

FileTerm 的生产链路是 Tauri 2 + Rust + React + TypeScript。当前分支只维护 Tauri;不要引用已移除的迁移前实现、目录或验证命令。

先定位归属

先分清用户要操作的对象;同一个按键或菜单名落在不同对象上,语义完全不同。

用户意图 正确归属 典型反例
退出、最小化、原生菜单、系统窗口 Rust / Tauri window command Renderer 直接调用系统 API
菜单项、标题栏布局、平台 CSS React renderer 把 macOS 视觉留白套给 Windows/Linux
终端复制、输入、选择、分屏、字号 TerminalView / xterm 用应用 WebView 缩放代替终端字号
SSH / SFTP / FTP、远端 PTY 尺寸 Rust command/event → bridge → renderer Renderer 直接访问协议 client

实现前确认完整链路:Rust command/event → apps/tauri/src/bridge/tauri-api.ts → packages/core 类型 → renderer。新系统能力必须经过这条边界。

平台来源与 UI 分支

  • 只使用 window.fileterm.platform;Tauri bridge 归一化为 darwinwin32linuxbrowser
  • Renderer 启动时将该值写入 document.documentElement.dataset.platform;样式优先以 :root[data-platform='…'] 分支。
  • 禁止 navigator.platform、UA 猜测、硬编码平台布尔值,或用 CSS 媒体查询猜操作系统。
  • macOS 使用原生窗口语义与 traffic lights;Windows/Linux 使用自绘 WindowMenubar。不要让任一方的标题栏、拖拽区或菜单结构泄漏到另一方。
  • 平台视觉差异应写在 theme token / 平台样式层,而不是散落在业务 JSX 内。

详细 UI 实现规则

标题栏、窗口与布局

  • macOS:保留系统 decorations 与 traffic lights,renderer 只为左上角控件留出避让空间。不要渲染 Windows/Linux 的菜单栏或自绘关闭按钮;不要把 traffic lights 当作普通 React button。
  • Windows/Linux:主窗口由 renderer 提供紧凑的 WindowMenubar 与窗口控制。拖拽区必须使用 data-tauri-drag-region,菜单、关闭/最小化/最大化按钮及其他可点击控件必须排除拖拽行为。
  • 独立窗口:连接表单、命令表单和文件编辑器有自己的 frame 与关闭链路。检查主窗口的标题栏样式不会覆盖独立窗口,也不要把主窗口的菜单状态复用到独立窗口。
  • 布局改动:同时验证 macOS traffic lights 避让、Windows/Linux 自绘 menubar 高度、最大化状态、窄窗口换行和高 DPI。标题栏的一个像素变化会向下挤压整个工作区。

主要位置:

  • Rust 窗口创建、原生菜单、tray、关闭生命周期:apps/tauri/src-tauri/src/lib.rs
  • 窗口动作与命令边界:apps/tauri/src-tauri/src/commands/mod.rs
  • 自绘菜单:apps/tauri/src/renderer/features/layout/window-menubar.tsx
  • renderer 平台分支:apps/tauri/src/renderer/app.tsxapps/tauri/src/renderer/main.tsx
  • shell 与平台样式:apps/tauri/src/renderer/styles/features/shell.cssapps/tauri/src/renderer/styles/features/workstation-skin.css

Read the full file on GitHub · 164 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +32 lines 978766a5bcda
  2. 4d ago First seen · 132 lines · 102 tokens per session scan A 57d93b86be98

Subscribe to this mod's changes

multiplatform-desktop-skill is a skill published in the GitHub repository St0ff3l/fileterm (301 stars, last pushed today), licensed MIT. It adds 102 tokens to every session and 3,994 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

livecodes/framework-wrappers

Use SDK with React, Vue, Svelte, Solid, Preact, and Web Components. sdkReady callback pattern, reactive props, and framework-specific setup. Load this skill when embedding LiveCodes in a framework application.

live-codes/livecodes · 51 tokens

migrate-radix-to-base

Migrates React projects and components from Radix UI to Base UI. Use when asked to migrate from radix, move to base-ui, convert radix primitives, or switch a shadcn project's base library. Handles single components ("migrate accordion") and whole projects.

shadcn-ui/ui · 61 tokens

chakra-ui-builder

Build responsive, accessible UI components and layouts using Chakra UI v3, install or configure Chakra UI in new and existing projects, and design scalable themes using tokens, semantic tokens, recipes, and slot recipes. Use this skill whenever a user asks to build, create, or generate any UI component, page, form…

chakra-ui/chakra-ui · 214 tokens

copilotkit-upgrade

Use when migrating a CopilotKit v1 application to v2 -- updating package imports, replacing deprecated hooks and components, switching from GraphQL runtime to AG-UI protocol runtime, and resolving breaking API changes.

CopilotKit/CopilotKit · 48 tokens

flags

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.

react/react · 26 tokens

material-ui-tailwind

Integrates Material UI with Tailwind CSS v4 using cascade layers (enableCssLayer, @layer order) and documents Tailwind v3 interoperability (preflight, important, injectFirst, portals). Use when combining MUI with Tailwind utilities, slotProps className, or theme token bridges.

mui/material-ui · 67 tokens