Run Dashboard E2E Local Changes
BlackBeltTechnology/pi-agent-dashboard
Run Playwright E2E (tests/e2e/) against the docker/ all-in-one harness so it reflects LOCAL code changes, not a stale cached image.
This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト".
$ npx skills add classmethod/tsumiki --skill dev-webtest -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install classmethod/tsumiki dev-webtest --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/classmethod/tsumiki.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dev-webtest .claude/skills/dev-webtest && rm -rf skills-srcUse ~/.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/
Install the "dev-webtest" agent skill from https://github.com/classmethod/tsumiki/tree/main/skills/dev-webtest into .claude/skills/dev-webtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-webtest", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/classmethod/tsumiki/tree/main/skills/dev-webtestType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add classmethod/tsumiki --skill dev-webtest -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install classmethod/tsumiki dev-webtest --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/classmethod/tsumiki.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/dev-webtest .agents/skills/dev-webtest && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dev-webtest" agent skill from https://github.com/classmethod/tsumiki/tree/main/skills/dev-webtest into .agents/skills/dev-webtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-webtest", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add classmethod/tsumiki --skill dev-webtest -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install classmethod/tsumiki dev-webtest --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/classmethod/tsumiki.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/dev-webtest .cursor/skills/dev-webtest && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dev-webtest" agent skill from https://github.com/classmethod/tsumiki/tree/main/skills/dev-webtest into .cursor/skills/dev-webtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-webtest", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/classmethod/tsumiki.git --path skills/dev-webtest--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add classmethod/tsumiki --skill dev-webtest -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install classmethod/tsumiki dev-webtest --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/classmethod/tsumiki.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/dev-webtest .gemini/skills/dev-webtest && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dev-webtest" agent skill from https://github.com/classmethod/tsumiki/tree/main/skills/dev-webtest into .gemini/skills/dev-webtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-webtest", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install classmethod/tsumiki dev-webtestInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add classmethod/tsumiki --skill dev-webtest -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/classmethod/tsumiki.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/dev-webtest .github/skills/dev-webtest && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dev-webtest" agent skill from https://github.com/classmethod/tsumiki/tree/main/skills/dev-webtest into .github/skills/dev-webtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-webtest", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add classmethod/tsumiki --skill dev-webtest -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install classmethod/tsumiki dev-webtest --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/classmethod/tsumiki.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/dev-webtest .opencode/skills/dev-webtest && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dev-webtest" agent skill from https://github.com/classmethod/tsumiki/tree/main/skills/dev-webtest into .opencode/skills/dev-webtest/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-webtest", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dev-webtestThis skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト".
Dev Webtest is an agent skill from classmethod/tsumiki. This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト". Playwright CLIを使ってWebアプリの動作確認・視覚テスト・アクセシビリティ・レスポンシブ・フォームバリデーションを実行し、問題を検出・記録する。
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `examples/sample-test-plan.md`, `references/accessibility-checklist.md` and `references/docker-setup.md`).
It sits in Testing & QA, covering Browser testing and End-to-end testing. It works with Playwright, Docker, Model Context Protocol and npm. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fa5aaff. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
dockernpmgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use docker, npm and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ADMIN_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dev Webtest loads about 4.2k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 971 words of instructions outside code blocks.
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.
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.
The full file from classmethod/tsumiki at commit fa5aaff, republished under its MIT licence (© classmethod). 971 words, ~4,207 tokens.
.claude/skills/dev-webtest/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Playwright CLI (@playwright/cli) を使ったWebアプリケーションの動作確認・視覚テスト・記録スキル。計画テスト、モンキーテスト、視覚チェック、アクセシビリティ、レスポンシブ、フォームバリデーションの6種類のテストを実行し、検出した問題をエラーディレクトリに記録する。修正は dev-debug 等の別スキルに委譲する。
dev-context → dev-plan → dev-impl → dev-verify
↓
[dev-webtest]
↓
dev-debug (問題修正)dev-verify でユニットテスト/ビルド/Lintが通った後にWeb画面の動作確認として使用する。単独での使用も可能。
| モード | 引数 | 用途 |
|---|---|---|
| 計画テスト | <plan-name> [--parallel N] | Markdownテスト計画に沿って自動テスト |
| モンキーテスト | monkey <url> | ランダム操作でエラー・崩れを検出 |
| クイックチェック | check <url> | 単一ページの視覚・アクセシビリティ確認 |
| プラン選択 | (引数なし) | 利用可能なプラン一覧から選択して実行 |
| 再テスト | retest | 未解決エラーの再現手順を再実行し、修正済みなら fixed に更新 |
| オプション | デフォルト | 説明 |
|---|---|---|
--parallel N | 2 | シナリオグループの最大並列実行数(1〜5) |
--parallel 1 で従来通りの完全直列実行group フィールドに基づいてグループ化し、異なるグループを並列実行するdepends 順に直列実行する@playwright/mcp) — CLI が利用できない場合のフォールバック。MCP プロトコル経由でブラウザ操作(詳細は references/mcp-workflow.md)Step 1 開始
|
[1-0] docs/dev/webtests/env-knowledge.md を Read(存在する場合)
| → 過去のトラブルシュートを把握し、同じ問題発生時に即座に適用する
|
[1-1] docker compose ps
|
+-- Playwright コンテナ Running --> [1-5] CLI動作確認・モード判定
|
+-- 未起動 / docker compose 自体が使えない
|
[1-2] docker-compose.yaml の存在 + playwright サービスの定義を確認
|
+-- yaml あり & playwright サービス定義済み → AskUserQuestion (A0, C, D)
+-- yaml あり & playwright サービス未定義 → AskUserQuestion (A1, C, D)
+-- yaml なし → AskUserQuestion (B, C, D)1-0. 過去の環境セットアップ知見を読み込む
docs/dev/webtests/env-knowledge.md が存在する場合、Read して内容を把握する。過去のトラブルシュートを参考に、同じ問題が起きた場合は記録済みの解決策を即座に適用する。
1-1. Docker Compose の状態を確認する
docker compose psPlaywright コンテナが Running なら 1-5 へ進む。未起動またはコマンド自体が使えない場合は 1-2 へ。
1-2. docker-compose.yaml の存在と playwright サービスの定義を確認する
確認結果に応じて AskUserQuestion で環境セットアップ方法を選択してもらう。各状況で Recommended 付きの選択肢1つ + C + D の3択 になる。
| 選択肢 | 表示条件 | 処理 |
|---|---|---|
| A0) Playwright コンテナを起動する (Recommended) | yaml あり & playwright 定義済み | docker compose up -d playwright → npm install -g @playwright/cli@latest → 1-5 へ |
| A1) 既存の docker-compose.yaml に Playwright サービスを追加する (Recommended) | yaml あり & playwright 未定義 | docker-setup.md を参照して yaml 編集 → docker compose up -d playwright → npm install -g @playwright/cli@latest → 1-5 へ |
| B) 新しい docker-compose.yaml を作成する (Recommended) | yaml なし | docker-setup.md を参照して yaml 新規作成 → docker compose up -d playwright → npm install -g @playwright/cli@latest → 1-5 へ |
| C) 手動でセットアップする | 常に表示 | docker-setup.md を案内 → ユーザーに完了確認 → 1-5 へ |
| D) Docker を使わずローカル MCP で実行する | 常に表示 | docker-setup.md の「ローカル MCP セットアップ」を参照して .mcp.json に playwright 設定追加 → mkdir -p tmp/webtest/screenshots → .gitignore 追記 → MCP モード確定 → Step 2 へ |
※ A0/A1/B は排他(状況に応じて1つだけ表示)。
1-5. CLI 動作確認・モード判定(A0/A1/B/C 選択時のみ)
docker compose exec playwright playwright-cli --versionreferences/mcp-workflow.md の手順に従う)1-6. 環境セットアップ知見を記録する
Step 1 完了時に docs/dev/webtests/env-knowledge.md に今回の知見を追記する。
env-knowledge.md フォーマット:
# Webtest 環境セットアップ知見
## 成功手順
### <YYYY-MM-DD> <モード名>モード確立
- <実行した手順の要約>
- 所要ステップ: <通過したステップ>
## トラブルシュート
### <YYYY-MM-DD> <問題の概要>
- 症状: <エラーメッセージや観察された挙動>
- 原因: <特定された原因>
- 解決: <実行した解決策>引数に応じてテストモードを切り替える。
引数解析フロー:
引数あり?
+-- "retest" → 2d へ
+-- "monkey <url>" → 2b へ
+-- "check <url>" → 2c へ
+-- その他の文字列 → plan-name として解釈 → プラン解決へ
+-- 引数なし → プラン一覧表示へ
--parallel N が含まれる場合:
→ N を抽出し maxParallel に設定(デフォルト: 2、範囲: 1〜5)
→ --parallel 部分を引数から除去して上記フローを継続プラン解決:
docs/dev/webtests/plans/ ディレクトリを Glob で走査し、利用可能な .md ファイルを一覧取得するdocs/dev/webtests/plans/<plan-name>.md が存在する → 2a へ進むdocs/dev/webtests/plans/ にテスト計画がありません。dev-webtest-plan でテスト計画を生成するか、monkey <url> または check <url> で直接テストしてください」と案内するdocs/dev/webtests/plans/<plan-name>.md を読み込むreferences/test-plan-template.md を参照status → in_progresslast-run → 当日の日付(YYYY-MM-DD)mkdir -p tmp/webtest/results/<plan-name> で中間結果ディレクトリを作成する
4-1. APIデータセットアップの実行(「## APIデータセットアップ」セクションが存在する場合):テスト計画の「### ファイル共通」セクション内の curl コマンドを上から順に Docker コンテナ内で実行する:
docker compose exec playwright bash -c '<curl コマンド>'${TOKEN} 等に展開するtmp/webtest/results/<plan-name>/api-setup.md に記録する「### シナリオN固有」セクションの内容をパースし、シナリオ名と curl コマンドの対応を記録する。実際の実行は各シナリオの直前に行う(Step 5-3 の Agent 委譲時にシナリオ固有セットアップも渡す)。
シナリオの group フィールドに基づいてグループ分けする:
group が同じシナリオは同一グループ(グループ内は depends 順に直列実行)group が未指定のシナリオはそれぞれ独立グループとして扱う(他と並列実行可能)depends が未指定のシナリオはグループ内の記述順に実行する例: 4シナリオ(group: auth×2, group: products×1, group未指定×1)
→ グループ: [auth], [products], [シナリオ4]
→ maxParallel=2 の場合: [auth] と [products] を並列 → 完了後 [シナリオ4]maxParallel(デフォルト: 2)に基づき、同時実行するグループ数を制限するrun_in_background: true)し、完了通知を受けたら次のグループの Agent を起動するmaxParallel: 1 の場合は従来通りの完全直列実行となる1グループにつき1つの Agent を起動する。Agent にはグループ内の全シナリオを渡し、グループ内のシナリオは depends 順に直列実行 させる:
${TOKEN} 等の値)tmp/webtest/results/<plan-name>/<scenario-index>-<scenario-name>.mddocs/dev/webtests/errors/docker compose exec playwright bash -c '<curl コマンド>'${TOKEN} 等のプレースホルダはファイル共通セットアップで取得した値に展開するskipped として結果に記録する(次のシナリオに進む)
a. シナリオの手順を実行(Step 2a 操作)
b. Step 3 + Step 4: 視覚チェック + アクセシビリティチェック(同時実行可能 — どちらも読み取り専用のため。snapshot を取得した時点で Step 3 は screenshot を Read して判定、Step 4 は snapshot を分析。ただし Tab キーボードテストは Step 3 完了後に実行する)
c. Step 5: レスポンシブテスト(viewport 変更を伴うため単独実行)
d. Step 6: フォームバリデーションテスト(ページ状態を変更するため最後に実行)
e. 問題検出時は error.md を作成
f. 結果を scenario 中間ファイルに書き出す(フォーマットは後述)全グループ完了後、APIクリーンアップを実行する(「## APIクリーンアップ」セクションが存在する場合):
テスト計画の「## APIクリーンアップ」セクション内の curl コマンドを上から順に Docker コンテナ内で実行する:
docker compose exec playwright bash -c '<curl コマンド>'${TOKEN} / ${ADMIN_TOKEN} 等のプレースホルダはセットアップ時に取得した値に展開するtmp/webtest/results/<plan-name>/api-cleanup.md に記録するテスト計画ファイルの frontmatter status を更新する:
status: donestatus: in_progressStep 7 → Step 8 に進む
Agent が tmp/webtest/results/<plan-name>/<scenario-index>-<scenario-name>.md に書き出す:
---
scenario: "<シナリオ名>"
url: "<テスト対象URL>"
result: passed | failed | skipped
---
## APIセットアップ: <成功/失敗/なし>
- <セットアップの実行結果(1行。なしの場合は「シナリオ固有セットアップなし」)>
## シナリオ結果: <passed/failed/skipped>
- <結果の要約(1-2行)>
## 視覚チェック: <判定>
- <所見(1-2行)>
## アクセシビリティ: <判定>
- 画像alt: <判定> (N/M)
- フォームラベル: <判定> (N/M)
- Heading階層: <判定>
- キーボード: <判定> Tab到達率 N% (N/M)
- ARIA: <判定>
- ランドマーク: <判定>
## レスポンシブ: <判定>
- mobile: <判定> <所見>
- tablet: <判定> <所見>
- desktop: <判定> <所見>
## フォームバリデーション: <判定>
- <パターン>: <判定> | ...
## 検出エラー
- <error.md へのパス>(エラーがない場合は「なし」)snapshot でページ構造を把握するsnapshot でページ状態を取得console でJavaScriptエラーを確認network でHTTPエラー(4xx/5xx)を確認screenshot を取得するdocs/dev/webtests/errors/<YYYY-MM-DD>-<NNN>-<概要>/error.md を作成tmp/webtest/errors/<YYYY-MM-DD>-<NNN>-<概要>/screenshot.png にスクリーンショットを保存screenshot + snapshot を取得するdocs/dev/webtests/errors/ の未解決エラーについて、再現手順を再実行して修正を確認する。
docs/dev/webtests/errors/ を Glob で走査し、全 error.md を取得するstatus: open のものだけ収集するurl にアクセスする
b. 「再現手順」に記載された操作を Playwright で実行する
c. 「期待される状態」と実際の状態を比較する
d. 判定:status を open → fixed に更新し、fixedDate: YYYY-MM-DD を追記するstatus: open のまま維持するスクリーンショットを Read tool で読み取り、Claude が視覚的に判断する。判定完了後は画像の内容をテキスト要約に変換し、以降はテキスト要約のみ保持する(画像データはコンテキストから自然に流れる)。
チェック項目(詳細は references/visual-check-criteria.md 参照):
判定:
エラー記録: ⚠️ または ❌ 判定時はエラーディレクトリを作成する:
docs/dev/webtests/errors/<YYYY-MM-DD>-<NNN>-<概要>/error.md を作成tmp/webtest/errors/<YYYY-MM-DD>-<NNN>-<概要>/screenshot.png にスクリーンショットを保存snapshot のアクセシビリティツリーを分析する(詳細は references/accessibility-checklist.md 参照):
img 要素の alt 属性の有無form 要素と label の紐づけpress Tab で確認Chrome DevTools MCP が利用可能な場合は lighthouse_audit でスコアを取得する。
エラー記録: 問題検出時はエラーディレクトリを作成する:
docs/dev/webtests/errors/<YYYY-MM-DD>-<NNN>-<概要>/error.md を作成tmp/webtest/errors/<YYYY-MM-DD>-<NNN>-<概要>/screenshot.png にスクリーンショットを保存シナリオのURLについて3つのビューポートでスクリーンショットを取得し、AIで確認する。判定完了後は画像の内容をテキスト要約に変換し、以降はテキスト要約のみ保持する:
# モバイル
docker compose exec playwright playwright-cli open <url> --headless --viewport 375x667
docker compose exec playwright playwright-cli screenshot --filename=/work/tmp/webtest/screenshots/mobile.png
# タブレット
docker compose exec playwright playwright-cli open <url> --headless --viewport 768x1024
docker compose exec playwright playwright-cli screenshot --filename=/work/tmp/webtest/screenshots/tablet.png
# デスクトップ
docker compose exec playwright playwright-cli open <url> --headless --viewport 1280x800
docker compose exec playwright playwright-cli screenshot --filename=/work/tmp/webtest/screenshots/desktop.png確認項目:
エラー記録: 問題検出時はエラーディレクトリを作成する:
docs/dev/webtests/errors/<YYYY-MM-DD>-<NNN>-<概要>/error.md を作成tmp/webtest/errors/<YYYY-MM-DD>-<NNN>-<概要>/screenshot.png にスクリーンショットを保存ページ内のフォームを snapshot から自動検出し、以下のパターンでテストする:
| パターン | 入力値 | 期待 |
|---|---|---|
| 空送信 | 全フィールド空 | バリデーションエラー |
| 必須チェック | 必須フィールドのみ空 | 該当フィールドにエラー |
| 型チェック | email欄に非email文字列 | 型エラー表示 |
| 最大長 | 1000文字の文字列 | 切り詰めまたはエラー |
| XSS | <script>alert(1)</script> | スクリプトが実行されない |
| SQLi | '; DROP TABLE users; -- | SQLエラーが発生しない |
| 正常値 | 適切な値 | 成功 |
セキュリティ上の問題(XSS, SQLi)は ❌ として即時報告する。
エラー記録: 問題検出時はエラーディレクトリを作成する:
docs/dev/webtests/errors/<YYYY-MM-DD>-<NNN>-<概要>/error.md を作成tmp/webtest/errors/<YYYY-MM-DD>-<NNN>-<概要>/screenshot.png にスクリーンショットを保存検出された問題は docs/dev/webtests/errors/ に error.md として記録済みである。
error.md の status フィールドを open → fixed に更新して対応状況を管理する計画テスト・モンキーテストの場合、docs/dev/webtests/reports/YYYY-MM-DD-<plan-name>.md にレポートを出力する。
計画テストの場合(サブAgent結果を集約):
tmp/webtest/results/<plan-name>/ 配下の全 scenario 中間ファイルを Read するrm -rf tmp/webtest/results/<plan-name>/ で中間ファイルを削除するレポートには以下を含める:
api-setup.md から集約)api-cleanup.md から集約)サブAgent内でのコンテキスト蓄積を抑制するため、以下のルールを遵守する。
snapshot の取り扱い:
screenshot の取り扱い:
browser_take_screenshot の base64 が直接返るため、判定後すぐにテキスト要約に変換して以降は要約のみ使用するscenario 中間ファイル:
tmp/webtest/results/<plan-name>/ にファイルとして書き出すtmp/webtest/screenshots/ に保存する(git管理しない)docs/dev/webtests/errors/<YYYY-MM-DD>-<NNN>-<概要>/error.md を作成するtmp/webtest/errors/<YYYY-MM-DD>-<NNN>-<概要>/screenshot.png に保存する(git管理しない)docker compose exec playwright 経由で実行するreferences/playwright-cli-reference.md を参照する@playwright/cli が利用できない場合は references/mcp-workflow.md に従って MCP モードで実行する$(git rev-parse --show-toplevel) でルートを取得)---
severity: critical | major | minor
step: "2a-scenario | 2b-monkey | 3-visual | 4-a11y | 5-responsive | 6-form"
status: open | fixed
detected: YYYY-MM-DD
fixedDate:
scenario: "シナリオ名またはテスト概要"
url: "テスト対象URL"
---
## 検出内容
(何が問題だったかの説明)
## 再現手順
1. (手順1)
2. (手順2)
3. ...
## 期待される状態
(正しい動作の説明)
## スクリーンショット
references/playwright-cli-reference.md — Playwright CLI コマンド一覧と使用例references/test-plan-template.md — テスト計画の書き方テンプレートreferences/visual-check-criteria.md — 視覚チェックの判定基準と具体例references/accessibility-checklist.md — アクセシビリティチェック項目の詳細references/docker-setup.md — Docker環境のセットアップ手順references/mcp-workflow.md — MCP モードのワークフローとツール対応表examples/sample-test-plan.md — サンプルテスト計画(Go+Echo+templアプリ向け)© classmethod, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in skills/dev-webtest of classmethod/tsumiki.
Open the folder on GitHubat commit fa5aaff
Dev Webtest 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dev Webtest this skillclassmethod/tsumiki | 974 | — | ~4.2k | Automated safety check: Pass | MIT | |
| Run Dashboard E2E Local ChangesBlackBeltTechnology/pi-agent-dashboard | 316 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Acarshub Tool Additionssdr-enthusiasts/docker-acarshub | 117 | — | ~707 | Automated safety check: Pass | GPL-3.0 | |
| Project Docs Maintainerswimmwatch/cloakbrowser-mcp | 161 | — | ~569 | Automated safety check: Pass | MIT | |
| E2E TestingOpenHands/OpenHands | 90k | — | ~308 | Automated safety check: Pass | MIT | |
| Playwright E2E Testsonyx-dot-app/onyx | 32k | 1 repos | ~2.8k | Automated safety check: Notes | Custom licence |
BlackBeltTechnology/pi-agent-dashboard
Run Playwright E2E (tests/e2e/) against the docker/ all-in-one harness so it reflects LOCAL code changes, not a stale cached image.
sdr-enthusiasts/docker-acarshub
Use ONLY when working in the docker-acarshub repository AND a task may require adding a system tool, npm package, or other dependency.
swimmwatch/cloakbrowser-mcp
Maintain, organize, consolidate, or audit the cloakbrowser-mcp documentation set only when the user explicitly requests project documentation maintenance or an authorized public change requires it.
OpenHands/OpenHands
This skill should be used when the user asks to "add an E2E test", "run live E2E", "run mock-LLM tests", "debug Playwright CI", "test the Docker image", or changes tests/e2e, Playwright configs, E2E…
onyx-dot-app/onyx
Write and maintain Playwright end-to-end tests for the Onyx application.
Kiln-AI/Kiln
Look at Kiln's UI in a real browser, and run its end-to-end tests.
classmethod/tsumiki
This skill should be used when the user asks to "dev-context", "プロジェクトコンテキストを生成", "プロジェクトを分析", "generate project context", "analyze project", "コンテキストを更新".
classmethod/tsumiki
This skill should be used when the user asks to "dev-impl", "タスクを実装", "テストファースト実装", "implement task", "実装を開始", "クイック修正", "quick fix", "dev-impl auth 001".
classmethod/tsumiki
This skill should be used when the user asks to "dev-plan", "実装計画を作成", "要件からタスク分解", "create implementation plan", "plan tasks", "タスクを分割", "設計してタスクにする", "詳細要件定義", "full-spec plan", "EARS要件".
classmethod/tsumiki
This skill should be used when the user asks to "dev-run", "自動実装", "タスクを一括実装", "auto implement", "run all tasks", "タスクを自動実行", "バッチ実装", "dev-run auth 001 005".
classmethod/tsumiki
This skill should be used when the user asks to "dev-screen-spec", "画面仕様を生成", "画面仕様を更新", "screen spec", "generate screen spec", "update screen spec", "画面仕様ドキュメント".
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"…
Categories
This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト". Dev Webtest is an agent skill from classmethod/tsumiki. This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト".
Dev Webtest fits situations like: asks to dev-webtest; tasks that involve Browser testing; tasks that involve End-to-end testing.
Run `npx skills add classmethod/tsumiki --skill dev-webtest -a claude-code`. Or copy the skill folder (skills/dev-webtest in classmethod/tsumiki) into .claude/skills/dev-webtest in your project. Claude Code loads it when a task matches its description.
Run `npx skills add classmethod/tsumiki --skill dev-webtest -a codex`. Or copy the skill folder (skills/dev-webtest in classmethod/tsumiki) into .agents/skills/dev-webtest in your project. Codex loads it when a task matches its description.
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 -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, .gemini/skills/dev-webtest, .github/skills/dev-webtest and .opencode/skills/dev-webtest in your project.
Going by SKILL.md and its folder, Dev Webtest needs the command-line tools its instructions call (docker, npm and git) and credentials named ADMIN_TOKEN. Our summary lists: Node.js; Docker.
SKILL.md contains no URLs. Its commands use docker, npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Dev Webtest is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Dev Webtest: Run Dashboard E2E Local Changes (BlackBeltTechnology/pi-agent-dashboard, 316 stars), Acarshub Tool Additions (sdr-enthusiasts/docker-acarshub, 117 stars), Project Docs Maintainer (swimmwatch/cloakbrowser-mcp, 161 stars) and E2E Testing (OpenHands/OpenHands, 90k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.