원클릭으로
code-organization
Use when placing, moving, naming, or splitting frontend files.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when placing, moving, naming, or splitting frontend files.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use BEFORE building or changing any UI — components, layout, color, spacing, typography, interaction states, or visual styling — to verify the planned change matches the Figma design via the Figma MCP. Run this gate before writing or editing UI code.
Use when placing features, repositories, hooks, or fixing dependency-cruiser errors.
Use when validating frontend changes before commit, push, or PR.
Use when retrieving or addressing PR review comments.
Use when frontend files, components, hooks, or helpers exceed complexity gates.
Use when creating new repository documentation or agent guides.
| name | code-organization |
| description | Use when placing, moving, naming, or splitting frontend files. |
Place code by ownership first, then by type. Prefer the existing module and feature structure over new top-level abstractions.
src/
modules/
user/
config/
features/
auth/
assets/
components/
hooks/
i18n/
repositories/
routes/
types/
utils/
hooks/
lib/
store/
types/
utils/
components/
services/
stores/
config/
routes/
providers/
utils/
Use src/modules/<module>/features/<feature>/ for domain-owned workflows.
Use src/components/ui-* for reusable UI building blocks.
ui- prefix and MUI/Emotion patterns.features/<feature>/repositories/; features must
not call the HTTP client (src/services/https-client/) directly.index file only.src/services/ directly.i18n/en.json and i18n/uk.json.tests/.@/ imports instead of deep relative paths across folders.All rules below are enforced by dependency-cruiser (see
.dependency-cruiser.js). Violations fail make lint-deps and CI.
src/ or tests/ (rule: no-uppercase-paths).src/modules/ are lowercase kebab-case — user,
back-to-main — not User or BackToMain (src-module-name-kebab-case).src/modules/*/features/ are lowercase kebab-case —
auth, not Auth (src-feature-name-kebab-case).components/form-section/inert-box.tsx,
repositories/login-repository.ts).index.* or use-<kebab>.*
(use-login-switcher.ts) — enforced by feature-hooks-file-convention.config, features, hooks, lib,
store, types, utils (module-allowed-folders). Use lib/ or
utils/ instead of helpers/.assets, components, hooks, i18n,
repositories, routes, types, utils (feature-allowed-folders).
Do not add api/, helpers/, or store/ at feature level — data
access is repositories/; store stays at module level.tests/{e2e,integration,unit}/ modules/ are lowercase kebab-case (tests-module-name-lowercase,
tests-feature-name-lowercase).UI (e.g. export function UIButton),
but their files and folders stay kebab-case (ui-button/index.tsx).useSomething; hook files are use-something.ts.helper, misc, or utils catch-alls.Before applying this skill, confirm the active task against ../AI-AGENT-GUIDE.md and ../SKILL-DECISION-GUIDE.md so every relevant skill is consulted.
Before presenting changes, check changed text files for lines longer than 100 characters.
If any exist, tell the user each path:line and measured character count.
Treat this as disclosure, not failure, unless a project gate fails.