Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/AxGord/claude-workflow --skill domain-ui명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Debugging meta-patterns — what to do when fixes don't stick
Game dev precision and physics gotchas
Claude Code configuration gotchas — permission rule syntax and evaluation order, settings hierarchy, plugin install scopes, hook behavior
SOC 직업 분류 기준
SKILL.md 표시 중
| name | domain-ui |
| description | UI component architecture — ownership, state, events |
When a component needs setup logic (creating initial children, dispatching init events, setting initial state), that logic belongs inside the component — not in its parent.
DON'T: Parent creates component, then manually triggers component's internal logic from outside
DO: Component exposes an open() / init() method or handles it in constructor — parent just calls that
Why: Parent shouldn't know component's internal structure. If internals change, only the component changes — parent stays untouched.
When a UI element's state depends on app data (enabled/disabled, tooltip, label), the decision logic belongs in the component that owns the element — not in a parent coordinator.
DON'T: Parent computes blocked = ..., then sets child.button.disabled = blocked and tooltipManager.add(child.button, text)
DO: Parent passes raw data (updateState(hasX, count)), the owner decides and applies
Why: The owner already manages the element's other state (tooltips on language change, default values). If the parent bypasses the owner, state changes from different sources (language change, limit check) overwrite each other. When the owner controls all paths, it can cache state and re-apply consistently.
Symptom of violation: a parent sets a custom tooltip on a child's element, then a language-change handler in the child overwrites it — because the child doesn't know about the parent's custom state.
targetWhen a composite re-dispatches events from children, event.target already identifies the original source.
DON'T: Add a targetSource / originalSender field to carry the child reference through re-dispatch
DO: Only add fields for data the child genuinely doesn't know (e.g. its index in the parent's collection)
Rule: Every field in an event must have at least one consumer. "Might be useful later" fields are overengineering.