style: place INSTALLATION.md Windows Notes where its ToC entry says; PEP 8 blank lines in encoding-fix scripts

Review follow-up on PR #972: the Windows Notes section now sits between
Verification & Testing and Troubleshooting, matching the Table of Contents
order, and the four scripts patched for #969 are back to exactly two blank
lines after the reconfigure block.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4
This commit is contained in:
Claude 2026-08-21 06:02:06 +00:00
parent ea94a78bac
commit 43e9d3984a
No known key found for this signature in database
5 changed files with 33 additions and 37 deletions

View file

@ -21,39 +21,6 @@ Complete installation guide for all 205+ production-ready skills across multiple
---
## Windows Notes
Two Windows-specific caveats to know before cloning or running skills (issues #968 and #969):
### Symlinks: mirror trees need `core.symlinks=true`
The cross-platform mirror trees (`.gemini/`, `.codex/`, `.vibe/`, `.hermes/`) are built from **relative symlinks** into the real skill directories. Git for Windows defaults to `core.symlinks=false`, so a default clone checks those 1,300+ links out as **1-line text files containing only the target path** — copying a skill folder from a mirror tree then silently gives you dead pointer files instead of skills.
Before cloning on Windows:
1. Enable **Developer Mode** (Settings → System → For developers), or run Git from an elevated prompt.
2. Clone with symlinks enabled:
```powershell
git clone -c core.symlinks=true https://github.com/alirezarezvani/claude-skills.git
```
If you already cloned without it, either re-clone as above, or **copy skills from the real domain directories** (e.g. `engineering-team/`, `marketing-skill/`) instead of the mirror trees — the Claude Code plugin/marketplace path always uses the real directories and is unaffected. Quick sanity check after any copy: a real `SKILL.md` is more than one line long.
### Console encoding: run Python tools with UTF-8
Windows consoles often default to a legacy codepage (e.g. cp1252) that cannot encode the box-drawing and comparison characters (`╔`, `≥`, `✅`) some skill tools print, which crashes the script at print time with `UnicodeEncodeError`. The most-affected tools now re-encode their own output, but as a blanket fix for every script in this library, enable Python's UTF-8 mode:
```powershell
# Per session
$env:PYTHONUTF8 = "1"
# Or permanently
setx PYTHONUTF8 1
```
---
## Quick Start
**Choose your agent:**
@ -550,6 +517,39 @@ python3 ~/.claude/skills/content-production/scripts/seo_optimizer.py test-articl
---
## Windows Notes
Two Windows-specific caveats to know before cloning or running skills (issues #968 and #969):
### Symlinks: mirror trees need `core.symlinks=true`
The cross-platform mirror trees (`.gemini/`, `.codex/`, `.vibe/`, `.hermes/`) are built from **relative symlinks** into the real skill directories. Git for Windows defaults to `core.symlinks=false`, so a default clone checks those 1,300+ links out as **1-line text files containing only the target path** — copying a skill folder from a mirror tree then silently gives you dead pointer files instead of skills.
Before cloning on Windows:
1. Enable **Developer Mode** (Settings → System → For developers), or run Git from an elevated prompt.
2. Clone with symlinks enabled:
```powershell
git clone -c core.symlinks=true https://github.com/alirezarezvani/claude-skills.git
```
If you already cloned without it, either re-clone as above, or **copy skills from the real domain directories** (e.g. `engineering-team/`, `marketing-skill/`) instead of the mirror trees — the Claude Code plugin/marketplace path always uses the real directories and is unaffected. Quick sanity check after any copy: a real `SKILL.md` is more than one line long.
### Console encoding: run Python tools with UTF-8
Windows consoles often default to a legacy codepage (e.g. cp1252) that cannot encode the box-drawing and comparison characters (`╔`, `≥`, `✅`) some skill tools print, which crashes the script at print time with `UnicodeEncodeError`. The most-affected tools now re-encode their own output, but as a blanket fix for every script in this library, enable Python's UTF-8 mode:
```powershell
# Per session
$env:PYTHONUTF8 = "1"
# Or permanently
setx PYTHONUTF8 1
```
---
## Troubleshooting
### Universal Installer Issues

View file

@ -36,7 +36,6 @@ if hasattr(sys.stderr, "reconfigure"):
sys.stderr.reconfigure(encoding="utf-8", errors="replace")
class Severity(IntEnum):
INFO = 0
HIGH = 1

View file

@ -40,7 +40,6 @@ if hasattr(sys.stderr, "reconfigure"):
sys.stderr.reconfigure(encoding="utf-8", errors="replace")
SESSIONS_DIR = Path.home() / ".dossier_sessions"
VALID_CLASSIFICATIONS = ["supporting", "disconfirming", "inconclusive"]
VALID_TIERS = ["primary", "secondary", "tertiary"]

View file

@ -35,7 +35,6 @@ if hasattr(sys.stderr, "reconfigure"):
sys.stderr.reconfigure(encoding="utf-8", errors="replace")
SESSIONS_DIR = Path.home() / ".dossier_sessions"
MIN_RATIO = 0.30
WARN_RATIO = 0.20

View file

@ -37,7 +37,6 @@ if hasattr(sys.stderr, "reconfigure"):
sys.stderr.reconfigure(encoding="utf-8", errors="replace")
# Pattern-based tier assignment. Most specific patterns first.
PRIMARY_DOMAIN_EXACT = {