with one click
windows-compatibility
Cross-platform path handling and command patterns
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Cross-platform path handling and command patterns
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
How to write comprehensive architectural proposals that drive alignment before code is written
How the eval engine works: generate → grade → review → report
Record final outcomes to history.md, not intermediate requests or reversed decisions
Tone enforcement patterns for external-facing community responses
Team initialization flow (Phase 1 proposal + Phase 2 creation)
Core conventions and patterns for this codebase
| name | windows-compatibility |
| description | Cross-platform path handling and command patterns |
| domain | platform |
| confidence | high |
| source | earned (multiple Windows-specific bugs: colons in filenames, git -C failures, path separators) |
Squad runs on Windows, macOS, and Linux. Several bugs have been traced to platform-specific assumptions: ISO timestamps with colons (illegal on Windows), git -C with Windows paths (unreliable), forward-slash paths in Node.js on Windows.
Status (fixed): All 17 existing
.squad/files with colons in timestamps have been renamed to use hyphens. Templates now instruct agents to use hyphenated timestamps in filenames (e.g.,2026-04-04T03-55-26Z).
2026-03-15T05:30:00Z is illegal on WindowssafeTimestamp() utility: Replaces colons with hyphens → 2026-03-15T05-30-00Z.toISOString().replace(/:/g, '-') — use the utilitygit -C {path}: Unreliable with Windows paths (backslashes, spaces, drive letters)cd first: Change directory, then run git commandsgit diff --cached --quiet (exit 0 = no changes)-m flag: Backtick-n (\n) fails silently in PowerShell-F flag: Write message to file, commit with git commit -F $msgFileTEAM ROOT from spawn prompt or run git rev-parse --show-toplevel/ or \✓ Correct:
// Timestamp utility
const safeTimestamp = () => new Date().toISOString().replace(/:/g, '-').split('.')[0] + 'Z';
// Git workflow (PowerShell)
cd $teamRoot
git add .squad/
if ($LASTEXITCODE -eq 0) {
$msg = @"
docs(ai-team): session log
Changes:
- Added decisions
"@
$msgFile = [System.IO.Path]::GetTempFileName()
Set-Content -Path $msgFile -Value $msg -Encoding utf8
git commit -F $msgFile
Remove-Item $msgFile
}
✗ Incorrect:
// Colon in filename
const logPath = `.squad/log/${new Date().toISOString()}.md`; // ILLEGAL on Windows
// git -C with Windows path
exec('git -C C:\\src\\squad add .squad/'); // UNRELIABLE
// Inline newlines in commit message
exec('git commit -m "First line\nSecond line"'); // FAILS silently in PowerShell
git -C because it "looks cleaner" (it doesn't work)git diff --cached --quiet check (creates empty commits)