Claude Code Plugins

Community-maintained marketplace

Feedback

mcp-serena-fast-ops

@NEXTAltair/LoRAIro
0
0

Fast code operations using Serena MCP (1-3s) for symbol search, memory read/write, and basic code editing in LoRAIro project

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name mcp-serena-fast-ops
description Fast code operations using Serena MCP (1-3s) for symbol search, memory read/write, and basic code editing in LoRAIro project
allowed-tools mcp__serena__find_symbol, mcp__serena__get_symbols_overview, mcp__serena__search_for_pattern, mcp__serena__list_dir, mcp__serena__read_memory, mcp__serena__write_memory, mcp__serena__list_memories, mcp__serena__find_referencing_symbols, mcp__serena__replace_symbol_body, mcp__serena__insert_after_symbol, mcp__serena__insert_before_symbol

Serena Fast Operations Skill

このSkillは、SerenaのMCPツールを使った高速コード操作(1-3秒)の最適な使い方を提供します。

使用タイミング

Claudeは以下の場合にこのSkillを自動的に使用すべきです:

  • シンボル検索: クラス、関数、メソッドの定義を探す
  • ファイル構造把握: プロジェクトのディレクトリ構造を理解する
  • 短期メモリ操作: 現在の開発進捗や一時的な判断を記録・参照する
  • 基本コード編集: シンボル単位での実装、挿入、置換
  • 参照追跡: シンボルの使用箇所を特定する

Serena高速操作パターン

1. シンボル検索(1-3秒)

get_symbols_overview - ファイル構造の概要取得

用途: ファイル内のトップレベルシンボル(クラス、関数、変数)の一覧を取得
タイミング: 新しいファイルを初めて調査する時
パラメータ:
  - relative_path: 対象ファイルの相対パス

find_symbol - 名前パスでシンボルを検索

用途: 特定のクラス、メソッド、関数を検索
タイミング: シンボル名が分かっている時
パラメータ:
  - name_path: シンボルの名前パス (例: "ThumbnailWidget/handle_click")
  - relative_path: 検索範囲を絞る場合のパス(省略可)
  - include_body: コード本体を含めるか (True/False)
  - depth: 子シンボルの深さ (例: 1でメソッド一覧)
  - substring_matching: 部分一致検索を有効化

search_for_pattern - 正規表現パターン検索

用途: 特定のコードパターンや文字列を検索
タイミング: シンボル名が不明確で、パターンマッチングが必要な時
パラメータ:
  - substring_pattern: 正規表現パターン
  - relative_path: 検索範囲(ファイルまたはディレクトリ)
  - restrict_search_to_code_files: コードファイルのみに限定
  - paths_include_glob: 含めるファイルパターン
  - paths_exclude_glob: 除外するファイルパターン

2. Memory操作(短期・進捗記録)

list_memories - 利用可能なメモリ一覧

用途: プロジェクトに存在するメモリファイルを確認
タイミング: 関連するメモリを探す時、プロジェクト状況を把握する時

read_memory - 現在の進捗・状況確認

用途: プロジェクト固有の短期メモリを読み込む
タイミング: 実装前の状況確認、過去の判断を参照する時
使用例:
  - current-project-status: プロジェクト全体の状況
  - active-development-tasks: 現在の開発タスク
  - 実装記録: 具体的実装の詳細と根拠

write_memory - 開発進捗・一時的判断の記録

用途: 現在の実装進捗や一時的な判断を記録
タイミング: 実装中の進捗記録、次のステップのメモ、一時的な課題記録
記録内容:
  - 現在の実装状況と次のステップ
  - 進行中の開発判断
  - 一時的な課題と解決策
  - デバッグ情報と検証結果

3. コード編集(シンボル単位)

replace_symbol_body - シンボル本体の置換

用途: 関数、メソッド、クラス全体を書き換える
タイミング: 実装の大幅な変更、リファクタリング
パラメータ:
  - name_path: 対象シンボルの名前パス
  - relative_path: ファイルパス
  - body: 新しいシンボル本体

insert_after_symbol - シンボルの後に挿入

用途: 新しいメソッド、関数、クラスを追加
タイミング: 機能追加、ファイル末尾への追加
パラメータ:
  - name_path: 基準シンボルの名前パス
  - relative_path: ファイルパス
  - body: 挿入するコード

insert_before_symbol - シンボルの前に挿入

用途: import文の追加、前置き的なコードの挿入
タイミング: 依存関係追加、ファイル先頭への追加
パラメータ:
  - name_path: 基準シンボルの名前パス
  - relative_path: ファイルパス
  - body: 挿入するコード

4. 参照追跡

find_referencing_symbols - シンボルの参照箇所検索

用途: あるシンボルがどこで使われているかを特定
タイミング: リファクタリング影響確認、削除前の依存確認
パラメータ:
  - name_path: 対象シンボルの名前パス
  - relative_path: シンボルが定義されているファイル

効率的な使い方のガイドライン

コード調査の推奨手順

  1. 概要把握: get_symbols_overview でファイル構造を理解
  2. 詳細検索: find_symbol で目的のシンボルを特定
  3. 影響確認: find_referencing_symbols で参照箇所を確認
  4. 編集実行: replace_symbol_body / insert_* で実装

Memory-Firstアプローチ

  1. 実装前: list_memoriesread_memory で現在状況確認
  2. 実装中: write_memory で進捗と判断を継続記録
  3. 完了後: 次のタスクのために write_memory で状況更新

パフォーマンス最適化

  • Fast operations (1-3s): Serenaツールを優先使用
  • Full file read: 最後の手段として使用、可能な限りシンボル単位で取得
  • Progressive disclosure: 必要な情報のみを段階的に取得

LoRAIro固有の注意点

プロジェクト構造

  • ソースコード: src/lorairo/ 配下(メイン実装)
  • テスト: tests/ 配下
  • 設定: config/lorairo.toml
  • ローカルパッケージ: local_packages/genai-tag-db-tools, local_packages/image-annotator-lib

重要なアーキテクチャパターン

  • Repository Pattern: データベース操作は src/lorairo/database/ のリポジトリ経由
  • Service Layer: ビジネスロジックは src/lorairo/services/ のサービス層
  • Direct Widget Communication: GUI間通信は直接Signal/Slot接続

Memory命名規則

  • current-project-status: プロジェクト全体状況
  • active-development-tasks: 現在の開発タスク
  • {feature}implementation{date}: 具体的実装記録
  • archived_*: 完了タスクのアーカイブ

Examples

詳細な使用例は examples.md を参照してください。

Reference

Serenaツールの完全なAPIリファレンスは reference.md を参照してください。