Agent skill

Dev Webtest Plan

by classmethod in classmethod/tsumiki

This skill should be used when the user asks to "dev-webtest-plan", "Webテスト計画を生成", "テスト計画を作成", "webtest plan", "E2Eテスト計画", "画面テスト計画", "generate webtest plan", "create test plan from requirements"…

MITAuto-check passedTesting & QA

Install Dev Webtest Plan

skills CLI
$ npx skills add classmethod/tsumiki --skill dev-webtest-plan -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install classmethod/tsumiki dev-webtest-plan --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/classmethod/tsumiki.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dev-webtest-plan .claude/skills/dev-webtest-plan && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dev-webtest-plan
GitHub stars
974
Token cost
~4.2k tokens
SKILL.md length
930 words
Files
10 (incl. references)
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user asks to "dev-webtest-plan", "Webテスト計画を生成", "テスト計画を作成", "webtest plan", "E2Eテスト計画", "画面テスト計画", "generate webtest plan", "create test plan from requirements"…

  • Works in 10 steps: コンテキスト確認と入力検証(メイン) → 画面・フロー・API分析(Explore サブエージェント x2 並列) → webtest plan 構造設計(Plan サブエージェント) → …
  • Asks to dev-webtest-plan
  • SKILL.md covers 前提知識, ワークフロー(新規生成モード), 信号機基準(新規生成モード) and サブエージェント戦略(新規生成モード), plus 6 more sections
  • Calls git

What it does

Dev Webtest Plan is an agent skill from classmethod/tsumiki. This skill should be used when the user asks to "dev-webtest-plan", "Webテスト計画を生成", "テスト計画を作成", "webtest plan", "E2Eテスト計画", "画面テスト計画", "generate webtest plan", "create test plan from requirements", "webtest計画を更新", "テスト計画の差分更新", "update webtest plan", "画面仕様からテスト更新". dev-planの出力からPlaywright用のWebテスト計画ファイルを自動生成する。画面仕様の変更差分からテスト計画を更新する差分更新モードも対応。

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including reference files (for example `references/ac-to-scenario-mapping.md`, `references/design-prompt-template.md` and `references/explore-code-prompt-template.md`).

It sits in Testing & QA, covering Test generation, End-to-end testing and Browser testing. It works with Playwright. The licence is MIT.

When your agent uses it

  • Asks to dev-webtest-plan
  • Generate webtest plan
  • Create test plan from requirements
  • Update webtest plan

Example prompts

  • “dev-webtest-plan”
  • “Webテスト計画を生成”
  • “テスト計画を作成”
  • “/dev-webtest-plan”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. コンテキスト確認と入力検証(メイン)
  2. 画面・フロー・API分析(Explore サブエージェント x2 並列)
  3. webtest plan 構造設計(Plan サブエージェント)
  4. TaskCreate で並列生成タスク登録(メイン)
  5. webtest plan ファイル生成(general-purpose サブエージェント x N)
  6. 完了レポートと次ステップ案内(メイン)
  7. 入力検証と変更検知(メイン)
  8. 変更差分の分析(並列 Explore サブエージェント)
  9. テスト計画の更新適用(並列 general-purpose サブエージェント)
  10. 完了レポートと後処理(メイン)

What it can do on your machine

Read from SKILL.md and the folder at commit fa5aaff. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dev Webtest Plan loads about 4.2k tokens when it runs, and up to ~23k if it reads all its reference files. Until then it costs about 90 tokens; SKILL.md has 930 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~23k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from classmethod/tsumiki at commit fa5aaff, republished under its MIT licence (© classmethod). 930 words, ~4,242 tokens.

Download SKILL.mdSave it as .claude/skills/dev-webtest-plan/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
dev-webtest-plan
description
This skill should be used when the user asks to "dev-webtest-plan", "Webテスト計画を生成", "テスト計画を作成", "webtest plan", "E2Eテスト計画", "画面テスト計画", "generate webtest plan", "create test plan from requirements", "webtest計画を更新", "テスト計画の差分更新", "update webtest plan", "画面仕様からテスト更新". dev-planの出力からPlaywright用のWebテスト計画ファイルを自動生成する。画面仕様の変更差分からテスト計画を更新する差分更新モードも対応。
argument-hint
<dev-plan-name> | update [plan-name]

Dev Webtest Plan

dev-plan の出力(acceptance-criteria.md の Given/When/Then、タスクファイルの Test Strategy 等)から、dev-webtest が実行する Playwright 用 Web テスト計画ファイルを自動生成するスキル。画面仕様ドキュメント(Screen Spec)の変更差分から既存テスト計画を更新する差分更新モードも備える。

前提知識

