本文へ移動
cccskills
無料GitHub で公開

code-review-standards

Enforces project coding standards during code review: naming conventions (PascalCase for classes, camelCase for methods/variables, UPPER_SNAKE_CASE for constants, kebab-case for files), standard file structure, anti-magic-number policy, file size limits (500/800 lines), security patterns, and design patterns. Use when reviewing code, writing new code, or checking adherence to project conventions.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

コードレビュー基準

プロジェクトのコーディング規約に基づいてコードレビューを実施するためのスキル。 PATTERNS.md および MASTER.md で定義された基準を適用する。

1. 命名規則

要素パターン例
クラスPascalCaseUserService
インターフェースPascalCase + I prefixIUserRepository
メソッドcamelCasegetUserById()
変数camelCaseuserName
定数UPPER_SNAKE_CASEMAX_RETRY_COUNT
ファイルkebab-caseuser-service.ts

2. ファイル構造の標準パターン

すべてのファイルは以下の順序で構成すること:

// 1. imports
import { Injectable } from "@nestjs/common";

// 2. constants
const MAX_RETRY_COUNT = 3;

// 3. types/interfaces
interface UserData {
  id: string;
  name: string;
}

// 4. main class/function
@Injectable()
export class UserService {
  // implementation
}

// 5. exports
export { UserService, UserData };

3. マジックナンバー禁止(必須)

すべての意味のある数値・文字列は名前付き定数に抽出すること。これはプロジェクトの必須ルール。

// ❌ 禁止: マジックナンバー
if (retryCount > 3) {
  throw new Error("Max retries exceeded");
}
setTimeout(callback, 30000);

// ✅ 正しい: 名前付き定数
const MAX_RETRY_COUNT = 3;
if (retryCount > MAX_RETRY_COUNT) {
  throw new Error("Max retries exceeded");
}

const API_CONFIG = {
  TIMEOUT_MS: 30000,
  MAX_RETRIES: 3,
  RATE_LIMIT: 100,
} as const;
setTimeout(callback, API_CONFIG.TIMEOUT_MS);

定数は用途別にグループ化し、as const で型安全性を確保する。

4. ファイルサイズ制限

基準行数アクション
ソフトリミット500行分割を検討
ハードリミット800行分割を実施(生成コード・スキーマは例外)

800行を超えるファイルは、責務の分離を基準に複数ファイルに分割する。

5. セキュリティパターン

レビュー時に以下を確認すること:

  • 入力サニタイゼーション: ユーザー入力は必ずサニタイズ(HTML エスケープ、特殊文字除去)
  • パラメタライズドクエリ: SQL は文字列結合ではなくプレースホルダーを使用
  • 認証ミドルウェア: JWT トークンの検証は専用ミドルウェアで実施
  • 認可チェック: ロールベースのアクセス制御をデコレーターまたはガードで実装
// ✅ パラメタライズドクエリ
const data = await db.query("SELECT * FROM users WHERE id = ?", [id]);

// ❌ 文字列結合(SQLインジェクション脆弱性)
const data = await db.query(`SELECT * FROM users WHERE id = '${id}'`);

6. デザインパターン

プロジェクトで推奨されるデザインパターン:

パターン用途
Repositoryデータアクセスの抽象化(インターフェース経由)
Factory型に基づくオブジェクト生成の一元化
Singleton設定マネージャー等の単一インスタンス管理
Decoratorキャッシング、認証、ロール検証の横断的関心事

7. 禁止事項チェックリスト

コードレビュー時に以下が含まれていないか確認する:

  • any 型の使用(型安全性の喪失)
  • console.log の本番コードへの残存(構造化ログを使用)
  • マジックナンバー・ハードコード値
  • 未使用の import 文
  • サイレントなエラー握りつぶし(空の catch ブロック)
  • 文字列結合による SQL クエリ構築
  • 非 null アサーション(!)の無条件使用
  • テストのない新規ビジネスロジック

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

code-review

無料日本語概要

プロジェクトガイドラインへの準拠をチェックし、バグ、スタイル違反、コード品質問題を検出する。PRレビュー時に使用。

feel-flow/ai-spec-driven-development72026年9月14日 更新

code-simplification

無料日本語概要

機能を保持したまま不要な複雑性を排除し、コードの簡潔性と可読性を向上させる。30行超の関数や3段以上のネスト検出時に使用。

feel-flow/ai-spec-driven-development72026年9月14日 更新

comment-analysis

無料日本語概要

コードコメントの正確性、完全性、長期的な保守性を分析する。JSDoc、コメント、README等のドキュメントが変更された場合に使用。

feel-flow/ai-spec-driven-development72026年9月14日 更新

error-handler-hunt

無料日本語概要

サイレント失敗を検出し、堅牢なエラーハンドリングを確保する。PRレビューでのエラーハンドリング検査時に使用。

feel-flow/ai-spec-driven-development72026年9月14日 更新

Enforces error handling standards: silent error prohibition, custom error class hierarchy (AppError base with category never-fallback / transient / permanent, cause preservation, ValidationError / UnauthorizedError / UpstreamError etc. — canonical definitions in PATTERNS.md), external-boundary normalization (normalizeExternalError), Result pattern (Result.ok/Result.fail), proper try-catch with error type checking, structured error logging with a single Logger contract, fallback prohibition categories (isNeverFallback), and HTTP status code mapping. Use when implementing error handling, reviewing catch blocks, or designing error responses.

日本語の概要は準備中です。原文の説明を表示しています。

feel-flow/ai-spec-driven-development72026年9月14日 更新

Creates and reviews agent skills safely by enforcing deletion-prevention harness rules: no fixed absolute temp paths, no cwd-dependent cleanup, no wildcard deletes, no workspace-external file operations, no silent cleanup failures, and mandatory temp-root validation before any destructive command. Use when creating a new skill, updating an existing SKILL.md, or reviewing prompts/runbooks that include temp files, extraction, cleanup, PowerShell, bash, rm, del, Remove-Item, or archive expansion.

日本語の概要は準備中です。原文の説明を表示しています。

feel-flow/ai-spec-driven-development72026年9月14日 更新

feel-flow のスキルをすべて見る

このスキルの問題を報告する