一键导入
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.