Agent skill

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.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/xplat-checks

SKILL.md

Cross-Platform Checks Skill

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

Scripts

check_paths.py

Detect hardcoded path separators.

bash
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.

bash
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.

bash
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.

bash
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.

bash
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.

bash
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:

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

Issue Bad Good
Path separator "data/file.txt" Path("data") / "file.txt"
Home directory os.environ["HOME"] Path.home()
Temp directory "/tmp/file" Path(tempfile.gettempdir()) / "file"
Shell command os.system("rm -rf x") shutil.rmtree("x")
Username os.environ["USER"] getpass.getuser()

Didn't find tool you were looking for?

Be as detailed as possible for better results