Skip to content
cccskills
FreePublished on GitHub

demo

AIがHeaded Playwrightでアプリを操作しながら動作確認を行い、ユーザーは画面を見て承認する。Triggers on: '/demo', '/walkthrough', '動作確認して', 'デモして'

The English summary is being prepared. Showing the original description.

Works withPlaywright
See how to install

Files included (4)

  • SKILL.md8.3 KB
  • scripts/lib/parse-pause-ms.mjs2.6 KB
  • scripts/run-walkthrough.mjs12.2 KB
  • scripts/walkthrough-setup.sh6.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

AI動作確認(デモ)

AI が Headed Playwright(可視ブラウザ)でアプリケーションを操作しながら、各ステップをナレーションします。ユーザーは画面を見て OK / NG を返すだけです。手動動作確認の負荷を肩代わりするためのスキルです。

/walkthrough は非推奨(旧称)です。今後は /demo を使用してください。


入力パラメータ

対象機能: $ARGUMENTS(Issue番号 / PR番号 / 機能名。なければユーザーに確認)

前提

  • Playwright がプロジェクトに導入されていること(無ければ導入を提案)
  • dev server / アプリの起動方法が CLAUDE.md から判別できること

手順

Phase 1: シナリオ設計

  1. CLAUDE.md(テスト方針・起動コマンド・E2E設計書)を読む
  2. 対象機能の完了条件・シナリオを把握する(Issue/PR/設計書から)
  3. 動作確認するシナリオ(正常系のハッピーパス中心)と、完了条件とのトレーサビリティを提示する
## 動作確認シナリオ

| # | シナリオ | 対応する完了条件 |
|---|---------|----------------|
| 1 | ... | ... |

この内容で動作確認を進めてよいですか?

Phase 2: 環境準備

dev server とテストデータを整えたうえで、同梱スクリプトで Playwright(Headed) 環境を準備する。ブラウザ導入・OS依存・module 解決・runner はスクリプトが肩代わりするため、エージェントがアドホックに再実装しない。

スクリプトの実行形(重要): 本スキルはプラグインとして配布されるため、スクリプトはユーザーのプロジェクトroot ではなく、プラグイン配下にある。実行は必ず PATH 上のランチャー経由で claude-harness-run skills/demo/scripts/<ファイル名> の形式(パス・バージョン・引用符を付けない。この形だけが Bash(claude-harness-run:*) の1行で allowlist できる)を用い、相対パス skills/demo/scripts/... では呼び出さないこと。環境変数(WALKTHROUGH_*)はコマンドの前に置かず、claude-harness-run --env KEY=VALUE ... で渡す(前置形は allowlist にマッチしない)。claude-harness-run: command not found になった場合のみ bash "<プラグインルート>/skills/demo/scripts/<ファイル名>"(.mjs は node)にフォールバックする(パスは引用符で囲む。プラグインルートはスキル起動時の「Base directory for this skill」から解決した絶対パス。${CLAUDE_PLUGIN_ROOT} は表記上のプレースホルダであり環境変数ではない)。フォールバックした場合はユーザーにランチャー導入を案内すること。cd はせず、dev server を起動したプロジェクトを cwd にしたままスクリプトを実行する(runner は cwd の git root から @playwright/test を解決する)。

