ln-631-test-business-logic-auditor について
テストがフレームワークやライブラリの既定動作ではなく、製品固有の動作を検証しているかを調べる監査ワーカーです。コードは変更せず、指摘事項とコンプライアンススコアを報告します。
主な機能
- 012 段階の検出でテストをスキャン
- 02フレームワークやライブラリの動作テストを特定
- 03削除または製品動作に沿った書き換えを提案
- 04コンプライアンススコアを算出
- 05構造化された監査レポートを作成
活用シーン
- 01既存コードベースのテスト監査
- 02フレームワーク動作だけを検証するテストの特定
- 03製品動作テストの改善計画の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-631-test-business-logic-auditorインストール後、Claude Code で/ln-631-test-business-logic-auditorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/audit_output_schema.mdaudit_scoring.mdaudit_summary_contract.mdaudit_worker_core_contract.mdtwo_layer_detection.mdreferences/templates/audit_worker_report_template.md詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリからの相対パスです。
Product Behavior Auditor(L3 Worker)
タイプ: L3 Worker
テストがプラットフォームの挙動ではなく、プロダクトの挙動を証明しているかを監査する専門ワーカーです。
目的と範囲
- プロダクトの挙動への着目(カテゴリ 1:優先度高)を監査します
- ローカルのプロダクトロジックではなく、言語、フレームワーク、ライブラリ、生成コード、またはプラットフォームのデフォルト挙動を検証するテストを検出します
DELETE_NON_PRODUCT_TESTまたはREWRITE_TO_PRODUCT_BEHAVIORを出力します- 適合スコア(X/10)を算出します
入力
必須の読み込み: references/audit_worker_core_contract.md を読み込みます。
tech_stack、testFilesMetadata、codebase_root、output_dir を含む contextStore を受け取ります。
ワークフロー
検出ポリシー:2 層検出(候補スキャン後にコンテキストを検証)を使用します。検証方法が曖昧な場合に限り、references/two_layer_detection.md を読み込みます。
- コンテキストの解析:
contextStoreから技術スタック、フレームワーク検出パターン、テストファイル一覧、output_dir を抽出します - コードベースのスキャン(レイヤー 1): テストファイルをスキャンし、フレームワーク/ライブラリのテストを探します(以下の監査ルールを参照)
2b) コンテキスト分析(レイヤー 2 -- 必須): 各候補についてテストコードを読み、次の点を確認します:
- フレームワークのプリミティブをラップするカスタムコード(例:useState を使用するカスタムフック)をテストしていますか? -> 維持(フレームワーク自体ではなく、統合をテストしています)
- カスタムのプロダクトロジックを含まず、言語/フレームワーク/ライブラリの API のみを呼び出していますか? ->
DELETE_NON_PRODUCT_TEST - ローカルのルール、マッピング、ポリシー、またはエラーの挙動を検証するテストに書き換えられますか? ->
REWRITE_TO_PRODUCT_BEHAVIOR - モック設定のためにライブラリをインポートするテストヘルパー/ユーティリティですか? -> スキップ(フレームワークの挙動をテストするものではありません)
- 検出結果の収集: 各違反について、重大度、場所(ファイル:行)、工数見積もり(S/M/L)、推奨事項を記録します
- スコアの算出: 重大度別に違反数を数え、適合スコア(X/10)を算出します
- レポートの作成:
references/templates/audit_worker_report_template.mdに従って完全な Markdown レポートをメモリ上に作成し、単一の Write 呼び出しで{output_dir}/ln-631--global.mdに書き込みます - 概要の返却: コーディネーターに最小限の概要を返します(出力形式を参照)
監査ルール
1. フレームワークテストの検出
対象: OUR のビジネスロジックではなく、フレームワーク(Express、Fastify、Koa)の挙動を検証するテスト
検出パターン:
(express|fastify|koa).(use|get|post|put|delete|patch)- テスト名:「ミドルウェアが呼び出される」、「ルートハンドラーが動作する」、「Express アプリがリッスンする」
重大度: 中
推奨事項: テストがフレームワークの挙動のみを検証している場合は DELETE_NON_PRODUCT_TEST。焦点を絞ったアサーションでローカルの統合ロジックを証明できる場合は REWRITE_TO_PRODUCT_BEHAVIOR を使用します。
工数: S(テストファイルまたはテストブロックを削除)
2. ORM/データベースライブラリのテスト
対象: Prisma/Mongoose/Sequelize/TypeORM の挙動を検証するテスト
検出パターン:
(prisma|mongoose|sequelize|typeorm).(find|findMany|create|update|delete|upsert)- テスト名:「Prisma の findMany が配列を返す」、「Mongoose の save が動作する」
重大度: 中
推奨事項: テストが ORM の挙動のみを検証している場合は DELETE_NON_PRODUCT_TEST。リポジトリのポリシー、クエリの組み立て、エラーマッピング、またはトランザクションルールを検証する場合は REWRITE_TO_PRODUCT_BEHAVIOR を使用します。
工数: S
3. 暗号化/ハッシュライブラリのテスト
対象: bcrypt/argon2 のハッシュ化の挙動を検証するテスト
検出パターン:
(bcrypt|argon2).(hash|compare|verify|hashSync)- テスト名:「bcrypt がパスワードをハッシュ化する」、「argon2 が正しく比較する」
重大度: 中
推奨事項: テストがライブラリの挙動のみを検証している場合は DELETE_NON_PRODUCT_TEST。パスワードポリシー、認証情報のライフサイクル、またはラッパーのエラー処理を検証する場合は REWRITE_TO_PRODUCT_BEHAVIOR を使用します。
工数: S
4. JWT/トークンライブラリのテスト
内容: JWT の署名/検証を検証するテスト
検出パターン:
(jwt|jsonwebtoken).(sign|verify|decode)- テスト名: "JWT signs token"、"JWT verifies signature"
重大度: MEDIUM
推奨: テストが JWT ライブラリの動作のみを検証している場合は DELETE_NON_PRODUCT_TEST。トークンのクレーム、有効期限ポリシー、ロール、認証フローについては REWRITE_TO_PRODUCT_BEHAVIOR を使用します。
工数: S
5. HTTP クライアントライブラリのテスト
内容: axios/fetch/got の動作を検証するテスト
検出パターン:
(axios|fetch|got|request).(get|post|put|delete|patch)- テスト名: "axios makes GET request"、"fetch returns data"
重大度: MEDIUM
推奨: テストが HTTP クライアントの動作のみを検証している場合は DELETE_NON_PRODUCT_TEST。リトライポリシー、タイムアウトポリシー、リクエストの整形、エラーマッピングについては REWRITE_TO_PRODUCT_BEHAVIOR を使用します。
工数: S
6. React Hooks/フレームワークのテスト
内容: React フックの動作(useState、useEffect など)を検証するテスト
検出パターン:
(useState|useEffect|useContext|useReducer|useMemo|useCallback)- テスト名: "useState updates state"、"useEffect runs on mount"
重大度: LOW(独自のカスタムフックのロジックをテストしている場合は許容)
推奨: フレームワークの動作をテストしている場合は DELETE_NON_PRODUCT_TEST。カスタムフックやコンポーネントのポリシーを製品から見える動作を通じて検証できる場合は REWRITE_TO_PRODUCT_BEHAVIOR を使用します。
工数: S-M
スコアリングアルゴリズム
必読: references/audit_scoring.md を読み込んでください。
出力形式
必読: references/templates/audit_worker_report_template.md を読み込んでください。
references/audit_summary_contract.md に従って JSON サマリーを書き込みます。管理モードでは呼び出し元が runId と summaryArtifactPath の両方を渡します。スタンドアロンモードでは、ワーカーが共有契約に従って自身の実行スコープのアーティファクトパスを生成します。
レポートを {output_dir}/ln-631--global.md に category: "Product Behavior Focus" およびチェック: framework_tests、orm_tests、crypto_tests、jwt_tests、http_client_tests、react_hooks_tests として書き込みます。検出事項には action を DELETE_NON_PRODUCT_TEST または REWRITE_TO_PRODUCT_BEHAVIOR として含める必要があります。
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-631--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
重要なルール
すでに読み込まれている references/audit_worker_core_contract.md を適用します。
- 自動修正しない: レポートのみ
- 独自の観点: テストがローカルの製品動作を証明しているかどうかのみを判断します。ポートフォリオの価値、E2E カバレッジ、分離、オラクルの強度、構造についてはスコアリングしません。
- フレームワーク固有のパターン: 検出パターンをプロジェクトの実際の技術スタックに一致させます
- 工数の現実性: S = 1時間未満、M = 1~4時間、L = 4時間超
- コンテキストを考慮: ライブラリをラップするカスタムラッパー(例: useState を使用するカスタムフック)は独自のコードです -- フラグを立てないでください
- テストヘルパーを除外: モックのセットアップのためにライブラリをインポートする共有テストユーティリティにはフラグを立てないでください
完了の定義
すでに読み込まれている references/audit_worker_core_contract.md を適用します。
- contextStore が正常に解析された(output_dir を含む)
- 6 つのチェックがすべて完了した(framework、ORM、crypto、JWT、HTTP client、React hooks)
- 検出事項が重大度、場所、工数、推奨、アクションとともに収集された
- ペナルティアルゴリズムを使用してスコアが計算された
- レポートが
{output_dir}/ln-631--global.mdに書き込まれた(単一のアトミックな Write 呼び出し) - サマリーが契約に従って書き込まれた
参照ファイル
- 監査出力スキーマ:
references/audit_output_schema.md
バージョン: 3.0.0 最終更新: 2025-12-23