mcpField
L
ln-631-test-business-logic-auditor

ln-631-test-business-logic-auditor

github.com/levnikolaevichテスト・品質584395 回インストール2 日前に更新
リポジトリ

ln-631-test-business-logic-auditor について

テストがフレームワークやライブラリの既定動作ではなく、製品固有の動作を検証しているかを調べる監査ワーカーです。コードは変更せず、指摘事項とコンプライアンススコアを報告します。

主な機能

  1. 012 段階の検出でテストをスキャン
  2. 02フレームワークやライブラリの動作テストを特定
  3. 03削除または製品動作に沿った書き換えを提案
  4. 04コンプライアンススコアを算出
  5. 05構造化された監査レポートを作成

活用シーン

  1. 01既存コードベースのテスト監査
  2. 02フレームワーク動作だけを検証するテストの特定
  3. 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.md
audit_scoring.md
audit_summary_contract.md
audit_worker_core_contract.md
two_layer_detection.md
references/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 を読み込みます。

  1. コンテキストの解析: contextStore から技術スタック、フレームワーク検出パターン、テストファイル一覧、output_dir を抽出します
  2. コードベースのスキャン(レイヤー 1): テストファイルをスキャンし、フレームワーク/ライブラリのテストを探します(以下の監査ルールを参照) 2b) コンテキスト分析(レイヤー 2 -- 必須): 各候補についてテストコードを読み、次の点を確認します:
    • フレームワークのプリミティブをラップするカスタムコード(例:useState を使用するカスタムフック)をテストしていますか? -> 維持(フレームワーク自体ではなく、統合をテストしています)
    • カスタムのプロダクトロジックを含まず、言語/フレームワーク/ライブラリの API のみを呼び出していますか? -> DELETE_NON_PRODUCT_TEST
    • ローカルのルール、マッピング、ポリシー、またはエラーの挙動を検証するテストに書き換えられますか? -> REWRITE_TO_PRODUCT_BEHAVIOR
    • モック設定のためにライブラリをインポートするテストヘルパー/ユーティリティですか? -> スキップ(フレームワークの挙動をテストするものではありません)
  3. 検出結果の収集: 各違反について、重大度、場所(ファイル:行)、工数見積もり(S/M/L)、推奨事項を記録します
  4. スコアの算出: 重大度別に違反数を数え、適合スコア(X/10)を算出します
  5. レポートの作成: references/templates/audit_worker_report_template.md に従って完全な Markdown レポートをメモリ上に作成し、単一の Write 呼び出しで {output_dir}/ln-631--global.md に書き込みます
  6. 概要の返却: コーディネーターに最小限の概要を返します(出力形式を参照)

監査ルール

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

コメント