用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill validate-conventions命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | validate-conventions |
| description | Review changed code against project conventions and rules Use when this capability is needed. |
| metadata | {"author":"FouadMagdy01"} |
Review changed code against all project conventions defined in CONVENTIONS.md.
Run git diff --name-only HEAD to find modified files. If no uncommitted changes, check git diff --name-only HEAD~1 for the last commit.
If the user specifies particular files, use those instead.
Read each changed file to inspect the code.
For each file, check ALL of the following rules:
StyleSheet imported from react-native-unistyles, NOT react-nativeText imported from @/common/components/Text, NOT react-nativez imported from zod/v4, NOT zod@/ or ~/), no deep relative imports (../../..)@/ internal > relativeimport type { ... }@/common/components/Button not @/common/components/Button/Button)src/ filesapp/ screen filesstyles.useVariants() called before accessing styles (if using variants)StyleSheet.createaccessibilityRole on Pressable, TouchableOpacity, buttonsaccessibilityLabel on interactive elementsaccessibilityState for disabled/busy/selected statesStyleSheet.create((theme) => ({...})) pattern with theme callback#hex, rgb(), named colors) - use theme.colors.*theme.metrics.spacing.* or theme.metrics.spacingV.*theme.fonts.size.*theme.metrics.borderRadius.*useStore((s) => s.field), NOT useStore()useAuthStore() without selectoruseAuthStore.getState() inside React components (only in non-React code)t('key') from useTranslation()en.json and ar.json updated together (check git diff for both)any typesimport type{ComponentName}PropsButton.tsx, Button.styles.ts, Button.types.ts)order-details.tsx)use (useProducts.ts)Service (productService.ts)Schema (productSchema.ts)Store (authStore.ts)api from @/services/api, not raw fetch or axiosconsole.log in production code (use if (__DEV__) guard or remove)expo-router (router.push, router.replace)useAuthStoreFor each issue found, report:
[RULE] <rule name>
[FILE] <file_path>:<line_number>
[ISSUE] <description of the violation>
[FIX] <how to fix it>
Group findings by file. Show clean files too: <file_path> - No issues found
Run npm run validate as a final automated check (TypeScript + ESLint + Prettier).
Report the results.
Checked: X files
Issues found: Y
- Import issues: N
- Style issues: N
- i18n issues: N
- TypeScript issues: N
- Other: N
npm run validate: PASS/FAIL
npm run validate as the final stepSource: FouadMagdy01/RNCopilot — distributed by TomeVault.