windows-compatibility
3
总安装量
3
周安装量
#54817
全站排名
安装命令
npx skills add https://github.com/oimiragieo/agent-studio --skill windows-compatibility
Agent 安装分布
clawdbot
1
codex
1
github-copilot
1
Skill 文档
Windows Compatibility Skill
Critical Rule: Bash Tool Uses Git Bash
The Bash tool runs commands through Git Bash (/usr/bin/bash), NOT Windows CMD or PowerShell.
This means:
- Use bash/POSIX syntax for all shell commands
- Do NOT use Windows CMD syntax (
if not exist,copy,del) - Do NOT use PowerShell syntax (
Remove-Item,New-Item)
Command Syntax Reference
Directory Operations
| Task | â Correct (Bash) | â Wrong (CMD) | â Wrong (PowerShell) |
|---|---|---|---|
| Create directory | mkdir -p path/to/dir |
mkdir path\to\dir |
New-Item -ItemType Directory |
| Check if exists | [ -d "path" ] && ... |
if exist path ... |
Test-Path path |
| Remove directory | rm -rf path/to/dir |
rmdir /s /q path |
Remove-Item -Recurse |
| List files | ls -la |
dir |
Get-ChildItem |
File Operations
| Task | â Correct (Bash) | â Wrong (CMD) | â Wrong (PowerShell) |
|---|---|---|---|
| Create empty file | touch file.txt or echo "" > file.txt |
echo. > file.txt |
New-Item file.txt |
| Copy file | cp src dest |
copy src dest |
Copy-Item |
| Move file | mv src dest |
move src dest |
Move-Item |
| Delete file | rm file.txt |
del file.txt |
Remove-Item |
| Read file | cat file.txt |
type file.txt |
Get-Content |
Conditional Operations
| Task | â Correct (Bash) | â Wrong (CMD) |
|---|---|---|
| If directory exists | [ -d "path" ] && echo "exists" |
if exist path\ echo exists |
| If file exists | [ -f "file" ] && echo "exists" |
if exist file echo exists |
| Multi-line conditional | if [ condition ]; then ... fi |
if condition ( ... ) |
Path Handling
- Use forward slashes in bash:
.claude/context/memory/ - Git Bash auto-converts Windows paths, but prefer forward slashes
- Quote paths with spaces:
"path with spaces/file.txt"
Common Mistakes to Avoid
â Windows CMD Multi-line If
# WRONG - Git Bash cannot parse this
if not exist "path" mkdir "path"
if not exist "other" mkdir "other"
â Bash Equivalent
# CORRECT - Use bash syntax
mkdir -p path other
# Or with explicit check:
[ -d "path" ] || mkdir -p path
â Touch Command Failure Handling
# WRONG - touch may not exist on Windows, fails silently
touch file.txt 2>/dev/null
â Portable Alternative
# CORRECT - echo works everywhere in bash
echo "" > file.txt
# Or use mkdir -p for directories (never fails if exists)
mkdir -p path/to/dir
Node.js Cross-Platform Tips
When writing JavaScript/Node.js code:
// Use path.join() for cross-platform paths
const filePath = path.join(__dirname, 'subdir', 'file.txt');
// Use fs.mkdir with recursive option
fs.mkdirSync(dirPath, { recursive: true });
// Check platform if needed
if (process.platform === 'win32') {
// Windows-specific handling
}
Memory Protocol (MANDATORY)
Before starting:
cat .claude/context/memory/learnings.md
After completing: Record any new patterns or exceptions discovered.
ASSUME INTERRUPTION: Your context may reset. If it’s not in memory, it didn’t happen.