azukiazusa1/sapper-blog-app/blogpost
Claude Code and agent skill by azukiazusa1/sapper-blog-app
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install azukiazusa1/sapper-blog-app/blogpostSKILL.md
Codex の Record & Replay は macOS 上でのユーザーの操作を実演することで再利用可能なスキルに変換する機能です。Record & Replay が効果的な場面は、ワークフローが定型的なものでユーザーが頻繁に繰り返す場合や、プロンプトで説明するよりも実際の操作を見せる方が理解しやすい場合です。例えば経費精算の提出や勤怠アプリへの打刻や工数入力、定期的なレポートの作成などが挙げられます。このような操作をスキルとして記録し、Computer Use と組み合わせて利用することで、煩雑な定型業務を AI に任せることが期待できます。Record & Replay 機能は手順が安定していて、成功基準が明確なワークフローに特に適しています。
この記事では、Record & Replay を実際に試してみた様子を紹介します。今回は、ローカルで動かしている架空の勤怠アプリ「TimePort」を使用して、打刻や工数入力のワークフローを記録し、スキルとして再利用する例を示します。
Record & Replay をはじめる
Record & Replay を使用する前提条件として、Codex App(デスクトップアプリ)が必要です。また現時点では macOS 上でのみ利用可能です。以下のリンクから Codex App をインストールしてください。
https://developers.openai.com/codex/app
Codex App をインストールしたら、サイドバーから「プラグイン」を選択します。プラグインの一覧の検索ボックスに「Record」と入力すると、Record & Replay プラグインが表示されます。「プラグインを追加」をクリックして Record & Replay プラグインを追加します。
[Image: untitled]
プラグインは以下の 2 つの要素から構成されています。
event-streamMCP サーバーrecord-and-replayスキル
event-stream MCP サーバーはユーザーが行った操作を記録して JSON ファイルとして保存するツールを提供します。record-and-replay スキルは実際に event-stream MCP サーバーを呼び出してユーザーの操作を記録し、記録された内容をもとにスキルを作成するための手順を提供するという構成になっています。
event-stream MCP サーバーは、macOS のアクセシビリティ API と入力イベントの監視を組み合わせてユーザーの操作を記録します。この記録の開始・状態確認・終了という一連のライフサイクルを、以下の主要な 3 つのツールとして公開しています。操作の記録は Computer Use の仕組みの上に成り立っており、記録には Computer Use と同様にアクセシビリティと画面収録の権限が必要になります。
event_stream_start: ユーザーの操作の記録を開始する。ユーザーの操作を記録する前に確認が求められる。記録が開始されたら、ユーザーが記録を終了したと知らせるまで待機する。最長 30 分まで記録できるevent_stream_status: 記録の状態や生成されたメタデータ・イベントファイルのパスを確認するevent_stream_stop: ユーザーの操作の記録を終了し、保存先などの結果を返す
記録される操作は以下のようなものがあります。
- 使用したアプリやウィンドウの情報
- マウス・キーボード操作と対象要素
- フォーカスされた UI 要素
- 選択されたテキスト
- アクセシビリティツリーとその変化
操作記録そのものは MCP のレスポンスとして直接返されるわけではなく、以下のファイルとして保存されます。ユーザーの操作が終了した時に event_stream_stop を呼び出すと、保存先のパスが返されるため、Codex はそのファイルを読み取って内容を確認します。
session.json: 記録時間や終了理由などevents.jsonl: 実際の操作イベント
実際に勤怠アプリの操作を記録した events.jsonl の内容は以下のようになっています。
例として工数の日付を選択したイベントを見てみましょう。
kind が mouse.click となっており、マウスのクリックとして記録されたイベントであることがわかります。app.name が Google Chrome、window.title が TimePort | 勤怠管理 となっていることから、どのアプリのどのウィンドウで操作が行われたかがわかります。mouse.target の description の「6/15(月)の工数を入力」はクリックの目的を示しています。role の AXCheckBox、subrole の AXToggleButton は macOS のアクセシビリティ API での UI 要素の種類を示しています。画面操作を座標として保存するのではなく、アクセシビリティ API で取得できる UI 要素の情報として保存されているため、画面の配置が変わったとしても、操作の意図を理解して再現することが可能です。
record-and-replay スキルにはこのような記録されたイベントをもとに、ワークフローを再現するためのスキルを作成する手順が提供されています。スキルの全文は以下のようになっています。
<details> <summary>record-and-replay スキルの内容</summary>
</details>
日本語に翻訳して内容を要約すると、以下のような内容になっています。
記録の進め方(Recording Workflow)
- ユーザーが準備できたときに
event_stream_startを使用して記録を開始する。記録が開始されたら、ポーリングや待機ループはせず、ユーザーが終了を知らせるまで待つ - 記録が完了したら
event_stream_stopを使用して記録を終了し、返されたmetadataPathとeventsPathを読み取って記録されたイベントを確認する
同時記録の制限(Concurrent Recording)
- 同時に実行できる記録は 1 つだけ。すでに記録中の場合は再開始せず、その記録を使うか終了を待つかをユーザーに確認する
イベントの解釈(Interpreting Events)
events.jsonlを主要な証拠として扱い、session.jsonはパスとセッションのタイミングのみを提供する- 選択・フォーカス・マウス/キーボードの対象要素に注目する。パスワードや API キーなどの機微な情報は要約や生成するスキルに含めない
スキルの作成(Creating Skills)
- 再利用可能なワークフローを特定できる場合は、ユーザーが明示的に要求していなくてもデフォルトでスキルを作成する。特定できない場合は推測せず、不足している情報をユーザーに尋ねる
- スキルを作成する際は
skill-creatorスキルの手順に従い、スキルの構造・再利用可能なリソース・検証まで完了させる
ワークフローを記録してスキルに変換する
プラグインの内容を確認したところで、実際にどのように動作するのか試してみましょう。新しいセッションを開き、「+」アイコンをクリックして Record & Replay プラグインを選択します。
[Image: untitled]
プラグインを選択した状態でプロンプトを入力すると、ワークフローの記録が開始されます。ここではプロンプトとして「勤怠アプリで工数入力をする様子を記録して、将来同じ操作を繰り返せるようにして」と入力してみます。すると Record & Replay がユーザーの操作を記録する承認を求めてきますので「許可」をクリックします。クリックした瞬間からユーザーの操作が記録されるようになります。なお、Computer Use を使用してユーザーの操作を記録するので、Computer Use が使用可能であることが前提となります。
[Image: untitled]
実際に勤怠アプリで工数を入力する操作を行います。アプリを開き、日付を選択して工数を入力し、保存するまでの一連の操作を行います。操作が完了したら、Record & Replay のセッションに戻り、「完了しました」のようなプロンプトを入力して記録を終了します。
<video controls src="https://videos.ctfassets.net/in6v9lxmm5c8/6ujEwgz43cxioc9ECnt8PH/7cc28099468c9b656ccbf820165c4d4b/d0cf3edb-947d-49f7-b8db-df609a042c4c.mov"></video>
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingcontents/blogPost/workflow-to-reusable-skill.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/azukiazusa1/sapper-blog-app/blogpost)