Back to skills
extension
Category: Development & EngineeringNo API key required

edocode-monthly-accounting

A skill for monthly accounting processing (recovery of voucher files) for EDOCODE Corporation. It is used when a user makes a request such as, 'Let's start the accounting processing for EDOCODE' or 'Please do the monthly settlement for EDOCODE.' Using Claude Code (`claude --chrome`) or the Cowork environment, it automatically recovers invoice and receipt PDFs from the management screens of various services through browser operations using Claude in Chrome. For operations that only the user can perform, such as logging in, the user will be asked to do so each time.

personAuthor: jakexiaohubgithub

EDOCODE Monthly Accounting v1

EDOCODE 株式会社で共通利用しているサービスのうち、管理画面から請求書・領収書 PDF を直接ダウンロードする必要があるものについて、Claude が主導して証憑ファイルを回収する。

Prerequisites(前提条件)

  • Claude Code(claude --chrome で起動)または Cowork 環境で実行すること
  • Claude in Chrome 拡張機能が有効であること
  • Keeper Fill が Chrome にインストール済みであること
  • Google Workspace(yamada.k@edocode.co.jp)にログイン済みであること
  • Cowork 環境の場合:ネットワーク allowlist に各サービスのドメインが追加されていること

Preflight Checks(事前チェック)

Phase 1 に入る前に、以下のチェックを順番に実行する。すべてクリアしてから処理を開始する。

Check 1: Chrome Connection(Chrome 接続確認)

Claude in Chrome との接続状態を確認する。

  • 接続済みの場合 → Check 2 に進む
  • 未接続の場合 → ユーザーに「Claude in Chrome が接続されていません。Chrome で Claude 拡張機能が有効になっていることを確認し、接続してください。」と依頼する。接続が確認できるまで待機する。

Check 2: Downloads Folder Access(ダウンロードフォルダのアクセス確認)

このワークフローでは PDF をダウンロードするため、ダウンロードフォルダへのアクセスが必要。

  • Claude Code の場合:ダウンロードフォルダ(通常 ~/Downloads)にアクセスできることを確認する
  • Cowork の場合:ダウンロードフォルダを作業フォルダとして追加するようユーザーに依頼する
  • アクセスが確認できたら → Preflight Complete に進む

Preflight Complete

すべてのチェックが完了したら:

  1. 対象月の確認を行う(Common: Month Calculation 参照)
  2. 作業フォルダを作成する(Common: Workspace Setup 参照)
  3. 監査ログを初期化する(Common: Audit Log 参照)
  4. 「事前チェック完了。証憑ファイルの回収を開始します。」と通知し、Phase 1 に進む

Target Services(対象サービス)

| # | Service | Type | Login Method | Login ID | Billing URL | |---|---------|------|-------------|----------|-------------| | 1 | fondesk | 電話代行 | メール + パスワード(Keeper Fill) | service-account@edocode.co.jp | https://www.fondesk.jp/app/account/invoices | | 2 | Figma | デザインツール | Google SSO(ポップアップ型) | yamada.k@edocode.co.jp | https://www.figma.com/files/team/690131495837577799/team-admin-console/billing/invoices | | 3 | TimeRex | 日程調整 | Google SSO(ページ遷移型) | yamada.k@edocode.co.jp | https://timerex.net/user/team/1/billing | | 4 | Bitly | URL短縮 | メール + パスワード(Keeper Fill) | service-account@edocode.co.jp | https://app.bitly.com/settings/organization/Okbk5aX3uEc/billing | | 5 | Krisp | ノイズキャンセル | Google SSO(ページ遷移型) | yamada.k@edocode.co.jp | https://account.krisp.ai/billing-team/details | | 6 | n8n | ワークフロー自動化 | メール + パスワード(2段階ログイン) | yamada.k@edocode.co.jp | https://app.n8n.cloud/manage/billing | | 7 | Microsoft | クラウドサービス | Microsoft SSO(ユーザー操作) | yamada.k@edocode.co.jp | https://admin.cloud.microsoft/#/billoverview/invoice-list | | 8 | OpenAI | AI サービス | Google SSO(ページ遷移型)+ MFA | yamada.k@edocode.co.jp | https://chatgpt.com/admin/billing?tab=invoices |

