reverse-engineering
SKILL.md
リバースエンジニアリング
このスキルは、ソフトウェアのリバースエンジニアリングレポートの作成をサポートします。
リバースエンジニアリングレポートについて
リバースエンジニアリングレポートは、既存のソフトウェアやシステムの構造・動作・設計を分析し、その結果を文書化したものです。プロジェクトの理解を深め、将来の開発やメンテナンスに役立てることを目的としています。
使用方法
事前準備:コンテキストの確認
調査を開始する前に、以下の情報をユーザーから収集します。情報が不足している場合は質問して補足してください:
- 対象読者: 誰がこのレポートを読むのか(開発者、プロジェクトマネージャー、QA エンジニアなど)
- レポートの目的: プロジェクトの理解、ドキュメント作成、将来の開発のための基礎資料など
- 使用方法: 新規開発者のオンボーディング、プロジェクトのメンテナンス、機能追加のための基礎資料など
- 調査スコープ: リバースエンジニアリング対象製品/システムの範囲(ソフトウェア全体、特定のモジュール、API のみなど)
重要: コンテキストが明確になるまで調査を開始しないでください。
調査ワークフロー
フェーズ 1: 全体概要把握
- リポジトリルートの
README、docsディレクトリ等のドキュメントを確認 - 仕様書、データシート、論文などの関連資料を確認
- ディレクトリ構造を確認し、主要なディレクトリやファイルの役割を把握
- パッケージやモジュールの構成を確認し、機能分割を理解
- リポジトリの Wiki や追加ドキュメントを確認
フェーズ 2: 詳細調査
- 依存関係を確認し、使用ライブラリやフレームワークを把握
- ビルドやデプロイ手順を確認し、セットアップ方法を理解
- テストフレームワークやテストケースの構成を確認
- コミット履歴を確認し、主要な変更点やリリースノートを把握
- イシューやプルリクエストを確認し、現在の開発状況や課題を把握
レポートの作成
- テンプレート: references/template.md を参照
- 作成ガイド: references/guide.md を参照
- 出力ファイル名:
YYYYMMDD_reverse_engineering_report.md(例:20260101_reverse_engineering_report.md) - 保存先: リポジトリルートまたは
docs/ディレクトリ
作成時の原則
- 平易な言葉: 専門用語は避け、必要に応じて説明を加える
- 参考文献: 理解の前提となる技術要素があれば、参考文献も記載
- 視覚資料の活用: 図、フローチャートなどを積極的に使用(Mermaid 記法推奨)
- 客観性: 推測や憶測ではなく、事実に基づいた分析結果を記述
- 整合性: レポート全体で用語や表記方法に一貫性を持たせる
日本語での作成
レポートは日本語で作成します。技術ドキュメントとして適切な表現を使用してください。