← ClaudeAtlas

jp-ascii-space-fixlisted

Detect and remove half-width spaces at ASCII↔CJK boundaries in Markdown, TSX/TS/JSX/JS, HTML, JSON-LD, and plain text. Context-aware — skips fenced code blocks, HTML attributes, and ASCII-only runs. Battle-tested across netsujo-web (178 files, 1500+ replacements in lib/blog-data.ts alone). Use when user says "half-width space", "CJK space", "Japanese typography", "和欧混植", "ASCII boundary", "英単語と日本語のスペース", or "remove space between English and Japanese".
suirindo/netsujo-aio-seo · ★ 0 · Data & Documents · score 70
Install: claude install-skill suirindo/netsujo-aio-seo
# JP ASCII↔CJK Space Fixer Context-aware detector and remover of half-width spaces between ASCII characters (A-Z, a-z, 0-9, common punctuation) and CJK characters (Hiragana, Katakana, CJK Unified Ideographs, Halfwidth/Fullwidth Forms). Replaces one-off `perl -pi -e` sweeps with a skill that understands fenced code, HTML attributes, and Markdown list markers. ## What it does 1. **Scans files recursively** for the two boundary patterns (ASCII+space+CJK and CJK+space+ASCII) 2. **Skips contexts where the space is intentional**: fenced code blocks (```), inline code (`` ` ``), HTML attribute values, ASCII-only runs, Markdown list/heading/blockquote markers 3. **Reports** every match as `file:line:column` with before/after diff 4. **Applies fixes** only when `--apply` is explicitly passed (dry-run is default) 5. **Supports git scoping**: `--git-staged` for staged hunks only, `--diff <range>` for branch diffs ## When to use - User says "half-width space", "CJK space", "Japanese typography", "和欧混植", "ASCII boundary" - Cleaning up imported CMS content (Strapi rich text, MicroCMS, Google Docs export) - Pre-commit hook to enforce repo-wide typography consistency - Migrating legacy content that mixed `Next.js 15` style (good) with `Next.js のフレームワーク` (bad, space between `15` and `の`) - Before deploying SEO-sensitive pages — Google indexes `ASCII+space+CJK` and `ASCII+CJK` as different tokens, so inconsistent source strings split ranking signal ## Why source-level removal, not CSS B