ワンクリックで
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.