Agent skill · software engineering · aj-geddes

cross-platform-compatibility

Handle cross-platform compatibility including file paths, environment detection, platform-specific dependencies, and testing across Windows, macOS, and Linux. Use when dealing with platform-specific code or OS compatibility.

Why this skill is useful

Provides detailed strategies and best practices for handling platform-specific code and dependencies that the AI may not reliably generate on its own.

What it needs

About 2k tokens when loaded. Last updated 2026-03-04. 307 stars on the source repository.

What this skill does

Cross-Platform Compatibility Table of Contents Overview When to Use Quick Start Reference Guides Best Practices Overview Comprehensive guide to writing code that works seamlessly across Windows, macOS, and Linux. Covers file path handling, environment detection, platform-specific features, and testing strategies. When to Use Building applications for multiple operating systems Handling file system operations Managing platform-specific dependencies Detecting operating system and architecture Working with environment variables Building cross-platform CLI tools Dealing with line endings and character encodings Managing platform-specific build processes Quick Start Minimal working example: Reference Guides Detailed implementations in the references/ directory: Guide Contents --- --- File Path Handling File Path Handling Platform Detection Platform Detection Line Endings Line Endings Environment Variables Environment Variables Shell Commands Shell Commands File Permissions File Permissions Process Management Process Management Platform-Specific Dependencies Platform-Specific Dependencies Testing Across Platforms Testing Across Platforms Character Encoding Character Encoding Build Configuration Build Configuration Best Practices ✅ DO Use path.join() or path.resolve() for paths Use os.EOL for line endings Detect platform at runtime when needed Test on all target platforms Use optionalDependencies for platform-specific modules Handle file permissions gracefully Use shell escaping for user input Normalize line endings in text files Use UTF-8 encoding by default Document platform-specific behavior Provide fallbacks for platform-specific features Use CI/CD to test on multiple platforms ❌ DON'T Hardcode file paths with backslashes or forward slashes Assume Unix-only features (signals, permissions, symlinks) Ignore Windows-specific quirks (drive letters, UNC paths) Use platform-specific commands without fallbacks Assume case-sensitive file systems Forget about different line end …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aj-geddes/cross-platform-compatibility

View the source on GitHub

Browse the @skills marketplace