<!-- 正本: docs/plugin-path-conventions.md -->
  1. dev server / テストデータ

    • dev server をバックグラウンドで起動し、起動を確認する(BASE_URL を控える。既定 http://localhost:3000)
    • 必要なテストデータを投入する
  2. セットアップスクリプトを実行

    • claude-harness-run skills/demo/scripts/walkthrough-setup.sh を実行する。
    • 内部で playwright install chromium を行い、uname で OS 判定して依存導入を分岐する(macOS は依存導入をスキップ/Linux は full chromium に対し ldd で不足を検出)。
    • 出力末尾の WALKTHROUGH_SETUP_STATUS=<ready|deps-missing|error> を確認する。
    • error の場合は再実行せず、まずセットアップログを確認して原因(Playwright 未導入など)を解消してから 2. をやり直す。
  3. 不足があれば案内コマンドで導入

    • deps-missing の場合、スクリプトは sudo を勝手に実行せず、必要なコマンド(例: sudo <playwright> install-deps chromium)を表示して正常終了する。
    • 表示されたコマンドをユーザーに実行してもらうよう促す(非対話環境ではエージェントは実行できない)。導入後に再度 2. を実行する。
  4. runner で起動

    • claude-harness-run skills/demo/scripts/run-walkthrough.mjs "/絶対パス/flow.mjs" をプロジェクトを cwd にしたまま実行する。 runner は createRequire で(cwd の git root 起点に)プロジェクトの @playwright/test を解決するため、プラグイン配下の場所から実行しても壊れない。
    • headed + slowMo + trace が既定 ON。ステップ実況ログ・スクショ・動画保存も runner が行う。
    • WALKTHROUGH_PAUSE_MS(任意)に正の整数msを指定すると、ctx.step / ctx.goto 完了直後に runner が自動でその時間だけ静止する(ゆっくり見せたい場合に使う)。未指定・不正値(0/負数/非数値・2147483647超過等)の場合は静止しない=従来どおりの挙動。
    • BASE_URL / E2E_USERNAME / E2E_PASSWORD は env で渡す(E2E_* は /create-e2e と共通の命名)。操作手順は flow.mjs(export default async (ctx) => {...})に書き、ctx.goto / ctx.step / ctx.shot / ctx.login を使う。flow ファイルは絶対パスで渡すこと(cwd 相対で解決される)。
    • 表示不可環境(Linux で DISPLAY 無し等)では runner が自動的に headless + スクショへフォールバックする。明示制御は WALKTHROUGH_HEADED=false(headless)/ WALKTHROUGH_HEADED=true(headed 強制)。WSL の Headed は WSLg(DISPLAY)前提。
    • 注意: trace は入力値も記録され得る(sources 有効)。認証情報を含む成果物の取り扱いに注意する。

Phase 3: デモ実行

各シナリオについて、Headed Playwright でブラウザを操作しながらステップを実況する:

  1. 各操作の前に「これから何をするか」を一文で述べる(例:「ログイン画面を開きます」→「認証情報を入力します」→「ログイン成功を確認します」)
  2. 操作を実行し、画面の結果を述べる
  3. シナリオ完了後、ユーザーに確認を求める:
## シナリオ {N}/{総数}: {名前}

{実行したステップの要約}
→ 期待結果: {...}(達成 / 未達成)

画面の動作を確認してください(OK / NG / 修正点)。
ユーザー回答アクション
OK次のシナリオへ
NG + 詳細問題を報告。実装側の修正が必要な場合はその旨を伝える
修正点シナリオを調整して再実行

Phase 4: エビデンスと結果

  • 各シナリオの trace / スクリーンショット / 動画の保存先を報告する
  • 結果サマリー(確認済み / NG / スキップ)を提示する

Phase 5: E2Eテスト化(任意)

ユーザーが希望する場合、OK となったシナリオを E2Eテストとして永続化する:

  • /create-e2e を呼び出し、確認済みシナリオを正常系テストケースとして実装する(create-e2e は非対話・仕様ベース)
  • 動作確認はこのデモで完了しているため、確認済みシナリオをそのままテストケース化する

注意事項

  • 破壊的操作(データ削除・外部送信)を伴う場合は、実行前にユーザーへ確認する
  • 操作対象が見つからない場合は data-testid 等のセレクタを確認し、必要なら実装側に追加を提案する
  • メール送信等の外部副作用は、送信トリガーまでの確認に留める

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Codexによるread-onlyローカルレビューを実行する。Triggers on: '/codex-review', 'Codexでレビューして', 'クロスモデルレビューして'

The English summary is being prepared. Showing the original description.

masanami/claude-harness5Updated Oct 19, 2026

調査(read-only)または雑務(workspace-write)をCodexへ委譲し、結論をJSONで受け取る。Triggers on: '/codex-task', 'Codexで調べて', 'Codexにやらせて', 'Codexへ委譲'

The English summary is being prepared. Showing the original description.

masanami/claude-harness5Updated Oct 19, 2026

commit

Free

Conventional Commits形式でコミットする。Triggers on: '/commit', 'コミットして', 'commit changes'

The English summary is being prepared. Showing the original description.

masanami/claude-harness5Updated Oct 19, 2026

恒常的な設計決定を ADR として記録する(退役する機能仕様から ADR 昇格の要否を判定するモードを併せ持つ)。定常フローの必須ステップではなく、必要時に呼ぶ。Triggers on: '/create-adr', 'ADRを書いて', '設計判断を記録', 'ADR昇格を判定'

The English summary is being prepared. Showing the original description.

masanami/claude-harness5Updated Oct 19, 2026

仕様(チケットの完了条件・受入基準)からE2Eテストを実装する(非対話)。Triggers on: '/create-e2e', 'E2Eテストを書いて', 'E2Eテストを追加して'

The English summary is being prepared. Showing the original description.

masanami/claude-harness5Updated Oct 19, 2026

機能仕様ドキュメントから要件チケットを作成する、または親要件チケットを実装チケット群に分解する。Triggers on: '/create-ticket', 'チケットを作成', 'Issueを作って', 'create ticket', '実装チケットに分解'

The English summary is being prepared. Showing the original description.

masanami/claude-harness5Updated Oct 19, 2026

See all skills by masanami

Report a problem with this skill