Claude-skill-registry-data mcp-serena-fast-ops
Fast code operations using Serena MCP (1-3s) for symbol search, memory read/write, and basic code editing in LoRAIro project
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/mcp-serena-fast-ops" ~/.claude/skills/majiayu000-claude-skill-registry-data-mcp-serena-fast-ops && rm -rf "$T"
manifest:
data/mcp-serena-fast-ops/SKILL.mdsource content
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: シンボルが定義されているファイル
効率的な使い方のガイドライン
コード調査の推奨手順
- 概要把握:
でファイル構造を理解get_symbols_overview - 詳細検索:
で目的のシンボルを特定find_symbol - 影響確認:
で参照箇所を確認find_referencing_symbols - 編集実行:
/replace_symbol_body
で実装insert_*
Memory-Firstアプローチ
- 実装前:
→list_memories
で現在状況確認read_memory - 実装中:
で進捗と判断を継続記録write_memory - 完了後: 次のタスクのために
で状況更新write_memory
パフォーマンス最適化
- Fast operations (1-3s): Serenaツールを優先使用
- Full file read: 最後の手段として使用、可能な限りシンボル単位で取得
- Progressive disclosure: 必要な情報のみを段階的に取得
LoRAIro固有の注意点
プロジェクト構造
- ソースコード:
配下(メイン実装)src/lorairo/ - テスト:
配下tests/ - 設定:
config/lorairo.toml - ローカルパッケージ:
,local_packages/genai-tag-db-toolslocal_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 を参照してください。