ln-629-lifecycle-auditor について
ln-629-lifecycle-auditorは、アプリケーションのライフサイクルを対象とするコードベース監査スキルです。起動順序、終了処理、シグナル処理、リソース解放、ヘルスプローブを確認し、監査担当者向けに採点レポートを作成します。
主な機能
- 01起動順序の確認
- 02正常終了処理のレビュー
- 03シグナル処理の確認
- 04リソース解放のレビュー
- 05デプロイ形態に応じたプローブ確認
- 06採点付き Markdown レポート
活用シーン
- 01サービスコードベースのライフサイクル処理のレビュー
- 02デプロイ前の終了時クリーンアップ確認
- 03コンテナアプリのヘルスプローブ監査
MCP 対応
ホストの MCP 設定に従い、ライフサイクル追跡やコード読み取りに hex-graph または hex-line を利用できます。MCP が利用できない場合や適さない場合は、組み込みツールに切り替えます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-629-lifecycle-auditorインストール後、Claude Code で/ln-629-lifecycle-auditorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/audit_output_schema.mdaudit_scoring.mdaudit_summary_contract.mdaudit_worker_core_contract.mdmcp_integration_patterns.mdmcp_tool_preferences.mdtwo_layer_detection.mdreferences/templates/audit_worker_report_template.md詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリからの相対パスです。
ライフサイクル監査(L3 ワーカー)
タイプ: L3 ワーカー
アプリケーションのライフサイクルとエントリーポイントを監査する専門ワーカーです。
目的と範囲
- ライフサイクルを監査します(カテゴリ 12:中優先度)
- ブートストラップ、シャットダウン、シグナル処理、プローブを確認します
- コンプライアンススコア(X/10)を算出します
入力
必ず読み込むこと: references/audit_worker_core_contract.md を読み込みます。
ツールポリシー:ホストの AGENTS.md にある MCP の設定に従います。ホストポリシーがない場合、または MCP の動作が不明確な場合に限り、references/mcp_tool_preferences.md と references/mcp_integration_patterns.md を読み込みます。
技術スタック、デプロイタイプ、コードベースのルート、output_dir を含む contextStore を受け取ります。
ライフサイクルの追跡によって確信度が大きく向上する場合は、まず hex-graph を使用します。利用可能な場合は、ローカルコードの読み取りに hex-line を優先します。MCP が利用できない、サポートされていない、またはインデックス化されていない場合は、組み込みの Read/Grep/Glob/Bash を使用して続行し、レポートにフォールバックを明記します。
ワークフロー
検出ポリシー:2 層検出(候補のスキャン、続いてコンテキストの検証)を使用します。検証方法が曖昧な場合に限り、references/two_layer_detection.md を読み込みます。
- コンテキストと output_dir を解析します
- ライフサイクルのパターンを確認します(レイヤー 1:SIGTERM、シャットダウンハンドラー、プローブを grep します)
- 候補ごとにコンテキストを分析します(レイヤー 2):
- ブートストラップの順序:メインファイルを読み取ります。実際の初期化順序を追跡し、依存関係が使用前に満たされていることを確認します
- グレースフルシャットダウン:シグナルハンドラーを読み取ります。すべてのリソースを実際に閉じていますか?それともログを出力して終了するだけですか?
- リソースのクリーンアップ:シャットダウンハンドラーを読み取ります。開いたすべてのリソース(DB、Redis、キュー)が閉じられていますか?
- プローブ:デプロイ設定(Dockerfile、k8s マニフェスト)を確認します。このアプリケーションはコンテナ化されていますか?
- 確認済みの検出結果を収集します
- スコアを算出します
- レポートの作成:
references/templates/audit_worker_report_template.mdに従って完全な Markdown レポートをメモリ上に作成し、単一の Write 呼び出しで{output_dir}/ln-629--global.mdに書き込みます - 概要の返却: 最小限の概要をコーディネーターに返します
監査ルール
1. ブートストラップの初期化順序
検出:
- メインファイル/インデックスファイルで初期化順序を確認します
- 依存関係が使用前に読み込まれていることを確認します(ルートより先に DB)
深刻度:
- 高: 順序が不適切だと起動に失敗します
推奨事項: 正しい順序で初期化します:config -> DB -> routes -> server
作業量: M(起動処理のリファクタリング)
2. グレースフルシャットダウン
検出:
SIGTERM、SIGINTハンドラーを grep しますprocess.on('SIGTERM')(Node.js)を確認しますsignal.Notify(Go)を確認します
深刻度:
- 高: シャットダウンハンドラーがありません(突然終了します)
推奨事項: SIGTERM ハンドラーを追加し、接続を正常に閉じます
作業量: M(シャットダウン処理の追加)
3. 終了時のリソースのクリーンアップ
検出:
- シャットダウン時に DB 接続が閉じられているか確認します
- ファイルハンドルが解放されていることを確認します
- ワーカースレッドが停止しているか確認します
深刻度:
- 中: シャットダウン時にリソースリークが発生します
推奨事項: シャットダウンハンドラーですべてのリソースを閉じます
作業量: S-M(クリーンアップ呼び出しの追加)
4. シグナル処理
検出:
- SIGTERM、SIGINT、SIGHUP のハンドラーを確認します
- 子プロセスへのシグナル伝播が適切か確認します
深刻度:
- 中: シグナルハンドラーが不足しています
推奨事項: すべての標準シグナルを処理します
作業量: S(シグナルハンドラーの追加)
5. ライブネス/レディネスプローブ
検出(コンテナ化されたアプリケーションの場合):
/live、/readyエンドポイントを確認します- Kubernetes のプローブ設定を確認します
深刻度:
- 中: プローブがありません(Kubernetes がヘルス状態を検出できません)
推奨事項: /live(実行中かどうか)と /ready(トラフィックを受け入れる準備ができているかどうか)を追加します
作業量: S(エンドポイントの追加)
スコアリングアルゴリズム
必ず読み込むこと: references/audit_scoring.md を読み込みます。
出力形式
必ずお読みください: references/templates/audit_worker_report_template.md を読み込んでください。
references/audit_summary_contract.md に従って JSON サマリーを作成してください。管理モードでは、呼び出し元から runId と summaryArtifactPath の両方が渡されます。スタンドアロンモードでは、共有コントラクトに従って、ワーカーが実行単位のアーティファクトパスを生成します。
{output_dir}/ln-629--global.md に、category: "Lifecycle" および次のチェック項目を含むレポートを作成してください:bootstrap_order、graceful_shutdown、resource_cleanup、signal_handling、probes。
references/audit_summary_contract.md に従ってサマリーを返してください。
summaryArtifactPath がない場合は、スタンドアロンの実行時サマリーを .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json に書き込み、同じサマリーを構造化出力にも任意で含めてください。
Report written: .hex-skills/runtime-artifacts/runs/{run_id}/audit-report/ln-629--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
参照ファイル
- 監査出力スキーマ:
references/audit_output_schema.md
重要なルール
すでに読み込まれている references/audit_worker_core_contract.md を適用してください。
- 自動修正は禁止: 報告のみを行ってください。ライフサイクルの変更はダウンタイムのリスクがあります
- デプロイ環境を考慮: デプロイ種別に応じてプローブのチェックを調整してください(Kubernetes ではプローブが必須、ベアメタルでは任意)
- 工数の現実性: S = 1 時間未満、M = 1~4 時間、L = 4 時間超
- 除外対象: CLI ツールとスクリプトは除外してください(長時間実行されるライフサイクルがないため)。サーバーレス関数も除外してください(ライフサイクルがプラットフォームによって管理されるため)
- 初期化順序は重要: コンテキストにかかわらず、DB の初期化前の DB 使用は HIGH として指摘してください
完了の定義
すでに読み込まれている references/audit_worker_core_contract.md を適用してください。
- contextStore を解析済み(デプロイ種別、output_dir)
- 5 つすべてのチェックを完了済み(ブートストラップ順序、グレースフルシャットダウン、リソースのクリーンアップ、シグナル処理、プローブ)
- 深刻度、場所、工数、推奨事項を含む指摘事項を収集済み
-
references/audit_scoring.mdに従ってスコアを算出済み -
{output_dir}/ln-629--global.mdにレポートを書き込み済み(単一の Write 呼び出しでアトミックに書き込み) - コントラクトに従ってサマリーを書き込み済み
バージョン: 3.0.0 最終更新日: 2025-12-23