Skip to content
Back to skills

Native Os Integration

ASecurity

Wire native OS integration the way each platform expects — tray/menu-bar, application menus, notifications, file associations, custom-scheme deep links routed through a single-instance lock, and secrets in the OS credential store.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsrustgoreactapi

Works with

  • api

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add mcorbett51090/RavenClaude --skill native-os-integration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Native Os Integration?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Native Os Integration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-native-os-integration/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-native-os-integration)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: native-os-integration
description: "Wire native OS integration the way each platform expects — tray/menu-bar, application menus, notifications, file associations, custom-scheme deep links routed through a single-instance lock, and secrets in the OS credential store."
---

# Native OS Integration

## Follow each OS's conventions

- **Tray / menu bar.** A macOS menu-bar item and a Windows system-tray icon behave differently — use the platform idiom, not one cross-OS approximation.
- **Application menus.** macOS expects a real app menu (with the standard App/Edit/Window items); Windows/Linux put menus on the window. Build per-OS menu templates.
- **Notifications.** Use the OS notification API; request/respect permission and the OS Do-Not-Disturb/focus state.

## Single instance + deep links + file associations

Most desktop apps should be **single-instance**:

- Acquire a single-instance lock at startup; if a second launch happens, **focus the running window** and hand it the new argv (the file path or deep-link URL).
- Register a **custom URL scheme** (`myapp://…`) and/or **file associations** at install; route both through the single-instance handler so the app reacts whether it was already running or cold-started.
- **Validate** the deep-link/file payload before acting — it is untrusted input that can arrive from a browser or another app.

## Secrets in the OS store

Tokens/secrets go in the OS credential store — Keychain (macOS), Credential Manager (Windows), libsecret (Linux) — via Electron `safeStorage` or Tauri Stronghold/keyring. Never plaintext config. When Linux has no secret service, name the fallback (e.g. an encrypted file with an explicit weaker-guarantee note) rather than silently writing plaintext.

## Lifecycle

Persist and restore window state; handle minimize-to-tray vs quit per the app's intent; flush unsaved work on `before-quit`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…