Skip to main content

code-prose

Apply Orwell's rules to the prose inside code — identifiers and comments — without changing behavior. Use when names, word choice, or comments need an editorial pass.

소스 정보

저장소
EpicenterHQ/epicenter
최근 소스 활동
2026년 10월 5일 05:26
감지된 SKILL.md 언어
영어
스타
4,823
포크
385

설치 방법

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

소스 파일 검토

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

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
code-prose
description
Apply Orwell's rules to the prose inside code — identifiers and comments — without changing behavior. Use when names, word choice, or comments need an editorial pass.
Review changes in the current branch, or in the scope the user specifies. Apply these criteria without changing behavior. Only touch code in that scope, and run the relevant existing checks after changes. ## Word choice in code and comments Variable names, function names, and comments are all prose. Apply Orwell's rules ("Politics and the English Language") to each: > Never use a long word where a short one will do. > > If it is possible to cut a word out, always cut it out. > > Never use the passive where you can use the active. > > Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent. Latinate vocabulary (reconcile, coalesce, normalize, reconciliation) sounds technical and abstract; Anglo-Saxon words (prune, run, watch, stop, drop, walk) are short and physical. Prefer the Saxon word. ### Names 1. **One word per concept, one concept per word.** Keep a vocabulary. If `sync` names "pulling remote changes," it cannot also name "flushing edits to disk;" rename one of them. 2. **Cut words the context already carries.** A module named `workspaceWatcher` does not need `startNativeWorkspaceWatcher`; `watchWorkspace` says the same thing. 3. **A compound name is usually a hedge:** - ❌ `lastObservedDiskContent` is a specification to defend - ✅ `baseline` is a readable description ### Comments State, in plain English, the constraint the code cannot show: why the **non-obvious** exists. - ✅ If code is complex and the implementation is non-obvious, add a comment. - ✅ If a function contains complex behaviors or side effects, add a doc comment. - 🗑️ If a comment narrates change history from the conversation, delete it. - 🗑️ If a comment restates code whose behavior is self-evident, delete it. ## Overfitting Code must stand on its own. If a name or comment only makes sense to someone who watched it happen (this conversation, this PR), it is overfitted. Write for the reader who arrives with no history: rewrite it against the codebase's own vocabulary. For the structural half of the same discipline — file shape, derivable state, and compatibility with code that never shipped — use [refactoring methods](../collapse-pass/references/refactoring-methods.md).
GitHub에서 보기