Synthèse automatique
Passe en revue un diff de code selon les conventions RT Stack, via une checklist hiérarchisée (sécurité, typage, architecture, style) et l'exécution des commandes lint, typecheck, format et doc-lint du dépôt.
Points forts
- Checklist classée Critical / Warning / Info, illustrée d'exemples ❌/✅ directement comparables au code examiné
- Outils volontairement limités à Read, Grep, Glob et Bash : la revue reste en lecture seule et ne peut pas modifier le code
- Tableau de correspondance emplacement de fichier → points à vérifier, adapté à un monorepo pnpm (contracts, server/router, schemas, routes)
- Format de retour standardisé en markdown, prêt à être collé dans une pull request
Limites
- Très couplé à un stack précis (Valibot, protectedProcedure, TanStack Router/Query, en-têtes [IN]/[OUT]/[POS], fichiers .folder.md) : peu réutilisable tel quel sur un autre projet
- Aucune intégration GitHub ou PR décrite : le diff est récupéré localement via git, ce qui suppose un contexte de travail sur le dépôt
- Les vérifications automatisées reposent sur des scripts pnpm (typecheck, lint, format, doc-lint) qui doivent déjà exister
À utiliser pour relire un diff ou une branche avant commit ou fusion dans un projet respectant les conventions RT Stack.
À éviter sur une base de code sans rapport avec RT Stack (autre framework, autre outil de validation), où la plupart des règles n'auront pas de sens.
Analyse de sécurité
PrudenceThere is nothing destructive or exfiltrating here: no curl|sh, no rm -rf, no secret handling, no obfuscation, and the skill explicitly aims to be read-only. The only real risk surface is the Bash grant, which is used for standard git/pnpm commands against an arbitrary repository; that is a legitimate but powerful capability, so the appropriate rating is caution rather than safe.
- •Declares Bash access, which allows arbitrary command execution (git diff, pnpm lint/typecheck/doc-lint), including `&&`-chained scripts from the reviewed repository — package.json scripts run with full user privileges even though the stated intent is read-only review.
- •Automated check commands (pnpm lint/format/doc-lint) may execute third-party plugins or auto-fix/rewrite files, contradicting the skill's claim that the review process never modifies code.
- •Reviews untrusted diffs (git diff output) that are fed into the agent's context — a malicious repo commit could attempt prompt injection; the skill gives no guidance to treat diff content as data rather than instructions.
Exemples
Review the changes on my current branch against main — run the diff, check it against the RT Stack checklist, and give me the feedback in your standard Critical/Warning/Info format.Before I commit, check the code I just changed: type safety, protectedProcedure usage, input validation, and whether any new file is missing its header comment.Run pnpm lint, typecheck, format and doc-lint on this repo, then review the failing or affected files and tell me what needs fixing before approval.name: code-review description: | Review code changes following RT Stack conventions and best practices. 按照 RT Stack 规范和最佳实践审查代码变更。
Use when:
- Reviewing pull requests
- Checking code quality before commit
- User mentions "review", "check code", "审查代码", "代码检查" allowed-tools: Read, Grep, Glob, Bash
Code Review Skill / 代码审查技能
设计思路 / Design Notes:
allowed-tools限制为只读工具,确保审查过程不会修改代码- 提供项目特定的检查清单
- 按重要性分级(Critical > Warning > Info)
- 包含自动化检查命令
Overview / 概述
Review code changes following RT Stack patterns and conventions. 按照 RT Stack 模式和规范审查代码变更。
Review Checklist / 审查清单
🔴 Critical Issues / 严重问题
-
Type Safety / 类型安全
- No
anytypes without justification / 无理由不使用any - Proper Valibot schemas for API inputs/outputs / API 输入输出使用正确的 Valibot 模式
- Database queries use proper types / 数据库查询使用正确类型
- No
-
Security / 安全
- Protected routes use
protectedProcedure/ 受保护路由使用protectedProcedure - No secrets in code / 代码中无密钥
- Input validation on all user inputs / 所有用户输入都有验证
- Protected routes use
-
Error Handling / 错误处理
- API errors use defined error codes / API 错误使用定义的错误码
- No unhandled promise rejections / 无未处理的 Promise 拒绝
🟡 Warning Issues / 警告问题
-
Architecture / 架构
- New code follows existing patterns / 新代码遵循现有模式
- Packages don't import from apps / 包不从 apps 导入
- Environment variables use correct prefix / 环境变量使用正确前缀
-
Documentation / 文档
- New files have
[IN]/[OUT]/[POS]headers / 新文件有头注释 - Affected
.folder.mdupdated / 受影响的.folder.md已更新 - Bilingual comments / 双语注释
- New files have
-
Performance / 性能
- No N+1 queries / 无 N+1 查询
- Proper use of TanStack Query caching / 正确使用 TanStack Query 缓存
🔵 Info / Style / 信息/风格
-
Naming / 命名
- Database columns use
snake_case/ 数据库列使用snake_case - TypeScript uses
camelCase/ TypeScript 使用camelCase - Components use
PascalCase/ 组件使用PascalCase
- Database columns use
-
Imports / 导入
- Use
@/alias for web app / Web 应用使用@/别名 - Use
#/alias for UI package / UI 包使用#/别名 - Use
@repo/*for cross-package / 跨包使用@repo/*
- Use
Automated Checks / 自动化检查
Run these commands before approving:
# Type check / 类型检查
pnpm typecheck
# Lint / 代码检查
pnpm lint
# Format check / 格式检查
pnpm format
# Documentation check / 文档检查
pnpm doc-lint
Review Process / 审查流程
Step 1: Understand Changes / 理解变更
# View changed files / 查看变更文件
git diff --name-only HEAD~1
# View full diff / 查看完整差异
git diff HEAD~1
Step 2: Check Patterns / 检查模式
For each file type, verify:
| File Location | Check |
|--------------|-------|
| packages/api/src/contracts/ | Valibot schemas, OpenAPI annotations |
| packages/api/src/server/router/ | Uses protectedProcedure, proper error handling |
| packages/db/src/schemas/ | Foreign keys, timestamps, snake_case |
| apps/web/src/routes/ | TanStack Router patterns, proper loaders |
| apps/web/src/routes/-components/ | Reusable, no direct API calls |
Step 3: Run Checks / 运行检查
pnpm lint && pnpm typecheck && pnpm doc-lint
Step 4: Provide Feedback / 提供反馈
Use this format / 使用此格式:
## Code Review / 代码审查
### 🔴 Critical / 严重
- [ ] Issue description / 问题描述
### 🟡 Warnings / 警告
- [ ] Issue description / 问题描述
### 🔵 Suggestions / 建议
- [ ] Suggestion / 建议
### ✅ Approved / 批准
- Code follows RT Stack conventions / 代码遵循 RT Stack 规范
- All checks pass / 所有检查通过
Common Issues / 常见问题
Missing Protected Procedure / 缺少受保护过程
// ❌ Wrong
const router = {
create: publicProcedure.create.handler(...)
};
// ✅ Correct
const router = {
create: protectedProcedure.create.handler(...)
};
Direct Database Import in Web / Web 中直接导入数据库
// ❌ Wrong (in apps/web)
import { db } from '@repo/db';
// ✅ Correct (use API client)
import { apiClient } from '@/clients/apiClient';
Missing Error Handling / 缺少错误处理
// ❌ Wrong
const [result] = await db.select().from(table).where(...);
return result; // Could be undefined!
// ✅ Correct
if (!result) {
throw errors.NOT_FOUND({ message: 'Not found' });
}
return result;
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/code-review-with-rt-stack-conventions-mryiqgrg/download' --output '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md.part' && mv '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md.part' '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Grep, Glob, Bash
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md' && test -s '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/code-review' && cp -R '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg' '.claude/skills/code-review'Cursor
test -f '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md' && test -s '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/code-review' && cp -R '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg' '.cursor/skills/code-review'Codex
test -f '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md' && test -s '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/code-review' && cp -R '.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg' '.agents/skills/code-review'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg'openskills read 'code-review-with-rt-stack-conventions-mryiqgrg'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/code-review-with-rt-stack-conventions-mryiqgrg/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.