Skip to main content

reverse-engineer

既存コードを分析して詳細設計書を自動生成

来源信息

仓库
takemo101/compose-workflow
最近来源活动
2026年1月29日 15:10
检测到的 SKILL.md 语言
日语
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
reverse-engineer
description
既存コードを分析して詳細設計書を自動生成
# リバースエンジニアリング・ワークフロー (v1.3) 既存のソースコードを分析し、詳細設計書を自動生成するワークフロー。 設計書のないプロジェクトの追加開発や、レガシーコード理解に活用する。 ## 入力 $ARGUMENTS(対象モジュール/ディレクトリのパス) ## 出力言語 **設計書は必ず日本語で記述すること。** コード内のシンボル名(struct, enum, fn等)は原文のまま、説明は日本語で記載。 ## 前提条件 | 項目 | 要件 | |------|------| | Serena | プロジェクト設定済み(`serena_activate_project()`) | | 対象コード | コンパイル/構文エラーなし | | 権限 | `docs/designs/reverse/` への書き込み権限 | --- ## 全体フロー | Phase | 名称 | 内容 | |-------|------|------| | 0 | スコープ確認 | 言語検出、対象ファイル一覧、ユーザー確認 | | 1 | コード分析 | シンボル抽出、依存関係、テスト、コメント | | 2 | 設計書生成 | テンプレートに従い設計書作成 | | 3 | 品質検証 | 整合性・網羅性チェック | | 3.5 | AIレビュー | `detailed-design-reviewer` skill(8点以上、オプション) | | 3.8 | ユーザー承認 | 生成前の最終確認(`approval-gate` skill) | | 4 | 出力 | ファイル生成 | > **Phase規約**: `workflow-phase-convention` skill を参照 --- ## Phase 0: スコープ確認 ### 言語検出 | ファイル | 言語 | |---------|------| | `Cargo.toml` | Rust | | `package.json` | JavaScript/TypeScript | | `pyproject.toml` | Python | | `go.mod` | Go | ### Serena ツール ``` serena_list_dir(relative_path="$TARGET_PATH", recursive=True, skip_ignored_files=True) serena_find_file(file_mask="Cargo.toml", relative_path=".") ``` ### ユーザー確認 対象パス、言語、ファイル数を提示し `1. 続行` / `2. 修正` / `3. 中断` を選択(番号選択)。 --- ## Phase 1: コード分析 ### 1.1 シンボル抽出 ``` serena_get_symbols_overview(relative_path="src/xxx/mod.rs", depth=2) serena_find_symbol(name_path_pattern="MainStruct", include_body=True) ``` ### 1.2 依存関係解析 ``` # Rust serena_search_for_pattern(substring_pattern="^use\\s+", relative_path="src/xxx/") # TypeScript serena_search_for_pattern(substring_pattern="^import\\s+", relative_path="src/xxx/") ``` ### 1.3 テストケース分析 ``` serena_find_file(file_mask="*test*.rs", relative_path=".") serena_get_symbols_overview(relative_path="tests/xxx_test.rs", depth=1) ``` ### 1.4 コメント抽出 ``` # Rust: /// serena_search_for_pattern(substring_pattern="^\\s*///", relative_path="src/xxx/") # Python: docstring serena_search_for_pattern(substring_pattern='"""', relative_path="src/xxx/") ``` --- ## Phase 2: 設計書生成 > **テンプレート**: `detailed-design-templates` skill の「リバースエンジニアリング設計書テンプレート」を使用 ### 必須セクション 1. 概要(目的、スコープ) 2. モジュール設計(構成、依存関係図) 3. データ型定義(enum、struct、trait) 4. コアロジック(主要関数) 5. エラーハンドリング 6. テスト方針 7. 未解決事項・推測 --- ## Phase 3: 品質検証 ### 整合性チェック | チェック項目 | 確認方法 | |-------------|---------| | 全公開struct/enum記載 | シンボル比較 | | 全公開関数記載 | シンボル比較 | | モジュール依存関係 | import解析 | | エラー型記載 | Error enum検索 | --- ## Phase 3.5: AIレビュー(オプション) ``` task(subagent_type="detailed-design-reviewer", prompt="設計書をレビュー...") ``` | スコア | アクション | |--------|----------| | 8点以上 | Phase 3.8へ | | 6-7点 | 修正して再レビュー(最大3回) | | 5点以下 | Phase 1からやり直し | > `--skip-review` フラグで省略可能 --- ## Phase 3.8: ユーザー承認【必須】 > **共通仕様**: `approval-gate` skill を参照 生成結果サマリー(抽出シンボル数、未解決事項数)を表示し確認。 | 選択肢 | アクション | |--------|----------| | `1` | Phase 4へ | | `2` | Phase 2に戻る | | `3` | キャンセル | > 番号を選択してください(1-3): --- ## Phase 4: 出力 ### 出力先 | 条件 | 出力先 | |------|--------| | 既存設計書なし | `docs/designs/reverse/{module-name}.md` | | 既存設計書あり | `docs/designs/reverse/{module-name}_v{N}.md` | --- ## サーキットブレーカー | 条件 | アクション | |------|----------| | 対象ファイル100件超 | サブモジュール単位での分割を提案 | | 解析エラー | スキップして未解決事項に記録 | | 非対応言語 | エラー終了 | | レビュー3回失敗 | 警告マーク付与して続行 | --- ## エラーハンドリング | Phase | エラー | 対処 | |-------|--------|------| | 0 | パス不存在 | 正しいパスを再指定 | | 0 | 言語検出失敗 | 手動で言語指定 | | 1 | LSP未起動 | `serena_activate_project()` 実行 | | 2 | テンプレート適用エラー | Phase 1結果を確認 | | 4 | 書き込み失敗 | 権限・容量確認 | --- ## 対応言語 | 言語 | サポート | |------|:--------:| | Rust | O | | TypeScript | O | | Python | O | | Go | △ | | Java | △ | --- ## 使用例 ```bash /reverse-engineer src/notification/ /reverse-engineer src/ --skip-review ``` --- ## 制限事項 1. 設計意図の推測限界(「なぜそう実装したか」は不明) 2. 非公開シンボルは詳細度が低い 3. 動的言語の型推論は不完全な場合あり 4. 外部ライブラリの詳細は含まれない --- ## 参考 | スキル/ドキュメント | 用途 | |-------------------|------| | `detailed-design-templates` skill | 設計書テンプレート | | `workflow-phase-convention` skill | Phase命名規約 | | `approval-gate` skill | ユーザー承認ゲート | | [詳細設計ワークフロー](./detailed-design-workflow.md) | 新規設計時 | --- ## 変更履歴 | バージョン | 変更内容 | |-----------|---------| | 1.3.0 | 出力言語セクション追加、日本語記述を明示化 | | 1.2.0 | 前提条件追加、TypeScript/Python例追加 | | 1.1.0 | Phase番号修正、`--skip-review`追加 | | 1.0.0 | 初版作成 |
在 GitHub 查看