# Windows install fallback If `irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex` fails on Windows (issues #249, #199, #72), set up plugin-skill activation by hand. This does **not** install the standalone hooks or the statusline — for those, run `hooks/install.ps1` after this. ```powershell $ClaudeDir = if ($env:CLAUDE_CONFIG_DIR) { $env:CLAUDE_CONFIG_DIR } else { Join-Path $HOME ".claude" } $PluginSkillDir = Join-Path $ClaudeDir ".agents\plugins\caveman\skills\caveman" $MarketplaceDir = Join-Path $ClaudeDir ".agents\plugins" $MarketplaceFile = Join-Path $MarketplaceDir "marketplace.json" # Copy SKILL.md into the plugin path New-Item -ItemType Directory -Path $PluginSkillDir -Force | Out-Null Copy-Item ".\skills\caveman\SKILL.md" "$PluginSkillDir\SKILL.md" -Force # Create or update marketplace.json with the caveman entry New-Item -ItemType Directory -Path $MarketplaceDir -Force | Out-Null if (Test-Path $MarketplaceFile) { $marketplace = Get-Content $MarketplaceFile -Raw | ConvertFrom-Json } else { $marketplace = [pscustomobject]@{} } if (-not ($marketplace.PSObject.Properties.Name -contains "plugins")) { $marketplace | Add-Member -NotePropertyName plugins -NotePropertyValue ([pscustomobject]@{}) } $plugins = [ordered]@{} foreach ($p in $marketplace.plugins.PSObject.Properties) { $plugins[$p.Name] = $p.Value } $plugins["caveman"] = [ordered]@{ name = "caveman"; source = "JuliusBrussee/caveman"; version = "main" } $marketplace.plugins = [pscustomobject]$plugins $marketplace | ConvertTo-Json -Depth 10 | Set-Content -Path $MarketplaceFile -Encoding UTF8 ``` Verify: `Test-Path "$PluginSkillDir\SKILL.md"` should print `True`. Restart Claude Code, then run `/caveman` to confirm the skill loads. ## Codex on Windows 1. Enable symlinks first: `git config --global core.symlinks true` (requires Developer Mode or admin). 2. Clone repo → Open VS Code → Codex Settings → Plugins → find "Caveman" under the local marketplace → Install → Reload Window. 3. Codex hooks are currently disabled on Windows, so use `$caveman` to start the mode manually each session. ## `npx skills` symlink fallback `npx skills` uses symlinks by default. If symlinks fail, add `--copy`: ```powershell npx skills add JuliusBrussee/caveman --copy ``` ## Want it always on (any agent)? Paste this into the agent's system prompt or rules file: ``` Terse like caveman. Technical substance exact. Only fluff die. Drop: articles, filler (just/really/basically), pleasantries, hedging. Fragments OK. Short synonyms. Code unchanged. Pattern: [thing] [action] [reason]. [next step]. ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Code/commits/PRs: normal. Off: "stop caveman" / "normal mode". ```