Execution Order(実行順序)

上記の番号順に実行する。各サービスの開始時にユーザーに「Service {#}: {サービス名} を開始します」と通知する。


Common: Login Handling(共通:ログイン処理)

各サービスのページを開いた際、以下の判定を行う:

  1. ページ内容からログイン状態を判定する
  2. ログイン済みの場合 → そのままデータ取得を続行
  3. 未ログイン(ログインページにリダイレクトされた等)の場合:

Pattern A: メール + パスワード(Keeper Fill)

fondesk, Bitly など、メールアドレスとパスワードでログインするサービス。

  1. ログインページが表示されたら、メールアドレス欄にスキルに登録された ID が入力されているか確認する
  2. Keeper Fill がパスワードを自動入力しているか確認する
  3. 正しい ID と Keeper Fill のパスワードが入力されている場合:
    • find ツールでログインボタンを検索する(例:find "続ける submit button"find "Log in button"
    • ref でボタンをクリックしてログインを完了する
  4. Keeper Fill が自動入力していない、または複数アカウントが候補に出ている場合:
    • ユーザーに「{サービス名} に {メールアドレス} でログインが必要です。Keeper Fill でログイン情報を入力してください。完了したら OK と教えてください。」と伝える
    • ユーザーの「OK」を待つ

Pattern B: Google SSO(ページ遷移型)

TimeRex など、Google ログインが同じタブ内でページ遷移するサービス。

  1. ログインページで「Google でログイン」ボタンを find ツールで検索する(例:find "Googleでログイン link"
  2. ref でクリックする
  3. Google アカウント選択画面が表示されたら、スキルに登録されたアカウントを find ツールで検索する(例:find "yamada.k@edocode.co.jp account option"
  4. ref でクリックしてログインを完了する
  5. サービスのページに自動リダイレクトされることを確認する

Pattern C: Google SSO(ポップアップ型)

Figma など、Google ログインが別ウィンドウのポップアップで開くサービス。

  1. Claude からはポップアップウィンドウを操作できないため、ユーザーに依頼する
  2. ユーザーに「{サービス名} に Google アカウント({メールアドレス})でログインしてください。完了したら OK と教えてください。」と伝える
  3. ユーザーの「OK」を待つ

Pattern D: Microsoft SSO(ユーザー操作)

Microsoft 365 Admin Center など、Microsoft アカウントでログインするサービス。

  1. Microsoft SSO(login.microsoftonline.com)はポップアップやリダイレクトの挙動が環境依存であり、Claude からの操作が不安定なため、ユーザーに依頼する
  2. ユーザーに「{サービス名} に Microsoft アカウント({メールアドレス})でログインしてください。完了したら OK と教えてください。」と伝える
  3. ユーザーの「OK」を待つ

Pattern E: Google SSO(ページ遷移型)+ MFA

OpenAI など、Google SSO 後にサービス独自の多要素認証(MFA)が求められるサービス。

  1. Pattern B と同様に Google SSO でアカウント選択まで完了する
  2. Google SSO 完了後、サービス独自の MFA ページ(auth.openai.com/mfa-challenge 等)にリダイレクトされる
  3. MFA(ワンタイムパスワード入力)は Claude では操作できないため、ユーザーに依頼する:
    • ユーザーに「{サービス名} の多要素認証(MFA)が求められています。認証アプリのワンタイムコードを入力して『続行』をクリックしてください。完了したら OK と教えてください。」と伝える
  4. ユーザーの「OK」を待つ

重要:ログインフォームにパスワードを直接入力してはならない。Keeper Fill がフォームを自動入力する。

Common: Month Calculation(共通:対象月の計算)

経理処理は月初に前月分を処理する。現在日付から前月を自動計算する。

  • 現在が 2026年2月 → 対象月は 2026年1月
  • 処理開始時にユーザーに「対象月: {YYYY年M月} で処理します。変更する場合は教えてください。」と確認する

Common: Workspace Setup(共通:作業フォルダ)

対象月の確定後、プロジェクトディレクトリ内に作業フォルダを作成する。

{プロジェクトディレクトリ}/
└── {YYYY-MM}/              ← 作業フォルダ(対象月)
    ├── downloads/          ← ダウンロードファイル保管
    └── audit.log           ← 監査ログ
  • フォルダ名は対象月の YYYY-MM 形式(例:2026-01
  • downloads/ サブフォルダを作成する
  • 作業中にダウンロードした PDF はすべて ~/Downloads から downloads/ フォルダに移動して保管する
  • ファイル名は {YYYY-MM}_{サービス名}.pdf の形式にリネームする(例:2026-01_fondesk.pdf

Common: Audit Log(共通:監査ログ)

作業の監査・追跡を目的として、作業フォルダ内に audit.log を作成する。後から「何をどう判断し、何をダウンロードしたか」を辿れることが目的。

ログフォーマット

[YYYY-MM-DD HH:MM:SS] CATEGORY: message

CATEGORY は以下のいずれか:

  • INIT — 作業開始・パラメータ確定
  • SELECT — データ選択の判断根拠
  • DOWNLOAD — ファイルダウンロード実行
  • COMPLETE — Phase/作業完了

記録タイミングと内容

INIT(Preflight Complete 時):

[timestamp] INIT: target_month=2026-01, workspace={作業フォルダパス}

SELECT(各サービスで対象月の請求書を特定した時):

[timestamp] SELECT: {サービス名} invoice found, date={日付}, amount={金額}

DOWNLOAD(PDF ダウンロード完了時):

[timestamp] DOWNLOAD: {サービス名} file={ファイル名}, saved_as={保存先パス}

COMPLETE(全サービス完了時):

[timestamp] COMPLETE: all services finished, files_downloaded={件数}

Service 1: fondesk

Login

  • Login ID: service-account@edocode.co.jp
  • Login Method: Pattern A(メール + パスワード / Keeper Fill)
  • Login URL: auth.fondesk.jp/u/loginfondesk.jp/app/* にアクセスすると自動リダイレクト)
  • Login Page判定: ページタイトルに「ログイン」を含む、または URL が auth.fondesk.jp を含む場合はログインが必要
  • Login手順:
    1. メールアドレス欄に service-account@edocode.co.jp が入力されているか確認
    2. Keeper Fill がパスワードを自動入力しているか確認
    3. find "続ける submit button" でログインボタンを取得
    4. ref でクリック

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://www.fondesk.jp/app/account/invoices
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. 請求書一覧が表示される。各行は「{YYYY}年{M}月10日 発行分 #{番号}」の形式。対象月分を特定する
    • 例:対象月が 2026年1月 → 「2026年1月10日 発行分」を探す
  4. 対象月の行の右端にある「請求書」リンクをクリックする
    • find "請求書 link near {対象年}年{対象月}月10日" で要素を取得
    • ref でクリック
  5. 新しいタブで Stripe の請求書ページ(invoice.stripe.com)が開く
  6. 新しいタブに切り替える(tabs_context_mcp でタブ一覧を取得し、Stripe のタブ ID を確認)
  7. 「請求書をダウンロード」ボタンをクリック:
    • find "請求書をダウンロード button" で要素を取得
    • ref でクリック
  8. ~/DownloadsInvoice-{番号}.pdf がダウンロードされる
  9. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

Download対象

  • 請求書をダウンロードする(領収書ではない)

Service 2: Figma

Login

  • Login ID: yamada.k@edocode.co.jp
  • Login Method: Pattern C(Google SSO / ポップアップ型)
  • Login URL: figma.com/login(請求書ページからリダイレクト)
  • Login Page判定: ページタイトルに「ログイン」を含む、または URL が figma.com/login を含む場合はログインが必要
  • Login手順:
    1. ユーザーに「Figma に Google アカウント(yamada.k@edocode.co.jp)でログインしてください。完了したら OK と教えてください。」と伝える
    2. ユーザーの「OK」を待つ

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://www.figma.com/files/team/690131495837577799/team-admin-console/billing/invoices
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. Billing > Invoices ページが表示される。各行は「{Month} {DD}, {YYYY}」形式の Due date で表示される。毎月12日に Monthly invoice が発行される
  4. 対象月の行をクリックする(行のどこでもクリック可能)
    • 例:対象月が 2026年1月 → 「January 12, 2026」の行をクリック
  5. 右側に請求書詳細パネルが開く
  6. パネルの下部までスクロールする(右側パネル内をスクロール)
  7. 「Download PDF」リンクをクリック:
    • find "Download PDF link" で要素を取得
    • ref でクリック
  8. 新しいタブが一瞬開いてすぐ閉じ、PDF がダウンロードされる
  9. ~/DownloadsInvoice-{番号}.pdf がダウンロードされる
  10. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

Service 3: TimeRex

Login

  • Login ID: yamada.k@edocode.co.jp
  • Login Method: Pattern B(Google SSO / ページ遷移型)
  • Login URL: timerex.net/auth/logintimerex.net/user/* にアクセスすると自動リダイレクト)
  • Login Page判定: ページタイトルに「ログイン」を含む、または URL が timerex.net/auth/login を含む場合はログインが必要
  • Login手順:
    1. find "Googleでログイン link" でボタンを取得
    2. ref でクリック → Google アカウント選択画面にページ遷移
    3. find "yamada.k@edocode.co.jp account option" でアカウントを取得
    4. ref でクリック → TimeRex にリダイレクトされログイン完了

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://timerex.net/user/team/1/billing
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. 請求履歴が表示される。各行は「決済日時 / オーダー番号 / 金額(税込)/ 領収書・明細」のカラム。一覧は古い順なので、ページ最下部までスクロールが必要
  4. 対象月分の行を特定する(決済日時の月で判断。毎月14日頃に決済)
    • 例:対象月が 2026年1月 → 「2026/1/14」の行を探す
  5. 「表示する」リンクをクリック:
    • find "表示する link near {YYYY/M/14}" で要素を取得
    • ref でクリック
  6. 新しいタブで「利用明細書・領収書」HTML ページが開く
  7. このページは PDF ダウンロードボタンがないため、ユーザーに手動保存を依頼する:
    • ユーザーに「TimeRex の領収書ページが開きました。ブラウザで Cmd+P → 『PDF として保存』でダウンロードしてください。ファイル名は TimeRex_{オーダー番号}.pdf にしてください。完了したら OK と教えてください。」と伝える
    • ユーザーの「OK」を待つ
  8. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

Service 4: Bitly

Login

  • Login ID: service-account@edocode.co.jp
  • Login Method: Pattern A(メール + パスワード / Keeper Fill)
  • Login URL: app.bitly.com(ログインページにリダイレクト)
  • Login Page判定: URL が bitly.com/a/sign_in または bitly.com/a/oauth を含む場合はログインが必要
  • Login手順:
    1. メールアドレス欄に service-account@edocode.co.jp が入力されているか確認
    2. Keeper Fill がパスワードを自動入力しているか確認
    3. find "Log in submit button" でログインボタンを取得
    4. ref でクリック

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://app.bitly.com/settings/organization/Okbk5aX3uEc/billing
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. Billing and usage ページが表示される。下にスクロールすると請求一覧がある
  4. 請求一覧は新しい順で表示される。各行は「{MM/DD/YYYY} / Basic Subscripti... / ${金額} USD / ...」の形式
  5. 対象月の行の「...」メニューボタンをクリックする
    • 対象月の日付は毎月20日(例:01/20/2026)
    • ... ボタンは行の右端にある
  6. ドロップダウンメニューが表示されたら「Download PDF」をクリック:
    • find "Download PDF menu option" で要素を取得
    • ref でクリック
  7. ~/Downloadsbitly-invoice-{YYYY-MM-DD}.pdf がダウンロードされる
  8. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

Service 5: Krisp

Login

  • Login ID: yamada.k@edocode.co.jp
  • Login Method: Pattern B(Google SSO / ページ遷移型)
  • Login URL: https://account.krisp.ai/login
  • Login Page判定: URL が account.krisp.ai/login を含む場合はログインが必要
  • Login手順:
    1. find "Continue with Google button" でボタンを取得
    2. ref でクリック → Google アカウント選択画面にページ遷移
    3. find "yamada.k@edocode.co.jp account option" でアカウントを取得
    4. ref でクリック → Krisp にリダイレクトされログイン完了

Logout手順(参考)

  1. 左サイドバー最下部の「Kyo Yamada」ユーザーメニューをクリック
    • find "Kyo Yamada user menu or profile button" で取得 → ref でクリック
  2. メニューから「サインアウト」をクリック
    • find "サインアウト link" で取得 → ref でクリック
  3. ログインページにリダイレクトされる

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://account.krisp.ai/billing-team/details
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. Billing ページが表示される。「Invoice history」セクションに請求履歴がある
  4. 対象月の「請求書を見る」リンクをクリック:
    • find "請求書を見る link for {対象月の英語名} {対象日} {対象年}" で要素を取得(例:find "請求書を見る link for Jan 25 2026"
    • ref でクリック
  5. 新しいタブで Stripe の領収書ページ(pay.stripe.com)が開く
  6. 新しいタブに切り替える(tabs_context_mcp でタブ一覧を取得し、Stripe のタブ ID を確認)
  7. 「Download invoice」リンクをクリック:
    • find "Download invoice link" で要素を取得
    • ref でクリック
  8. ~/DownloadsInvoice-{番号}.pdf がダウンロードされる
  9. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

Download対象

  • 請求書(Invoice) をダウンロードする

Service 6: n8n

Login

  • Login ID: yamada.k@edocode.co.jp
  • Login Method: 2段階ログイン(Cloud Admin Panel → Instance)
  • Login URL(Stage 1): https://app.n8n.cloud/login(Cloud Admin Panel)
  • Login URL(Stage 2): https://edocode.app.n8n.cloud/signin(Instance)
  • Login Page判定: URL が app.n8n.cloud/login を含む場合はログインが必要

重要: n8n は Cloud Admin Panel(app.n8n.cloud)と Instance(edocode.app.n8n.cloud)の2つのポータルがあり、認証セッションが別々。Billing は Cloud Admin Panel 側にある。

  • Login手順(Stage 1 - Cloud Admin Panel):

    1. https://app.n8n.cloud/login が表示される
    2. アカウント名入力欄に edocode を入力する。重要:フィールドに値がプリフィルされている場合でも、JSフレームワーク(Nuxt.js)が値を認識しないことがある。以下の手順で確実に入力する:
      • find "account name input field" で入力欄を取得
      • ref でトリプルクリック(triple_click)して既存のテキストを全選択
      • type アクションで edocode を入力
      • key アクションで Return を押す(Enter で Submit)
    3. Instance のログインページ(edocode.app.n8n.cloud/signin)にリダイレクトされる
  • Login手順(Stage 2 - Instance):

    1. メールアドレス欄とパスワード欄が表示される
    2. Keeper Fill がパスワードを自動入力しているか確認する
    3. 正しい ID と Keeper Fill のパスワードが入力されている場合:
      • find "Sign in button" でログインボタンを取得
      • ref でクリック
    4. Keeper Fill が自動入力していない場合:
      • ユーザーに「n8n に yamada.k@edocode.co.jp でログインが必要です。Keeper Fill でログイン情報を入力してください。完了したら OK と教えてください。」と伝える
    5. ログイン完了後、Instance のダッシュボードにリダイレクトされる
    6. Billing ページに移動するため https://app.n8n.cloud/manage/billing にナビゲートする。Instance にログイン済みであれば Cloud Admin Panel も自動認証される

Logout手順(参考)

n8n は Cloud Admin Panel と Instance で別々にログアウトが必要:

Cloud Admin Panel のログアウト:

  1. 右上の「Sign out」ボタンをクリック

Instance のログアウト:

  1. 左下の「Kyo Yamada」ユーザーメニューボタンをクリック
    • find "Kyo Yamada user menu button" で取得 → ref でクリック
  2. メニューから「Sign out」をクリック
    • find "Sign out menu item" で取得 → ref でクリック

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://app.n8n.cloud/manage/billing
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. Cloud Admin Panel の Billing ページが表示される。「Transaction history」セクションに取引履歴がある
  4. 対象月の行をクリックする(行のどこでもクリック可能)
    • 行が展開され「Open」ボタンが表示される
  5. 「Open」ボタンをクリック:
    • find "Open button" で要素を取得
    • ref でクリック
  6. 新しいタブで Paddle.com の領収書ページ(my.paddle.com/invoice/...)が開く
  7. Paddle の領収書ページは HTML 表示であり、PDF ダウンロードボタンがないため、ユーザーに手動保存を依頼する:
    • ユーザーに「n8n の Paddle.com 領収書ページが開きました。ブラウザで Cmd+P → 『PDF として保存』でダウンロードしてください。ファイル名は n8n_receipt_{YYYY-MM}.pdf にしてください。完了したら OK と教えてください。」と伝える
    • ユーザーの「OK」を待つ
  8. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

Download対象

  • 領収書(Receipt) を PDF 保存する(Paddle.com は HTML のみ提供)

Service 7: Microsoft

Login

  • Login ID: yamada.k@edocode.co.jp
  • Login Method: Pattern D(Microsoft SSO / ユーザー操作)
  • Login URL: Microsoft 365 Admin Center(admin.cloud.microsoft)は通常 Microsoft SSO で自動ログインされる
  • Login Page判定: URL が login.microsoftonline.com を含む場合はログインが必要
  • Login手順:
    1. ユーザーに「Microsoft 365 Admin Center に Microsoft アカウント(yamada.k@edocode.co.jp)でログインしてください。完了したら OK と教えてください。」と伝える
    2. ユーザーの「OK」を待つ

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://admin.cloud.microsoft/#/billoverview/invoice-list
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. 「請求と支払い」ページが表示される。請求書の一覧が表示される
  4. 対象月の請求書 ID リンクをクリックする:
    • find "{請求書ID} invoice link" で要素を取得(例:find "G139153324 invoice link"
    • ref でクリック
  5. 請求書の詳細ページが開く
  6. 「ダウンロード」ドロップダウンボタンをクリック:
    • find "ダウンロード dropdown button" で要素を取得
    • ref でクリック
  7. ドロップダウンメニューから「請求書をダウンロード」をクリック:
    • find "請求書をダウンロード menu option" で要素を取得
    • ref でクリック
  8. ~/Downloads{請求書ID}_{ハッシュ}.pdf がダウンロードされる
  9. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

請求書一覧ページへの到達方法(代替)

Billing URL で直接請求書一覧が表示されない場合:

  1. https://admin.cloud.microsoft/ を開く
  2. 左サイドバーの「課金情報」を展開
  3. find "請求と支払い menu item" で要素を取得 → ref でクリック

Download対象

  • 請求書 をダウンロードする

Service 8: OpenAI (ChatGPT)

Login

  • Login ID: yamada.k@edocode.co.jp
  • Login Method: Pattern E(Google SSO / ページ遷移型 + MFA)
  • Login URL: https://chatgpt.com/ → 右上「ログイン」ボタン
  • Login Page判定: ページ右上に「ログイン」ボタンが表示されている場合はログインが必要
  • Login手順:
    1. chatgpt.com のトップページで右上の「ログイン」ボタンをクリック:
      • find "ログイン button" で取得 → ref でクリック
    2. 「ログインまたはサインアップ」モーダルが表示される
    3. 「Google で続行」ボタンをクリック:
      • find "Google で続行 button" で取得 → ref でクリック
    4. Google アカウント選択画面にページ遷移する
    5. find "yamada.k@edocode.co.jp account option" でアカウントを取得
    6. ref でクリック
    7. MFA ページauth.openai.com/mfa-challenge)にリダイレクトされる
    8. ユーザーに「OpenAI の多要素認証(MFA)が求められています。認証アプリのワンタイムコードを入力して『続行』をクリックしてください。完了したら OK と教えてください。」と伝える
    9. ユーザーの「OK」を待つ

Logout手順(参考)

  1. ChatGPT メイン画面の左下「Kyo Yamada / EDOCODE Inc.」をクリック
    • find "Kyo Yamada user menu or profile button" で取得 → ref でクリック
  2. メニューから「ログアウト」をクリック
    • find "ログアウト menu item" で取得 → ref でクリック
  3. 確認ダイアログ「ログアウトしますか?」が表示される
  4. 「ログアウト」ボタンをクリック:
    • find "ログアウト confirm button in dialog" で取得 → ref でクリック

Download手順

  1. Claude in Chrome で以下の URL を開く:
    https://chatgpt.com/admin/billing?tab=invoices
    
  2. ログイン判定を行い、必要であればログイン処理を実施する
  3. EDOCODE Inc. の管理者 > 請求 > 請求書タブが表示される。請求書一覧が表示される
  4. 対象月の請求書の行にある外部リンクアイコン(緑色の矢印アイコン)をクリック:
    • find "external link icon for {対象年}年{対象月}月{日}日 invoice" で要素を取得(例:find "external link icon for 2026年1月31日 invoice"
    • 注意: 行自体をクリックすると次ページに遷移してしまうので、必ず外部リンクアイコン(<a> タグ)を find で正確に検索すること
    • ref でクリック
  5. 新しいタブで Stripe の請求書ページ(invoice.stripe.com)が開く
  6. 新しいタブに切り替える(tabs_context_mcp でタブ一覧を取得し、Stripe のタブ ID を確認)
  7. 「請求書をダウンロード」ボタンをクリック:
    • find "請求書をダウンロード button" で要素を取得
    • ref でクリック
  8. ~/DownloadsInvoice-{番号}.pdf がダウンロードされる
  9. ダウンロードしたファイルを作業フォルダの downloads/ に移動しリネーム

Download対象

  • 請求書 をダウンロードする(領収書ではない)

Completion(完了処理)

全サービス完了後、ユーザーに以下のサマリーを表示する:

## EDOCODE 月次証憑ファイル回収 完了サマリー

対象月: {YYYY年M月}

### 回収ファイル一覧
| # | サービス | ファイル名 | ステータス |
|---|---------|----------|----------|
| 1 | fondesk | {ファイル名} | 完了 |
| 2 | Figma | {ファイル名} | 完了 |
| 3 | TimeRex | {ファイル名} | 完了 |
| 4 | Bitly | {ファイル名} | 完了 |
| ... | ... | ... | ... |

保存先: {作業フォルダ}/downloads/

Security Notes(セキュリティに関する注意事項)

  • パスワードやログイン認証情報を会話コンテキストに出力してはならない
  • ログインは必ず Keeper Fill 経由で行い、Claude がフォームに直接入力しない
  • Google SSO のアカウント選択のみ Claude が操作する(パスワード入力は発生しない)
  • 各サービスの URL やデータ内容は業務上必要な範囲でのみ表示する
  • PDF に含まれる個人情報・機密情報は必要最小限の抽出にとどめる

Click Operation Guidelines(クリック操作の指針)

Web ページのクリック操作は失敗しやすいため、以下のルールを厳守する:

  1. 座標クリックではなく、必ず findref クリックを使う
    • まず find ツールで対象要素を自然言語で検索する
    • 取得した ref_xxx を使って ref パラメータでクリックする
  2. find の検索キーワードは具体的に書く
    • 良い例:find "Download PDF menu option", find "続ける submit button", find "表示する link near 2026/1/14"
    • 悪い例:find "button", find "link"
  3. 新しいタブが開くケースに注意する
    • fondesk の Stripe ページ、TimeRex の領収書ページなど、リンクが新タブで開くケースがある
    • tabs_context_mcp でタブ一覧を更新し、正しいタブ ID で操作する
  4. スクロールが必要なケースに注意する
    • Figma の詳細パネル内スクロール、TimeRex の古い順リスト最下部など