Skip to content
Back to skills

Wsl

DSecurity

Operates WSL: wsl.exe, interop, PATH, slow /mnt/c. Use when crossing Windows and Linux, or when a tool works in a terminal but not from a script.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 5, 2026
developmentpythonshellbashnodegit

Works with

  • terminal

Security analysis

D50/100
  • criticalModifies startup scripts or system services for persistence
  • criticalModifies startup scripts or system services for persistence

Pro scans all 2 files and shows the line behind each finding

Scanned November 5, 2026

npx -y skills add niksavis/handily --skill wsl --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wsl?

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

Security grade badge for Wsl
[![Security: D — Skills Directory](https://www.skillsdirectory.com/api/skills/niksavis-wsl/badge)](https://www.skillsdirectory.com/skills/niksavis-wsl)

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: wsl
description: 'Operates WSL: wsl.exe, interop, PATH, slow /mnt/c. Use when crossing Windows and Linux, or when a tool works in a terminal but not from a script.'
---
<!-- Generated by `basicly skills-build` from skill.yaml. Do not edit; edit the source. -->

# WSL

Work in WSL (Windows Subsystem for Linux) across the Windows and Linux boundary. The
wsl.exe management and interop commands are in
[references/commands.md](references/commands.md).

## Rules

- **Keep project files on the Linux filesystem (`~/...`), not under `/mnt/c/...`.** Access
  through `/mnt` is much slower, and its case and permission rules differ.
- **Run `command -v <tool>` when a tool behaves strangely.** Interop puts Windows
  executables on the Linux `PATH`, so `git`, `node` or `python` can resolve to a `.exe`.
- **Use the Linux toolchain for repository work.** Call `<tool>.exe` only when you want
  the Windows program, for example `explorer.exe .`.
- **Set `PATH` in the script, or run it through `bash -lc '...'`.** A non-interactive
  shell does not read your profile.
- **Keep LF line endings.** A Windows editor that writes CRLF breaks shell scripts and git
  hooks.

## Non-interactive and login shells

A login or interactive shell reads `~/.bashrc` or `~/.zshrc`. That profile loads version
managers and sets `PATH`. A script, a background job or a hook that an agent starts is
non-interactive and does not read the profile. So the `PATH`, the aliases and the version
managers of your terminal are not there. A command that works when you type it can then
fail from a script.

The node and nvm form of this problem is in the `node` skill.

Files in this skill

  • SKILL.md1.6 KB
  • references/commands.md1.4 KB

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.