ドキュメント&知識ベース · daymade/claude-code-skills

qa-expert

あらゆるソフトウェアプロジェクトにおいて包括的なQAテストプロセスを確立する際に使用するスキルです。テスト戦略の策定、Google Testing Standardsに準拠したテストケースの作成、テスト計画の実行、P0-P4分類によるバグ追跡、品質メトリクスの算出、進捗レポートの生成などに活用できます。マスタープロンプトによる自律実行機能や、外部QAチームへの引き継ぎ用ドキュメントテンプレート一式を含みます。OWASPセキュリティテストを実装し、90%のカバレッジ目標を達成します。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ファイル書き込みDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1392License MIT(仓库根 LICENSE 文件;GitHub API spdx MIT;Copyright (c) 2025 daymade)Commit d5c4678cb5
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

プロジェクトの骨組みは、標準ライブラリの mkdir + open を使用した scripts/init_qa_project.py によって完全にディスク上へ生成されます。4階層のディレクトリ(tests/docs、tests/docs/templates、tests/e2e、tests/fixtures)はハードコードされたリストであり、テンプレートエンジンやサードパーティ製パッケージには依存しません。

qa-expert/scripts/init_qa_project.py
dirs = [ "tests/docs", "tests/docs/templates", "tests/e2e", "tests/fixtures" ]
処理内容:init スクリプトはこのスキルの中で唯一「実際に実行される」コードです。単一のコマンドでQAプロジェクトの物理構造(ディレクトリ + CSV 2件 + Markdownテンプレート 4件)を対象ディレクトリに出力し、その他の機能はすべてドキュメントとプロンプトによって駆動されます。

CSV のカラム名は2つのスクリプト間の暗黙的なデータ契約となっています。init は13列を出力し、calculate_metrics.py は同一のカラム名(Test Case ID/Status/Result/Bug ID/Priority/Notes)を前提として読み込みと集計を行います。

qa-expert/scripts/init_qa_project.py
headers = [ "Test Case ID", "Category", "Priority", "Test Name", "Estimated Time (min)", "Prerequisites", "Status", "Result", "Bug ID", "Execution Date", "Executed By", "Notes", "Screenshot/Log" ]
処理内容:「テスト計画」を機械集計可能なスプレッドシートへ変換します。カラム名がインターフェースとして機能するため、列名の変更や言語の変更を行うとメトリクス集計スクリプトが警告なく破損します(詳細は verification の項目4を参照)。

メトリクスの集計基準はスクリプト内にハードコードされています。実行数 = Status が厳密に 'Completed' である行、パス数 = Result が厳密に '✅ PASSED' である行です。実行率の分母は有効な全テストケース行、パス率の分母は実行済み行となります。

qa-expert/scripts/calculate_metrics.py
executed = len([t for t in tests if t['Status'] == 'Completed']) passed = len([t for t in tests if t['Result'] == '✅ PASSED']) failed = len([t for t in tests if t['Result'] == '❌ FAILED'])
処理内容:Enum や大文字・小文字の正規化を行わず、完全一致の文字列マッチングを採用しています。依存関係がなく集計ロジックが明瞭である利点の一方で、表記の揺れ(例: 'completed'、'PASSED')があるとエラーを出さずに0としてカウントされ、指標が歪むリスクがあります。

スクリプトで実装されている品質ゲートは3項目のみ(実行率100%、パス率≥80%、P0=0)であり、P0の判定は Notes 列に 'P0' という文字列が含まれているかどうかに依存する弱い根拠の判定です。

qa-expert/scripts/calculate_metrics.py
gates = { "Test Execution ≥100%": execution_rate >= 100, "Pass Rate ≥80%": pass_rate >= 80, "P0 Bugs = 0": len([t for t in tests if t['Bug ID'].startswith('BUG') and 'P0' in t['Notes']]) == 0, }
処理内容:SKILL.md のゲート一覧には6項目(P1≤5、カバレッジ≥80%、OWASPセキュリティ90%を含む)が記載されていますが、スクリプトが計算するのは3項目のみで、残り3項目は人手による判断に委ねられています。ドキュメントの記述がコードの実装範囲を上回っています(詳細は verification の項目3を参照)。

「Ground Truth 原則」は、ドキュメントを唯一の仕様ソースとし、CSV は実行状態の記録のみに用いるという本スキルの核となる規律です(CSV とドキュメントのテストケースID一致率がわずか 3.2% に留まった実際のインシデントの教訓に基づいています)。

qa-expert/SKILL.md
- **Test case documents** (e.g., `02-CLI-TEST-CASES.md`) = **authoritative source** for test steps
処理内容:「誤ったバージョンの CSV に基づいてテストを実行する」事態を防ぎます。テスト手順はドキュメントのみを参照し、CSV はステータスボードとして扱います。この規律は references/ground_truth_principle.md にて3原則(単一の事実源/責務の分離/明示的参照)として体系化されています。

「自律実行」はコードによる機能ではなく、貼り付け可能な master prompt によって実現されます。ホスト LLM が CSV を読み込んで進捗を判断し、テストを1件ずつ実行して、各ケース完了後に即時 CSV を更新することで、中断・再開可能な実行を実現します。

qa-expert/references/master_qa_prompt.md
You are a senior QA engineer with 20+ years of experience at Google. Execute the QA test plan.
処理内容:「QA実行者」の役割をホストモデルに完全に委譲します。スクリプトは骨組みを作るのみで、実際にテストを実行するのは LLM とプロジェクトドキュメントです。SKILL.md では、100倍の高速化、人為的追跡エラーの排除、中断箇所からの再開可能といったメリットが謳われています。

状態の再開性を担保する仕組み:master prompt は LLM に対し、まず TEST-EXECUTION-TRACKING.csv を読み込んで最後の 'Completed' ケースを特定し、次のケースから再開すること、そして「テスト1件ごとに即時更新を行い、一括更新を禁止する」ことを強制します。

qa-expert/SKILL.md
- Auto-resume from last completed test (reads tracking CSV)
処理内容:CSV を外部メモリとして活用して LLM のコンテキスト消失を回避し、「P0 欠陥発生時は直ちに停止してエスカレーションする」という手動の関門を設けています。

テストケース体系はコード生成ではなくテンプレートによって提供されます。テストケースの構造は assets/templates/TEST-CASE-TEMPLATE.md で定義されています(AAA + TC-[CATEGORY]-[NUMBER] の命名規則 + P0-P4 分類)。

qa-expert/assets/templates/TEST-CASE-TEMPLATE.md
### TC-[CATEGORY]-[NUMBER]: [Descriptive Title]
処理内容:「再現性」をフォーマットの制約として落とし込みます。前提条件は検証可能であること、手順には正確なコマンドを含むこと、期待される結果は測定可能であることを義務付けています。テンプレートには CLI インストールとセキュリティテストの2つの実例が含まれています。

init が実際にディスクへ出力するファイル群と、ドキュメントが主張するファイル構成との間に乖離があります。生成される README や MASTER-QA-PROMPT は、init が生成しない QA-HANDOVER-INSTRUCTIONS.md やカテゴリ別テストケース文書などを参照しています。

qa-expert/scripts/init_qa_project.py
1. Read `QA-HANDOVER-INSTRUCTIONS.md`
処理内容:README テンプレートは引き継ぎ文書を最初に読むよう指示していますが、create_directory_structure および create_* の6つの関数が出力するのは TEST-EXECUTION-TRACKING.csv、BUG-TRACKING-TEMPLATE.csv、BASELINE-METRICS.md、WEEKLY-PROGRESS-REPORT.md、MASTER-QA-PROMPT.md、README.md のみです。ドキュメント通りに進めるとファイルが見つからない問題が発生します(詳細は verification の項目2を参照)。

2コア機能

01ワンクリックでのQAプロジェクト骨組み生成(ディレクトリ構造 + 追跡用CSV + ドキュメントテンプレート)
02AAAパターンおよびTC-[CATEGORY]-[NUMBER]規約に基づく再現可能なテストケース作成(P0-P4優先度分類)
03実行追跡規律の実装:ドキュメントを仕様ソースとし、CSVをステータスボードとして運用、一括更新を禁止
04欠陥管理:重要度、コンポーネント、再現手順、環境、修正および検証をカバーする19列のテンプレート
05品質メトリクスダッシュボード:実行率、パス率、ユニーク欠陥数、P0-P3分布、品質ゲート状態の集計
06ステークホルダー向けの日報・週報テンプレートおよびベースライン比較レポート機能
0790%(9/10)のカバレッジを目標とする OWASP Top 10 セキュリティテストチェックリスト
08LLM自律実行用 master prompt(自動追跡、自動欠陥報告、自動レポート作成、中断再開機能)

3外部依存関係

KindDependency / Endpoint
clipython3(执行自带脚本;仅标准库 os/sys/csv/pathlib/datetime/collections)
cligit(master prompt 中克隆被测仓库的示例步骤)
clidocker / npx supabase(Day 1 环境搭建示例:起本地数据库)
clipnpm / npm(Day 1 安装依赖示例)
clicurl(诊断脚本:检查本地 dev server 是否响应)
network文档内参考外链(仅 Markdown 超链接,代码不访问)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: python3 scripts/init_qa_project.py <project-name> [output-directory](ディレクトリおよびファイルの書き込み)
  • 本地工作目录: ファイル入出力と成果物出力: 対象ディレクトリ配下に tests/docs、tests/docs/templates、tests/e2e、tests/fixtures の4層ディレクトリを作成(mkdir による)
監査ノート: 標準ライブラリのみを用いた2つのローカルスクリプトで構成されています。init はユーザー指定ディレクトリにフォルダやテンプレートファイルを書き込み(削除や指定範囲外のシステムパス上書きはなし)、calculate_metrics は完全な読み取り専用です。全ディレクトリの最終スキャンにおいてネットワーク通信は検出されず(requests/urllib/socket/curl の呼び出しはゼロ件、SKILL.md 内の http 表記は localhost の例示または外部ドキュメントへのリンクのみ)、認証情報や環境変数の読み込みもありません。留意事項:①「自律実行」はプロジェクトドキュメントを指示元とし、git/docker/npx などの実行コマンド例を含んでいるため、エージェントが指示に従うとホスト上で実際のコマンドが実行されます(これはホスト権限とドキュメントの信頼性の問題であり、本スキルの不正な動作ではありません)。②生成された成果物が未生成のファイル(QA-HANDOVER-INSTRUCTIONS.md)を参照しているため、そのまま従うと処理が中断します。③宣伝文句(100倍高速化/30以上のプロンプト/6つの品質ゲート)はコードの実装範囲を超えているため、適宜実態を確認して利用する必要があります。