dev-* スキルフロー内の位置
dev-context → dev-plan → [dev-webtest-plan] → dev-impl → dev-verify → dev-webtest
                              ↓                                           ↑
                    docs/dev/webtests/plans/*.md ─────────────────────────┘

dev-screen-spec → [dev-webtest-plan update] → dev-webtest
                        ↓ (差分更新)              ↑
              docs/dev/webtests/plans/*.md ───────┘
引数フォーマット
/dev-webtest-plan <dev-plan-name>          # 新規生成モード
/dev-webtest-plan update                   # 差分更新モード(全webtest計画対象)
/dev-webtest-plan update <plan-name>       # 差分更新モード(特定webtest計画のみ)
  • dev-plan-name: 既存の Plan 名(docs/dev/plans/<dev-plan-name>/ が存在すること)
  • update: 差分更新モードのキーワード
  • plan-name: 更新対象のwebtest計画名(省略時は全計画を対象)
モード自動判定

引数で自動判定する(ユーザー質問不要):

引数が "update" で始まる → 差分更新モード
それ以外 → 新規生成モード(現行通り)
新規生成モードのサブ判定

acceptance-criteria.md の存在で自動判定する:

モード判定条件特徴
Full-specdocs/dev/plans/<name>/acceptance-criteria.md が存在AC の Given/When/Then から直接変換(🔵 多い)
Lightweightacceptance-criteria.md が存在しないタスクの Test Strategy から推論(🟡 主体、🔵 なし)
差分更新モード
モード判定条件特徴
差分更新引数が update で始まる画面仕様の変更差分からテスト計画を更新(🟡 source: screen-spec update)
サブエージェント制約(重要)

サブエージェントは Task ツールを使用できない(ネスト不可のアーキテクチャ制約)。そのため:

  • コード探索は Glob/Grep/Read を直接使用する
  • TodoWrite は使用しない(TaskCreate/TaskUpdate で進捗管理する)
  • サブエージェントに渡すのはファイルパスのみ。サブエージェントが自分で Read する
コンテキスト管理戦略

メインコンテキストの肥大化を防ぐため、中間ファイルとパス参照 を使用する:

  • メインエージェントはファイルの全文を Read しない(パス存在確認・Grep での部分情報取得のみ)
  • サブエージェントに渡すのはファイルパス。サブエージェントが自分で Read する
  • Phase 間のデータ受け渡しは中間ファイル経由(tmp/webtest/plan/<plan-name>/)
  • サブエージェントの返却はマーカー+ファイルパス+行数のみ
中間ファイル(新規生成モード)
tmp/webtest/plan/<plan-name>/
├── task-summary.md          # Phase 2a で生成(タスクサマリー)
├── explore-plan-result.md   # Phase 2a の出力(Plan 分析結果)
├── explore-code-result.md   # Phase 2b の出力(UI 要素情報)
└── design-result.md         # Phase 3 の出力(構造設計結果)
中間ファイル(差分更新モード)
tmp/webtest/update/
└── analyze-<plan-name>.md   # Phase 2 の出力(変更分析結果)

ワークフロー(新規生成モード)

以下は引数が update で始まらない場合のワークフロー。

Phase 1: コンテキスト確認と入力検証(メイン)
  1. docs/dev/context.md の存在を確認する。存在しない場合は /dev-context の実行を案内して終了する
  2. docs/dev/plans/<dev-plan-name>/ の存在を確認する。存在しない場合は /dev-plan の実行を案内して終了する
  3. モード自動判定: docs/dev/plans/<dev-plan-name>/acceptance-criteria.md の存在を確認する
    • 存在する → Full-spec モード
    • 存在しない → Lightweight モード
  4. Full-spec 時: acceptance-criteria.md, user-stories.md, requirements.md のパスを記録する(Read はしない)
  5. docs/dev/plans/<dev-plan-name>/tasks/ 配下のタスクファイルパス一覧を Glob で取得する(Read はしない)
  6. Grep で status: done のタスクがあるか確認する(Phase 2b 実行判定用)
  7. タスクの Files セクションに記載されたファイルが実際に存在するか Grep + Glob で確認する(Phase 2b 実行判定用)
  8. 既存 webtest plan との重複確認:
    • docs/dev/webtests/plans/ 配下を Glob で確認
    • 同一 source-plan の webtest plan が存在する場合は AskUserQuestion で上書き確認する
  9. 中間ファイルディレクトリを作成する: mkdir -p tmp/webtest/plan/<plan-name>/
Phase 2: 画面・フロー・API分析(Explore サブエージェント x2 並列)

2a. dev-plan 分析(Explore, haiku)と 2b. 実装コード探索(Explore, haiku、オプション)を並列で実行する。API セットアップ/クリーンアップに必要なエンドポイント情報も同時に収集する。

2a. dev-plan 分析
  1. references/explore-plan-prompt-template.md を Read で読み込む
  2. テンプレートのプレースホルダーを置換する:
    • {{PLAN_MD_PATH}} ← plan.md の絶対パス
    • {{ACCEPTANCE_CRITERIA_PATH}} ← acceptance-criteria.md の絶対パス(Lightweight 時は「なし」)
    • {{TASK_FILE_PATHS}} ← 全タスクファイルの絶対パス一覧(1行1パス)
    • {{MODE}} ← "Full-spec" または "Lightweight"
    • {{TMP_DIR}} ← tmp/webtest/plan/<plan-name>/ の絶対パス
  3. Explore サブエージェント(haiku)を起動する
  4. 出力のマーカーを確認する:
    • EXPLORE_PLAN_SUCCESS → Phase 3 へ進む
    • EXPLORE_PLAN_FAILED → エラー理由をユーザーに報告して終了
2b. 実装コード探索(オプション)

以下のいずれかの条件を満たす場合のみ実行する:

  • タスクファイルに status: done が1つ以上存在する
  • タスクの Files セクションに記載されたファイルが実際に存在する(Glob で確認)

条件を満たさない場合はスキップし、Phase 3 で draft: true として設計する。

追加探索: API セットアップ/クリーンアップ用のエンドポイント情報も収集する:

  • API仕様ファイルの自動探索(openapi.yaml, swagger.json 等)
  • ルーティング定義からのCRUD APIエンドポイント抽出
  • 認証フローの調査(ログインAPI、トークン取得方法)
  1. references/explore-code-prompt-template.md を Read で読み込む
  2. テンプレートのプレースホルダーを置換する:
    • {{CONTEXT_MD_PATH}} ← context.md の絶対パス
    • {{TARGET_FILES}} ← タスクの Files セクションから抽出したファイルパス一覧
    • {{TMP_DIR}} ← tmp/webtest/plan/<plan-name>/ の絶対パス
  3. Explore サブエージェント(haiku)を起動する
  4. 出力のマーカーを確認する:
    • EXPLORE_CODE_SUCCESS → Phase 3 へ進む
    • EXPLORE_CODE_FAILED → スキップ、draft: true で進行
Phase 3: webtest plan 構造設計(Plan サブエージェント)

API セットアップ/クリーンアップの設計も含む。Phase 2 の分析結果からAPIエンドポイント情報を活用し、各 webtest plan に実行可能な curl コマンドを設計する。

  1. references/design-prompt-template.md を Read で読み込む
  2. テンプレートのプレースホルダーを置換する:
    • {{MODE}} ← "Full-spec" または "Lightweight"
    • {{EXPLORE_PLAN_RESULT_PATH}} ← tmp/webtest/plan/<plan-name>/explore-plan-result.md の絶対パス
    • {{EXPLORE_CODE_RESULT_PATH}} ← tmp/webtest/plan/<plan-name>/explore-code-result.md の絶対パス(スキップ時は「なし」)
    • {{TASK_SUMMARY_PATH}} ← tmp/webtest/plan/<plan-name>/task-summary.md の絶対パス
    • {{WEBTEST_PLAN_FORMAT_PATH}} ← references/webtest-plan-format.md の絶対パス
    • {{TMP_DIR}} ← tmp/webtest/plan/<plan-name>/ の絶対パス
  3. Plan サブエージェントを起動する
  4. 出力のマーカーを確認する:
    • DESIGN_SUCCESS → Phase 4 へ進む
    • DESIGN_FAILED → エラー理由をユーザーに報告して終了
Phase 4: TaskCreate で並列生成タスク登録(メイン)

Phase 3 の中間ファイル tmp/webtest/plan/<plan-name>/design-result.md を Read し、webtest plan の一覧を抽出する。各 webtest plan ごとに TaskCreate を実行する:

TaskCreate:
  subject: "webtest-plan: <webtest-plan-name>"
  description: "<webtest-plan-name> の webtest plan ファイルを生成する"
  activeForm: "Generating webtest-plan: <webtest-plan-name>"

ID マッピングテーブルを構築する: {"login-form": "<TaskCreate_ID>", ...}

通常は依存関係なし(並列生成可能)。

Phase 5: webtest plan ファイル生成(general-purpose サブエージェント x N)

TaskList で status: pending のタスクを取得し、各タスクについて:

  1. TaskUpdate で in_progress にする
  2. references/generate-prompt-template.md を Read で読み込む
  3. テンプレートのプレースホルダーを置換する:
    • {{WEBTEST_PLAN_NAME}} ← webtest plan 名
    • {{TARGET_URL}} ← target-url
    • {{DRAFT_FLAG}} ← true / false
    • {{MODE}} ← "Full-spec" または "Lightweight"
    • {{DESIGN_RESULT_PATH}} ← tmp/webtest/plan/<plan-name>/design-result.md の絶対パス
    • {{TASK_SUMMARY_PATH}} ← tmp/webtest/plan/<plan-name>/task-summary.md の絶対パス
    • {{EXPLORE_CODE_RESULT_PATH}} ← tmp/webtest/plan/<plan-name>/explore-code-result.md の絶対パス(ない場合は「なし」)
    • {{WEBTEST_PLAN_FORMAT_PATH}} ← references/webtest-plan-format.md の絶対パス
    • {{SIGNAL_GUIDELINES}} ← 信号機基準(Full-spec / Lightweight で異なる)
    • {{ACCEPTANCE_CRITERIA_PATH}} ← acceptance-criteria.md の絶対パス(Full-spec 時のみ、Lightweight 時は「なし」)
  4. general-purpose サブエージェントを起動する
  5. 出力のマーカーを確認する:
    • GENERATE_SUCCESS → TaskUpdate で completed にする
    • GENERATE_FAILED → エラー理由を記録、TaskUpdate で completed(レポートに失敗として記載)
  6. 複数の webtest plan がある場合は並列で実行する(Agent ツールを複数同時起動)
Phase 6: 完了レポートと次ステップ案内(メイン)

ユーザーに以下のレポートを出力する:

markdown
## dev-webtest-plan 完了レポート

### 生成概要
- Source Plan: <dev-plan-name>
- モード: Full-spec / Lightweight
- 生成ファイル数: N

### 生成ファイル一覧

| ファイル | target-url | draft | シナリオ数 | 🔵 | 🟡 | 🔴 | APIセットアップ |
|---------|-----------|-------|----------|-----|-----|-----|--------------|
| login-form.md | http://app:8080/login | false | 5 | 3 | 1 | 1 | あり(共通1, 固有0) |
| dashboard.md | http://app:8080/dashboard | true | 3 | 0 | 2 | 1 | あり(共通1, 固有2) |

### 対象外タスク
- task-NNN: <理由(API のみ、バッチ処理等)>

### ⚠️ 🔴 警告
以下のシナリオは前工程に根拠がなく、AI が推論で追加しました。内容を確認してください:
- <ファイル名> シナリオN: <シナリオ名>

### 📋 draft ファイルの補完方法
draft: true のファイルは UI 要素名が推定です。
dev-impl 完了後に `/dev-webtest-plan <dev-plan-name>` を再実行すると、
実装コードから UI 要素を確認し draft: false に更新できます。

### 🚀 次のステップ
- 実装前の場合: `/dev-impl <dev-plan-name>` で実装を進める
- 実装後の場合: `/dev-webtest <webtest-plan-name>` でテストを実行する

レポート出力後、中間ファイルをクリーンアップする:

bash
rm -rf tmp/webtest/plan/<plan-name>/

信号機基準(新規生成モード)

信号基準
🔵AC の Given/When/Then から直接変換、requirements.md の明示的要件に基づく
🟡タスクの Test Strategy から推論、一般的 Web テストベストプラクティス
🔴前工程に根拠なし、AI が Web テストとして必要と判断した項目

サブエージェント戦略(新規生成モード)

Phaseタイプモデル用途並列
2aExplorehaikudev-plan分析・画面分割判定2bと並列
2bExplorehaiku実装コード探索(オプション)2aと並列
3Plan(default)webtest plan構造設計単独
5general-purpose(default)ファイル生成plan数分並列

エスカレーション条件(新規生成モード)

以下の場合は自動処理を停止し、ユーザーに確認する:

  1. context.md 不在: /dev-context を案内して終了
  2. plan 不在: /dev-plan を案内して終了
  3. 既存 webtest plan との重複: AskUserQuestion で上書き確認
  4. Phase 2a 失敗: plan.md の情報不足を報告して終了
  5. Phase 3 失敗: 設計不能の理由を報告して終了

マーカー文字列(新規生成モード)

マーカー意味
EXPLORE_PLAN_SUCCESSdev-plan 分析成功
EXPLORE_PLAN_FAILEDdev-plan 分析失敗
EXPLORE_CODE_SUCCESS実装コード探索成功
EXPLORE_CODE_FAILED実装コード探索失敗
DESIGN_SUCCESS構造設計成功
DESIGN_FAILED構造設計失敗
GENERATE_SUCCESSファイル生成成功
GENERATE_FAILEDファイル生成失敗

ワークフロー(差分更新モード)

以下は引数が update で始まる場合のワークフロー。新規生成モードとは完全に独立。

Show full SKILL.md (390 more words)Show less
Phase 1: 入力検証と変更検知(メイン)
  1. docs/dev/context.md の存在を確認する。存在しない場合は /dev-context の実行を案内して終了する
  2. docs/dev/screen-specs/_index.md の存在を確認する
    • 存在しない場合は /dev-screen-spec の実行を案内して終了する
  3. docs/dev/webtests/plans/ 配下の既存テスト計画一覧を取得する
    • 引数に plan-name が指定されている場合はそのファイルのみ対象
    • テスト計画が存在しない場合は「更新対象のテスト計画がありません」と報告して終了する
  4. 画面仕様ドキュメントの変更を検知する:
    • 各テスト計画の frontmatter から last-run 日付を取得する
    • 各画面仕様の frontmatter から updated_at を取得する
    • updated_at > last-run の画面仕様 → 変更ありと判定する
    • 代替手段: 画面仕様ファイルの last_synced_commit とテスト計画の screen_spec_commit フィールドを比較する
  5. 変更のある画面仕様を特定し、影響するテスト計画をマッピングする:
    • 画面仕様の screen_id / path とテスト計画の target-url を突き合わせる
    • テスト計画のシナリオ内のURLパスとも照合する
  6. 影響なしの場合 → 「変更なし」を表示して終了する
  7. 影響のあるテスト計画と変更画面の対応表を表示する
  8. 中間ファイルディレクトリを作成する: mkdir -p tmp/webtest/update/
Phase 2: 変更差分の分析(並列 Explore サブエージェント)

影響のあるテスト計画ごとに Explore サブエージェントを起動する(並列):

  1. references/update-analyze-prompt-template.md を Read で読み込む
  2. テンプレートのプレースホルダーを置換する:
    • {{WEBTEST_PLAN_PATH}} ← 既存テスト計画ファイルの絶対パス
    • {{CHANGED_SCREEN_SPEC_PATHS}} ← 変更のあった画面仕様ファイルの絶対パス一覧
    • {{SCREEN_SPEC_INDEX_PATH}} ← docs/dev/screen-specs/_index.md の絶対パス
    • {{TMP_DIR}} ← tmp/webtest/update/ の絶対パス
  3. Explore サブエージェント(haiku)を起動する
  4. 出力のマーカーを確認する:
    • UPDATE_ANALYZE_SUCCESS → Phase 3 へ進む
    • UPDATE_ANALYZE_FAILED → エラー理由をユーザーに報告して終了する
Phase 3: テスト計画の更新適用(並列 general-purpose サブエージェント)

テスト計画ごとに general-purpose サブエージェントを起動する(並列):

  1. references/update-apply-prompt-template.md を Read で読み込む
  2. テンプレートのプレースホルダーを置換する:
    • {{WEBTEST_PLAN_PATH}} ← 既存テスト計画ファイルの絶対パス
    • {{ANALYZE_RESULT_PATH}} ← tmp/webtest/update/analyze-<plan-name>.md の絶対パス
    • {{CHANGED_SCREEN_SPEC_PATHS}} ← 変更のあった画面仕様ファイルの絶対パス一覧
    • {{WEBTEST_PLAN_FORMAT_PATH}} ← references/webtest-plan-format.md の絶対パス
  3. general-purpose サブエージェントを起動する
  4. 出力のマーカーを確認する:
    • UPDATE_APPLY_SUCCESS → Phase 4 へ進む
    • UPDATE_APPLY_FAILED → エラー理由を記録、レポートに失敗として記載する
Phase 4: 完了レポートと後処理(メイン)

ユーザーに以下のレポートを出力する:

markdown
## dev-webtest-plan 差分更新レポート

### 変更元
- 画面仕様の変更: N 画面

### 更新されたテスト計画

| テスト計画 | 追加 | 修正 | 削除 | 合計シナリオ |
|-----------|------|------|------|------------|
| login-form.md | +2 | ~1 | -0 | 7 |
| dashboard.md | +0 | ~3 | -1 | 5 |

### 変更詳細

#### login-form.md
- ✅ 追加: シナリオ「電話番号バリデーション」(画面仕様: login.md のバリデーション追加に対応)
- ✅ 追加: シナリオ「2要素認証フロー」(画面仕様: login.md のインタラクション追加に対応)
- ✏️ 修正: シナリオ「パスワードバリデーション」(ルール変更: 8文字→10文字)

### 🚀 次のステップ
- `/dev-webtest <plan-name>` でテストを実行する

レポート出力後、中間ファイルをクリーンアップする:

bash
rm -rf tmp/webtest/update/

webtest計画 frontmatter への追加フィールド(差分更新用)

差分更新の追跡のため、既存のfrontmatterに以下を追加する:

yaml
---
# ... 既存フィールド ...
screen_spec_commit: abc1234    # この計画が参照した画面仕様の last_synced_commit
last_updated: "2026-03-09"     # 差分更新の最終日
update_history:                # 更新履歴(直近3回)
  - date: "2026-03-09"
    changes: "+2 ~1 -0"
    source: "screen-spec update"
---
  • screen_spec_commit: 新規生成時にも画面仕様が存在する場合は設定する
  • last_updated: 差分更新を実行した日付
  • update_history: 直近3回の更新履歴。古いものから削除する

画面仕様 → テスト計画のセクション対応マッピング

画面仕様セクションテスト計画の更新対象
画面項目(追加)新規シナリオ追加(要素の表示確認)
画面項目(変更)既存シナリオの手順・期待結果を修正
画面項目(削除)該当シナリオを削除
バリデーション(追加)フォームバリデーション確認テーブルに行追加 + シナリオ追加
バリデーション(変更)フォームバリデーション確認テーブル更新 + シナリオ修正
バリデーション(削除)フォームバリデーション確認テーブルから行削除 + シナリオ削除
インタラクション(追加)新規シナリオ追加
インタラクション(変更)既存シナリオの手順・期待結果を修正
インタラクション(削除)該当シナリオを削除
状態(追加/変更)状態遷移テストの追加・修正
フロー定義(追加)フロー全体のE2Eシナリオを新規追加
フロー定義(変更)フロー内の遷移順序・アクションが変わった場合、関連するE2Eシナリオを修正
フロー定義(画面変更)フロー内の1画面が変更された場合、そのフローのE2Eシナリオ全体を更新対象とする

フローベースのE2Eシナリオ生成

概要

_index.md のフロー定義から、画面単体テストとは別にフロー全体のE2Eシナリオを生成する。

フロー → テストシナリオの変換例

フロー定義:

user-create --[登録ボタン]--> user-detail --[一覧に戻る]--> user-list

生成されるテストシナリオ:

markdown
### シナリオ: ユーザー登録→確認→一覧フロー

**手順**:
1. `/users/new` にアクセスする
2. 各項目を入力する(user-create の画面項目を参照)
3. 「登録」ボタンをクリックする
4. `/users/:id` に遷移することを確認する
5. 登録したデータが詳細画面に表示されていることを確認する
6. 「一覧に戻る」をクリックする
7. `/users` に遷移することを確認する
8. 登録したデータが一覧に表示されていることを確認する

**期待結果**:
- [ ] 登録後、詳細画面に遷移する
- [ ] 詳細画面に登録したデータが正しく表示される
- [ ] 一覧画面に戻れる
- [ ] 一覧画面に登録したデータが表示される
差分更新時のフロー影響判定

Phase 2 の分析時に以下を追加で判定する:

  1. 変更された画面が含まれるフローを _index.md から特定する
  2. そのフローに対応するE2Eシナリオを更新対象に追加する
  3. フロー定義自体が変更された場合(遷移先の変更、フロー追加・削除)もE2Eシナリオを更新する
到達不能画面の検知
  • _index.md の「到達不能画面チェック」でいずれのフローにも含まれない画面を検知する
  • テスト計画にも反映: 到達不能画面のテストシナリオには ⚠️ 警告を付与する

信号機基準(差分更新モード)

信号基準
🟡画面仕様の変更に基づく追加・修正(source: screen-spec update)
🔵既存シナリオで変更なし(元の信号を維持)
🔴画面仕様に根拠なし、AI が必要と判断した追加項目

差分更新で追加・修正されるシナリオには 🟡 source: screen-spec update を付与する。既存シナリオの信号機は変更しない。

サブエージェント戦略(差分更新モード)

Phaseタイプモデル用途並列
2Explorehaiku変更差分の分析テスト計画数分並列
3general-purpose(default)テスト計画の更新適用テスト計画数分並列

エスカレーション条件(差分更新モード)

以下の場合は自動処理を停止し、ユーザーに確認する:

  1. context.md 不在: /dev-context を案内して終了
  2. 画面仕様なし: /dev-screen-spec を案内して終了
  3. テスト計画なし: 「更新対象のテスト計画がありません」と報告して終了
  4. 画面仕様とテスト計画の対応が不明: 対応付けできなかった画面仕様を表示し、手動マッピングを依頼
  5. 分析結果が大量(20件超の変更): ユーザーに確認後、優先度の高いものから更新

マーカー文字列(差分更新モード)

マーカー意味
UPDATE_ANALYZE_SUCCESS変更分析成功
UPDATE_ANALYZE_FAILED変更分析失敗
UPDATE_APPLY_SUCCESSテスト計画更新成功
UPDATE_APPLY_FAILEDテスト計画更新失敗

ルール・制約

共通
  • context.md が存在しない場合は /dev-context を案内して終了する
  • モード判定は自動(ユーザー質問不要)
  • docs/dev/webtests/plans/ が存在しない場合は自動作成する
  • 各生成ファイルは 500行以内(超過時はシナリオ分割で複数ファイルに)
  • Bash コマンドはプロジェクトルートの 絶対パス を使用する($(git rev-parse --show-toplevel) でルートを取得)
  • サブエージェントは Task/TodoWrite 使用禁止
  • メインエージェントはファイル全文を Read しない(パス確認・Grep のみ)
  • サブエージェントにはファイルパスを渡し、サブエージェントが自分で Read する
  • サブエージェントはマーカー+ファイルパス+行数のみ返す(結果本文は返さない)
新規生成モード固有
  • plan が存在しない場合は /dev-plan を案内して終了する
  • Phase 間のデータ受け渡しは中間ファイル(tmp/webtest/plan/<plan-name>/)経由
  • 🔴 は完了レポートで警告表示する
  • 再実行時に draft: true → false に更新可能
  • Phase 6 完了後に中間ファイルディレクトリを削除する
差分更新モード固有
  • 画面仕様が存在しない場合は /dev-screen-spec を案内して終了する
  • Phase 間のデータ受け渡しは中間ファイル(tmp/webtest/update/)経由
  • 差分更新で追加・修正されるシナリオには 🟡 source: screen-spec update を付与する
  • 既存シナリオの信号機は変更しない
  • フロー定義の変更も影響判定に含める
  • Phase 4 完了後に中間ファイルディレクトリを削除する
  • 更新後に frontmatter の screen_spec_commit, last_updated, update_history を更新する

追加リソース

リファレンスファイル
新規生成モード用
  • references/webtest-plan-format.md — 出力フォーマット定義(dev-webtest の test-plan-template.md を拡張)
  • references/ac-to-scenario-mapping.md — Given/When/Then → webtest シナリオ変換ルール
  • references/lightweight-inference-guide.md — Lightweight モードでのタスク情報→シナリオ推論ガイド
  • references/explore-plan-prompt-template.md — Phase 2a: dev-plan 分析 Explore サブエージェント用プロンプト
  • references/explore-code-prompt-template.md — Phase 2b: 実装コード探索 Explore サブエージェント用プロンプト
  • references/design-prompt-template.md — Phase 3: 構造設計 Plan サブエージェント用プロンプト
  • references/generate-prompt-template.md — Phase 5: ファイル生成 general-purpose サブエージェント用プロンプト
差分更新モード用
  • references/update-analyze-prompt-template.md — Phase 2: 変更分析 Explore サブエージェント用プロンプト
  • references/update-apply-prompt-template.md — Phase 3: テスト計画更新適用 general-purpose サブエージェント用プロンプト

© classmethod, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (references) in skills/dev-webtest-plan of classmethod/tsumiki.

  • SKILL.md
  • references/ac-to-scenario-mapping.md
  • references/design-prompt-template.md
  • references/explore-code-prompt-template.md
  • references/explore-plan-prompt-template.md
  • references/generate-prompt-template.md
  • references/lightweight-inference-guide.md
  • references/update-analyze-prompt-template.md
  • references/update-apply-prompt-template.md
  • references/webtest-plan-format.md

Open the folder on GitHubat commit fa5aaff

Compare with similar skills

Dev Webtest Plan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dev Webtest Plan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dev Webtest Plan this skillclassmethod/tsumiki974—~4.2kAutomated safety check: PassMIT
Write and Verify Playwright Testsappsmithorg/appsmith41k—~2.9kAutomated safety check: NotesApache-2.0
Record E2E Giflablup/backend.ai-webui133—~907Automated safety check: NotesLGPL-3.0
Replica TestJakeschincariol/replica-skill734—~819Automated safety check: PassMIT
Playwright Testingaehrc/pathling137—~1.5kAutomated safety check: PassApache-2.0
Senior QAalirezarezvani/claude-skills28k1 repos~2.1kAutomated safety check: PassMIT

Similar skills

  • Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.

    41k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check: notes
  • Record E2E Gif

    lablup/backend.ai-webui

    Record Playwright e2e tests as one GIF per test case (video → ffmpeg palette GIF) and return a markdown table for a PR description.

    133 GitHub stars~907 tokensUpdated today
    Testing & QAAuto-check: notes
  • Replica Test

    Jakeschincariol/replica-skill

    Clicks through every flow of an app clone and tests it for bugs: a test plan generated from the recon flows with happy paths and edge cases, Playwright end-to-end tests where possible, a browser…

    734 GitHub stars~819 tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Playwright Testing

    aehrc/pathling

    Expert guidance for writing end-to-end tests with Playwright Test framework.

    137 GitHub stars~1.5k tokensUpdated today
    Testing & QAAuto-check passed
  • Senior QA

    alirezarezvani/claude-skills

    Generates unit tests, integration tests, and E2E tests for React/Next.js applications.

    28k GitHub starsUsed in 1 repo~2.1k tokens
    Testing & QAAuto-check passed
  • Generate

    alirezarezvani/claude-skills

    Generate Playwright tests. An agent skill from alirezarezvani/claude-skills.

    28k GitHub starsUsed in 1 repo~1.1k tokens
    Testing & QAAuto-check passed

More from classmethod/tsumiki

All 14 skills in this repo
  • Dev Context

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-context", "プロジェクトコンテキストを生成", "プロジェクトを分析", "generate project context", "analyze project", "コンテキストを更新".

    974 GitHub stars~755 tokensUpdated 2 mo ago
    Auto-check passed
  • Dev Impl

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-impl", "タスクを実装", "テストファースト実装", "implement task", "実装を開始", "クイック修正", "quick fix", "dev-impl auth 001".

    974 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Dev Plan

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-plan", "実装計画を作成", "要件からタスク分解", "create implementation plan", "plan tasks", "タスクを分割", "設計してタスクにする", "詳細要件定義", "full-spec plan", "EARS要件".

    974 GitHub stars~2.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Dev Run

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-run", "自動実装", "タスクを一括実装", "auto implement", "run all tasks", "タスクを自動実行", "バッチ実装", "dev-run auth 001 005".

    974 GitHub stars~1.8k tokensUpdated 2 mo ago
    Auto-check passed
  • Dev Screen Spec

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-screen-spec", "画面仕様を生成", "画面仕様を更新", "screen spec", "generate screen spec", "update screen spec", "画面仕様ドキュメント".

    974 GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Dev Webtest

    classmethod/tsumiki

    This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト".

    974 GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Categories

Questions about Dev Webtest Plan

What does Dev Webtest Plan do?

This skill should be used when the user asks to "dev-webtest-plan", "Webテスト計画を生成", "テスト計画を作成", "webtest plan", "E2Eテスト計画", "画面テスト計画", "generate webtest plan", "create test plan from requirements"…. Dev Webtest Plan is an agent skill from classmethod/tsumiki. This skill should be used when the user asks to "dev-webtest-plan", "Webテスト計画を生成", "テスト計画を作成", "webtest plan", "E2Eテスト計画", "画面テスト計画", "generate webtest plan", "create test plan from requirements", "webtest計画を更新", "テスト計画の差分更新", "update webtest plan", "画面仕様からテスト更新".

When should I use Dev Webtest Plan?

Dev Webtest Plan fits situations like: asks to dev-webtest-plan; generate webtest plan; create test plan from requirements; update webtest plan.

How do I install Dev Webtest Plan in Claude Code?

Run `npx skills add classmethod/tsumiki --skill dev-webtest-plan -a claude-code`. Or copy the skill folder (skills/dev-webtest-plan in classmethod/tsumiki) into .claude/skills/dev-webtest-plan in your project. Claude Code loads it when a task matches its description.

How do I install Dev Webtest Plan in Codex?

Run `npx skills add classmethod/tsumiki --skill dev-webtest-plan -a codex`. Or copy the skill folder (skills/dev-webtest-plan in classmethod/tsumiki) into .agents/skills/dev-webtest-plan in your project. Codex loads it when a task matches its description.

Can I use Dev Webtest Plan in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add classmethod/tsumiki --skill dev-webtest-plan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dev-webtest-plan, .gemini/skills/dev-webtest-plan, .github/skills/dev-webtest-plan and .opencode/skills/dev-webtest-plan in your project.

What does Dev Webtest Plan need to run?

Going by SKILL.md and its folder, Dev Webtest Plan needs the command-line tools its instructions call (git).

Does Dev Webtest Plan access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Dev Webtest Plan safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Dev Webtest Plan use?

Dev Webtest Plan is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dev Webtest Plan use?

About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 19k tokens, read only when the agent opens those files.

What are the alternatives to Dev Webtest Plan?

Skills that share tags, products or a category with Dev Webtest Plan: Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars), Record E2E Gif (lablup/backend.ai-webui, 133 stars), Replica Test (Jakeschincariol/replica-skill, 734 stars) and Playwright Testing (aehrc/pathling, 137 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dev Webtest Plan?

classmethod (a GitHub organization) maintains it in classmethod/tsumiki, which has 974 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on August 7, 2026.

Source: classmethod/tsumiki on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.