Back to skills
extension
Category: Development & EngineeringNo API key required

codebase-improvement-advisor

A skill for analyzing the entire existing codebase and automatically generating proposals for refactoring and optimization. It is used for quality analysis of TypeScript/JavaScript projects, suggestions for code improvements, detection of duplicate code, security scans, etc., and can be utilized to respond to requests such as 'Tell me points for improvement in this project' or 'List up refactoring candidates'.

personAuthor: jakexiaohubgithub

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: 特定のリファクタリングパターンを提案・適用支援

実行方法:

# プロジェクト全体分析
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へのタスク自動生成
  • スプリント計画での改善タスク組み込み