К основному содержанию
скилл CX Codex

cross-platform-compatibility — скилл для Claude Code: установка

Скилл учит ИИ писать код без привязки к конкретной ОС. Он подсказывает правила для путей файлов, переводов строк и зависимостей в Windows, macOS и Linux.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add aj-geddes/useful-ai-prompts --skill cross-platform-compatibility -a claude-code
Открыть на GitHub

Что делает cross-platform-compatibility

Скилл задаёт набор инструкций и справочников для работы с файловой системой, переменными окружения и процессами. Вместо захардкоженных слэшей агент приучается использовать path.join(), path.resolve() и os.homedir().

Внутри собраны паттерны для обработки os.EOL, кодировки UTF-8 и разграничения прав доступа к файлам. Для платформенных библиотек предлагается задействовать optionalDependencies и предусматривать запасные варианты при вызове команд оболочки.

Жёсткая привязка к Unix-сигналам или регистрозависимым путям ломает запуск на Windows. Скилл держит фокус на тестах в CI и проверке окружения во время выполнения приложения.

Какие задачи решает

  • адаптировать файловые пути под Windows и Unix через модуль path
  • настроить обработку системных переводов строк и кодировку UTF-8
  • изолировать платформозависимые пакеты через optionalDependencies
  • корректно экранировать системные команды в разных шеллах

Примеры запросов агенту

  • Проверь скрипты сборки и перепиши хардкод путей через path.join().
  • Сделай запуск внешних shell-команд совместимым с Windows и Linux.
  • Как переписать чтение файлов с учётом системных окончаний строк os.EOL?

Как установить cross-platform-compatibility

1Через Skills CLI (Vercel)

npx skills add aj-geddes/useful-ai-prompts --skill cross-platform-compatibility -a claude-code

2Вручную: положить файлы

~/.claude/skills/cross-platform-compatibility/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cross-platform-compatibility/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о cross-platform-compatibility

Как установить cross-platform-compatibility в Claude Code?

Выполните команду npx skills add aj-geddes/useful-ai-prompts --skill cross-platform-compatibility -a claude-code. Также можно вручную поместить файл по пути ~/.claude/skills/cross-platform-compatibility/SKILL.md.

Что делает скилл cross-platform-compatibility?

Он предоставляет модели правила написания переносимого кода, уделяя внимание путям к файлам, разделителям строк, вызовам терминала и разнице между операционными системами.

Как скилл предлагает управлять зависимостями под разные ОС?

Инструкция советует выносить специфичные для платформы модули в блок optionalDependencies и реализовывать запасные сценарии, если системный API недоступен.

Исходный текст

SKILL.md · MIT
---
name: cross-platform-compatibility
description: >
  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.
---

# Cross-Platform Compatibility

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#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:

```typescript
// ❌ BAD: Hardcoded paths with platform-specific separators
const configPath = "C:\\Users\\user\\config.json"; // Windows only
const dataPath = "/home/user/data.txt"; // Unix only

// ✅ GOOD: Use path module
import path from "path";
import os from "os";

// Platform-independent path construction
const configPath = path.join(os.homedir(), "config", "app.json");
const dataPath = path.join(process.cwd(), "data", "users.txt");

// Resolve relative paths
const absolutePath = path.resolve("./config/settings.json");

// Get path components
const dirname = path.dirname("/path/to/file.txt"); // '/path/to'
const basename = path.basename("/path/to/file.txt"); // 'file.txt'
const extname = path.extname("/path/to/file.txt"); // '.txt'

// Normalize paths (handle .. and .)
const normalized = path.normalize("/path/to/../file.txt"); // '/path/file.txt'
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [File Path Handling](references/file-path-handling.md) | File Path Handling |
| [Platform Detection](references/platform-detection.md) | Platform Detection |
| [Line Endings](references/line-endings.md) | Line Endings |
| [Environment Variables](references/environment-variables.md) | Environment Variables |
| [Shell Commands](references/shell-commands.md) | Shell Commands |
| [File Permissions](references/file-permissions.md) | File Permissions |
| [Process Management](references/process-management.md) | Process Management |
| [Platform-Specific Dependencies](references/platform-specific-dependencies.md) | Platform-Specific Dependencies |
| [Testing Across Platforms](references/testing-across-platforms.md) | Testing Across Platforms |
| [Character Encoding](references/character-encoding.md) | Character Encoding |
| [Build Configuration](references/build-configuration.md) | 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 endings
- Use platform-specific APIs without checking
- Hardcode environment variable access patterns
- Ignore character encoding issues

© aj-geddes · MIT · aj-geddes/useful-ai-prompts

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →
mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок claude-api официальный anthropics Справочник по Anthropic SDK и API Claude для генерации кода без устаревших параметров и выдуманных методов. 74 198установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. CX Codex +1 472 900установок lark-event larksuite Слушает события Lark/Feishu и отдаёт их потоком NDJSON. Подходит для ботов, обработчиков сообщений и долгих подписчиков. CX Codex +1 466 800установок caveman-discover JuliusBrussee Находит точки вызова LLM в репозитории и размечает их воркфлоу для Caveman Cloud, чтобы расходы на токены не сливались в одну общую кучу. CX Codex +1 104 400установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок

Из того же набора149

uptime-monitoring Скилл для ИИ-агента, который помогает настроить проверки доступности сервиса, статус-страницу и учёт инцидентов. Пригодится, когда нужно видеть, что именно упало. CX Codex +1 484установок api-response-optimization Скилл для ИИ-кодинга, который помогает сократить время ответа API: кэширование, сжатие и чистые payload'ы. CX Codex +1 484установок background-job-processing Скилл помогает настроить фоновую обработку задач: очереди, воркеры, расписание и повторные попытки при сбоях. Пригодится, когда письма, отчёты и большие выгрузки нельзя держать в основном потоке. CX Codex +1 483установок accessibility-compliance Скилл помогает внедрять требования WCAG 2.1/2.2, клавиатурную навигацию и поддержку программ чтения с экрана. CX Codex +1 482установок git-workflow-strategy Скилл помогает агенту выбрать схему ветвления и провести фичу, релиз или хотфикс по шагам. Пригодится, когда в команде нет единых правил работы с ветками. CX Codex +1 482установок zero-trust-architecture Скилл помогает внедрить модель нулевого доверия: проверку каждого запроса и микросегментацию сервисов. Пригодится при разработке облачных приложений. CX Codex +1 482установок web-performance-optimization Скилл для оптимизации веб-приложений: разбиение бандла, ленивая загрузка, кэширование, сжатие и мониторинг. Пригодится, когда страницы грузятся медленно. CX Codex +1 482установок frontend-state-management Скилл для работы с состоянием фронтенда: подсказывает, как организовать Redux, MobX, Zustand или Context API в приложении. CX Codex +1 480установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой