--- name: codebase-improvement-advisor description: > 既存のコードベース全体を分析し、リファクタリング・最適化の提案を自動生成するためのスキル。 TypeScript/JavaScriptプロジェクトの品質分析、コード改善提案、重複コード検出、セキュリティスキャンなど 「このプロジェクトの改善点を教えて」や「リファクタリング候補をリストアップして」といった依頼に使用する。 --- # Codebase Improvement Advisor ## Overview コードベース全体を自動分析し、優先度付きの改善タスクリストを生成します。TypeScript/JavaScriptプロジェクトに特化しており、リファクタリング候補の特定、パフォーマンス最適化の提案、セキュリティ問題の検出、テストカバレッジ分析などを行います。 ## Quick Start ### 基本的な使用方法 1. **プロジェクト全体の分析**: ``` コードベース全体を分析して、改善提案リストを作成してください ``` 2. **特定の問題タイプに焦点**: ``` セキュリティ問題に特化してコードをスキャンしてください パフォーマンス改善の機会を特定してください ``` 3. **リファクタリング提案の生成**: ``` このファイルのリファクタリング候補を提案してください: src/components/UserProfile.tsx ``` ## Core Capabilities ### 1. コード品質分析 - **複雑度分析**: 関数の循環的複雑度を測定し、複雑すぎる関数を特定 - **コードメトリクス**: ファイルごとの行数、関数数、クラス数などを計測 - **命名規則チェック**: 変数名や関数名の改善提案 - **重複コード検出**: 類似コードパターンの自動検出 ### 2. リファクタリング提案 - **関数抽出**: 長すぎる関数の分割提案 - **定数抽出**: マジックナンバーや文字列リテラルの定数化 - **条件式の単純化**: 複雑な条件分岐の改善提案 - **クラス構造の改善**: 複数責務を持つクラスの分割提案 ### 3. セキュリティスキャン - **脆弱性検出**: eval()、innerHTML、ハードコードされた認証情報など - **入力検証**: 不適切な入力処理の検出 - **依存関係チェック**: 既知の脆弱性を持つパッケージの特定 ### 4. パフォーマンス最適化 - **非効率なコードパターン**: ループの最適化機会 - **メモリ使用量**: メモリリークや非効率なメモリ使用の検出 - **非同期処理**: Promiseやasync/awaitの最適化提案 ### 5. テスト品質分析 - **カバレッジ分析**: テストカバレッジの評価 - **テスト品質**: テストケースの網羅性と品質評価 - **テスト構造**: 効率的なテスト構造の提案 ## Usage Examples ### Example 1: プロジェクト全体分析 ``` プロジェクトルートのコードベースを分析して、優先度付きの改善タスクリストを生成してください。 ``` このスキルは以下の手順で実行します: 1. `scripts/codebase_analyzer.py` を実行して全ファイルをスキャン 2. 各種問題をカテゴリ別に分類 3. `assets/improvement_template.md` を使用してタスクリストを生成 ### Example 2: セキュリティ特化分析 ``` セキュリティ上の懸念事項に焦点を当ててコードを分析してください。 ``` ### Example 3: パフォーマンス改善 ``` このプロジェクトのパフォーマンス改善機会を特定し、具体的な最適化案を提案してください。 ``` ## Workflow ### 分析の実行フロー 1. **プロジェクトスキャン** - 対象ファイルの収集(TypeScript, JavaScript, Pythonなど) - 無視ディレクトリの除外(node_modules, dist, .gitなど) 2. **静的解析の実行** - 構文解析とAST生成 - メトリクス計算と複雑度分析 - パターンマッチングによる問題検出 3. **問題の分類と優先付け** - 問題タイプの識別(security, performance, complexityなど) - 重大度の評価(high, medium, low) - 修正工数の見積もり 4. **レポート生成** - マークダウン形式の改善タスクリスト作成 - 具体的なコード例と改善案の提示 - 実行計画の提案 ## Resources ### scripts/ 分析とリファクタリング支援を行うPythonスクリプト群 **主要スクリプト:** - `codebase_analyzer.py`: プロジェクト全体を分析し改善提案を生成 - `refactoring_helper.py`: 特定のリファクタリングパターンを提案・適用支援 **実行方法:** ```bash # プロジェクト全体分析 python scripts/codebase_analyzer.py --path /path/to/project --output improvement_tasks.md # リファクタリング提案 python scripts/refactoring_helper.py --file path/to/file.ts --action analyze ``` ### references/ コード品質改善に関する詳細ガイドとベストプラクティス **主要ドキュメント:** - `typescript_best_practices.md`: TypeScriptコーディング標準と品質基準 - `refactoring_patterns.md`: 一般的なリファクタリングパターンと実装例 **内容:** - 型安全性の確保方法 - 関数設計のベストプラクティス - エラーハンドリングのパターン - パフォーマンス最適化のテクニック - テスト戦略とモックの使用方法 ### assets/ レポート生成用のテンプレートと雛形 **主要ファイル:** - `improvement_template.md`: 改善タスクリストのテンプレート **使用方法:** 分析結果に基づいてこのテンプレートを自動的に埋め、優先度付きタスクリストを生成します。 ## Output Format ### 生成されるレポートの構造 1. **分析サマリー** - 分析対象ファイル数、総コード行数 - 発見された問題数と内訳 2. **優先度別タスクリスト** - 🔴 高優先度: セキュリティ問題や重大なバグ - 🟡 中優先度: リファクタリングやパフォーマンス改善 - 🟢 低優先度: コードスタイルや小さな改善点 3. **カテゴリー別分析** - 各問題タイプの詳細と改善提案 - 影響範囲と修正工数の見積もり 4. **実行計画** - フェーズ別の改善ロードマップ - 進捗追跡用のチェックリスト ## Integration with Development Workflow ### CI/CD連携 - GitHub Actionsでの定期実行 - プルリクエスト時のコード品質チェック - レポートの自動生成と通知 ### IDE連携 - VSCode拡張機能でのリアルタイムフィードバック - エディタ内での問題ハイライト表示 ### プロジェクト管理ツール連携 - JIRAやGitHub Issuesへのタスク自動生成 - スプリント計画での改善タスク組み込み