Marketplace

xplat-checks

Cross-platform compatibility checking tools. Detects path issues, line endings, environment variables, shell commands, and other patterns that break on Windows or Linux.

$ 설치

git clone https://github.com/dansasser/claude-code-marketplace /tmp/claude-code-marketplace && cp -r /tmp/claude-code-marketplace/plugins/preflight/skills/xplat-checks ~/.claude/skills/claude-code-marketplace

// tip: Run this command in your terminal to install the skill


name: xplat-checks description: Cross-platform compatibility checking tools. Detects path issues, line endings, environment variables, shell commands, and other patterns that break on Windows or Linux.

Cross-Platform Checks Skill

Scripts for detecting cross-platform compatibility issues in Python code.

Scripts

check_paths.py

Detect hardcoded path separators.

python .claude/skills/xplat-checks/scripts/check_paths.py [directory]

Finds:

  • Hardcoded forward slashes in string paths
  • Hardcoded backslashes
  • Forward slashes inside os.path.join()

check_line_endings.py

Detect line ending issues.

python .claude/skills/xplat-checks/scripts/check_line_endings.py [directory]

Finds:

  • Files with CRLF line endings
  • Mixed line endings in single file
  • Missing .gitattributes

check_env_vars.py

Find platform-specific environment variable usage.

python .claude/skills/xplat-checks/scripts/check_env_vars.py [directory]

Finds:

  • $HOME, $USER (Unix-only)
  • %USERPROFILE%, %USERNAME%, %TEMP% (Windows-only)

check_case_sensitivity.py

Detect case sensitivity issues.

python .claude/skills/xplat-checks/scripts/check_case_sensitivity.py [directory]

Finds:

  • Files differing only by case
  • Import statements with wrong case

check_shell_commands.py

Detect shell command compatibility issues.

python .claude/skills/xplat-checks/scripts/check_shell_commands.py [directory]

Finds:

  • os.system() calls
  • subprocess with shell=True
  • Bash-specific commands

check_temp_paths.py

Find hardcoded temp directory paths.

python .claude/skills/xplat-checks/scripts/check_temp_paths.py [directory]

Finds:

  • /tmp references
  • C:\Temp references
  • /var/tmp references

Output Format

All scripts output JSON:

{
  "status": "PASS|FAIL",
  "files_scanned": 156,
  "issues": [
    {
      "file": "src/config.py",
      "line": 47,
      "column": 12,
      "issue": "Hardcoded forward slash in path",
      "code": "config_path = 'data/config.yaml'",
      "suggestion": "Use Path('data') / 'config.yaml'"
    }
  ]
}

Fix Reference

IssueBadGood
Path separator"data/file.txt"Path("data") / "file.txt"
Home directoryos.environ["HOME"]Path.home()
Temp directory"/tmp/file"Path(tempfile.gettempdir()) / "file"
Shell commandos.system("rm -rf x")shutil.rmtree("x")
Usernameos.environ["USER"]getpass.getuser()