5二重目の独立検証

  • [ok] 无网络/无凭证:脚本执行面反查 — 对 qa-expert/ 全目录 grep subprocess|requests|urllib|socket|http|os.system|os.environ|getenv|eval|exec:脚本侧零命中,仅参考文献里的 localhost 示例、文档外链与 docker ps 等示例命令。两脚本 import 仅 os/sys/csv/pathlib/datetime/collections。第一遍『无网络、无凭证』结论成立。
  • [discrepancy] init 落盘清单 vs SKILL.md/生成文档的自我引用 — init 只创建 6 个文件:TESTS-EXECUTION-TRACKING.csv、BUG-TRACKING-TEMPLATE.csv、BASELINE-METRICS.md、WEEKLY-PROGRESS-REPORT.md、MASTER-QA-PROMPT.md、README.md(均在 tests/docs 或 tests/docs/templates 下)。但生成的 README 正文写『1. Read `QA-HANDOVER-INSTRUCTIONS.md`』并索引 QA-HANDOVER-INSTRUCTIONS.md、01-[CATEGORY]-TEST-CASES.md、02-SECURITY-TEST-CASES.md,MASTER-QA-PROMPT.md 也要求先读 tests/docs/QA-HANDOVER-INSTRUCTIONS.md——这些文件 init 一律不生成,第三方按模板走会在第一步中断。SKILL.md『What gets created』同样未提示该缺口。
  • [discrepancy] 质量门禁:SKILL.md 6 条 vs 脚本 3 条 — SKILL.md 门禁表列 Test Execution 100% / Pass Rate ≥80% / P0=0 / P1≤5 / Code Coverage ≥80% / Security 90% 六条并标注均为 Blocker;calculate_metrics.py 的 gates 字典只有前三条,且 P0 判定实现为『Bug ID 以 BUG 开头且 Notes 含 P0』这一启发式。P1≤5、覆盖率、OWASP 三项无任何自动判定。
  • [ok] 指标口径与 CSV 键名契约 — calculate_metrics 读取的键 Test Case ID/Status/Result/Bug ID/Priority/Notes 均存在于 init 写出的 13 列表头中,跨脚本契约自洽。但口径依赖精确字符串:Status=='Completed'、Result=='✅ PASSED'、Notes 含 'P0',大小写或写法的任何偏差都会静默计 0(无校验、无告警)——这是口径脆弱性而非事实错误。
  • [discrepancy] llm_prompts_library『30+ prompts』宣称 — SKILL.md 两处写『30+ ready-to-use prompts』/『30+ ready-to-use reporting prompts』。独立计数(grep '^```' = 36 行 → 18 个围栏代码块;'### ' 小节 29 个,其中含 Best Practices/Common Mistakes/Troubleshooting 等非 prompt 小节)→ 可粘贴 prompt 块实为 18 个,最宽口径(含故障排查内的短示例)也不足 30。宣称偏高。
  • [ok] 关键方法论声明与实际内容一致性(AAA/5 小时/OWASP 90%/P0-P4) — day1_onboarding.md 首行即『**Time**: 5 hours (with breaks)』,与 SKILL.md 的 5 小时时间线一致;google_testing_standards.md 确实给出 AAA 三段结构、TC-[CATEGORY]-[NUMBER] 命名与 P0-P4 定义;SKILL.md 的 OWASP A01-A07 清单与『**Target**: 90% OWASP coverage (9/10 threats mitigated)』自洽;模板文件 TEST-CASE-TEMPLATE.md 含 AAA 字段与实例。无夸大。
  • [ok] Ground Truth 原则的双向核对 — SKILL.md『Test case documents … = authoritative source for test steps』与 ground_truth_principle.md『Ground Truth: 02-CLI-TEST-CASES.md (detailed test specifications)』/『Lesson Learned: … 3.2% consistency rate』表述一致,纪律有事故依据,非泛泛口号。
  • [ok] pin commit 与目录资产面核对 — git rev-parse HEAD = d5c4678cb5d4fd6acc9c922690df035dbd33d247,提交时间 2026-09-09T20:31:25+08:00(= UTC 12:31:25Z),与任务给定一致。glob 全量(含隐藏文件)确认 qa-expert/ 仅 SKILL.md + scripts/2 + references/5 + assets/templates/1,无隐藏脚本、无二进制、无 .env。

6結論

  • 骨組み作成から引き継ぎ完了までを網羅する包括的なエンドツーエンドのプロセス資産
  • ドキュメントとCSVの乖離をインシデント事例に基づき第一級のリスクとして明示的にモデル化
  • 依存関係なしですぐに実行可能なメトリクスダッシュボード
  • LLM自律実行のための実用的なエンジニアリング規約(中断再開性 + リアルタイム追跡の強制)
  • 最適な用途: 適しているケース:特定のプロジェクト(特にWeb+CLI+APIのハイブリッド構成で、外部QAチームやLLMへの引き継ぎが必要なもの)において、監査可能なQAプロセスをゼロから立ち上げたいチーム。テスト実行をLLMに委譲しつつCSV単位の進捗ログを残したいユーザー。OWASPセキュリティテストチェックリストおよびP0-P4欠陥分類基準を必要とするプロジェクト。Claude Code などのホスト環境で、まず init スクリプトを実行し、README に従って不足している引き継ぎドキュメントを補完した上で、master prompt から実行を開始するフローに適しています。
    不向きな用途: 適していないケース:「テストコードの自動生成およびテストスクリプトの実行」を期待する環境(本スキルはテストコードを一切生成せず、実行は人間またはLLMに依存します)。すでに成熟したCIテストフレームワーク(Playwright/Jest/pytest+Allureなど)があり、カバレッジ集計やレポート出力の自動化を求めているチーム(本スキルが提供するのは文書テンプレートとスプレッドシートの仕様のみです)。監視なしの完全放置型での長期自律運用(自動判定できるゲートは3件のみでメトリクスの判定が壊れやすく、生成ドキュメントに欠落ファイルがあるため人手による介入が必須です)。また、厳格な権限分離が求められるコンプライアンス監査環境(自律実行がホストのシェル権限に依存するため)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload qa-expert.tar.gz
    sha256: a79a23756c922164…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.