Skip to main content

unslop

Audit a codebase for AI-generated slop and architectural drift, then rank evidence-backed cleanup candidates and guide the chosen change through design and verification. Use when asked to de-slop, simplify, consolidate, or improve an existing codebase's structure, testability, or maintainability.

소스 정보

저장소
ContractorKeith/skills
최근 소스 활동
2026년 10월 6일 13:31
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
unslop
description
Audit a codebase for AI-generated slop and architectural drift, then rank evidence-backed cleanup candidates and guide the chosen change through design and verification. Use when asked to de-slop, simplify, consolidate, or improve an existing codebase's structure, testability, or maintainability.
license
MIT
disable-model-invocation
true
metadata
{"author":"ContractorKeith","version":"1.0.0","domain":"quality","scope":"audit","output-format":"cleanup-brief","related-skills":"codebase-design, code-review"}
# Unslop Treat this as a job-site walkthrough before demolition. Find the places where the code makes ordinary work harder, separate proven friction from a hunch, and make one sound cleanup choice at a time. Do not assume code is bad because AI wrote it; judge the shape and the evidence. ## Establish the ground truth Read `CONTEXT.md` and relevant `docs/adr/` records before drawing conclusions. Use the terms from `/codebase-design`: **module**, **interface**, **implementation**, **depth**, **seam**, **adapter**, **leverage**, and **locality**. Use the project's glossary for domain terms. - Respect a recorded decision unless current, observable friction justifies reopening it. Mark that conflict plainly. - Keep an observation separate from its proposed cleanup. Cite the files, call paths, tests, or repeated patterns that support each observation. - Do not start refactoring while the review is still choosing a target. ## Walk the codebase Start at entry points and follow a few representative user flows through their tests and dependencies. Read enough surrounding code to understand the responsibility before flagging it. Look for work that is unnecessarily spread out: - A shallow module whose interface asks callers to understand nearly everything its implementation does. - Pass-through modules, one-use helpers, or abstraction stacks that merely move a decision to another file. - Repeated types, validation, branching, or error handling that has drifted between callers. - Infrastructure details leaking over a seam into domain logic or callers. - Tests coupled to private choreography instead of observable behaviour. - Ambiguous names, generic indirection, dead paths, or speculative knobs that obscure the domain model. - Changes to one behaviour that require edits across many modules, showing poor locality. For every suspected shallow module, run the deletion test: mentally remove it. If callers would each have to reconstruct its work, it is buying leverage. If little changes beyond file locations, it is probably slop. ## Present the cleanup brief Give the user a compact Markdown brief in the conversation. Do not create a temporary HTML dashboard: the audit needs an actionable comparison, not a second artifact to maintain. Include three to seven candidates, ranked by the value and confidence of the evidence. For every candidate, include: - **Name and files** — name the responsibility and list the concrete paths. - **Evidence** — what the walkthrough showed, with relevant symbols or lines. - **Friction** — explain the problem in terms of depth, seam, locality, or leverage. - **Cleanup direction** — describe the safe consolidation or separation, but do not settle a new interface yet. - **Proof and risk** — tests to add, preserve, or replace; migration hazards; and any ADR conflict. - **Strength** — `Strong`, `Worth exploring`, or `Speculative`. End with one top recommendation and the reason it wins now. Ask the user to choose a candidate. A simple before/after sketch is useful when call flow or module ownership would otherwise be hard to see; omit decorative diagrams. ## Take the selected candidate to completion For a cleanup with a real design choice, use `/grill` to settle the module's responsibility, seam, and constraints before changing code. For a small, well-bounded cleanup, state the intended observable behaviour and proof first, then use `/implement`. - Put new tests at the deepened module's interface. Once that proof exists, remove tests whose only purpose was pinning a discarded shallow wrapper. - Introduce an adapter or seam only when at least two real implementations need it. See `/codebase-design` for dependency categories and alternative interfaces. - Keep the cleanup focused. A candidate that exposes a larger design question becomes a separate follow-up rather than expanding the current change. - Finish with `/code-review`: inspect the full change, confirm the old drift is gone rather than relocated, and run the relevant checks.
GitHub에서 보기