Detect squatters: modules and packages that occupy namespace positions they do not semantically own. Identifies utility dumps, stuttery siblings, axis violations, layer bleeding, and semantic diffusion — common structural smells introduced by agentic programming.
Read all references in references/ before using this skill.
A squatter is a module or package that occupies a namespace position it does not semantically own.
In real estate, squatters occupy property without legal claim. In codebases, squatters occupy import paths without conceptual legitimacy. They exist because:
las_fields.py instead of las/fields.py)Squatters degrade navigability. A developer (or agent) cannot guess where code lives because the filesystem lies about ownership.
Every module should be importable from a path that a domain expert would guess correctly.
If a module name compensates for weak structure, or sits beside a package it should be inside, the filesystem is lying about the domain model.
common/, utils/, or helpers/ packageslas_fields.py beside las/)Directory: references/
01_GOAL.md — What this skill accomplishes02_DEFINITIONS.md — Vocabulary for squatters and namespace violations03_INVARIANTS.md — Rules that determine violations04_HEURISTICS.md — Detection patterns and signals05_PROCEDURE.md — Step-by-step audit process06_REMEDIATION.md — Refactoring directions (hypotheses, not mandates)07_OUTPUT.md — Report format and severity classificationDirectory: scripts/
detect.sh: Scan for structural smells (macOS/Linux/WSL)detect.ps1: Scan for structural smells (Windows)# Scan a package for squatters
.codex/skills/refactor/squatters/scripts/detect.sh pulsar/api
# Scan with specific pattern focus
.codex/skills/refactor/squatters/scripts/detect.sh pulsar/api --pattern utility-dump
.codex/skills/refactor/squatters/scripts/detect.sh pulsar/api --pattern stuttery-sibling
npx skills add JordanGunn/refactor-squatters下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer