edocode-monthly-accounting

EDOCODE 株式会社の毎月の経理処理(証憑ファイル回収)を行うスキル。ユーザーから「EDOCODE の経理処理を始めよう」「EDOCODE の月次精算をお願い」などの依頼があった場合に使用する。Claude Code(`claude --chrome`)または Cowork 環境で、Claude in Chrome を使ったブラウザ操作により、各サービスの管理画面から請求書・領収書 PDF を自動回収する。ログイン等ユーザーにしかできない操作は都度依頼する。

16 stars

Best use case

edocode-monthly-accounting is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

EDOCODE 株式会社の毎月の経理処理(証憑ファイル回収)を行うスキル。ユーザーから「EDOCODE の経理処理を始めよう」「EDOCODE の月次精算をお願い」などの依頼があった場合に使用する。Claude Code(`claude --chrome`)または Cowork 環境で、Claude in Chrome を使ったブラウザ操作により、各サービスの管理画面から請求書・領収書 PDF を自動回収する。ログイン等ユーザーにしかできない操作は都度依頼する。

Teams using edocode-monthly-accounting should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/edocode-monthly-accounting/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/business/edocode-monthly-accounting/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/edocode-monthly-accounting/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How edocode-monthly-accounting Compares

Feature / Agentedocode-monthly-accountingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

EDOCODE 株式会社の毎月の経理処理(証憑ファイル回収)を行うスキル。ユーザーから「EDOCODE の経理処理を始めよう」「EDOCODE の月次精算をお願い」などの依頼があった場合に使用する。Claude Code(`claude --chrome`)または Cowork 環境で、Claude in Chrome を使ったブラウザ操作により、各サービスの管理画面から請求書・領収書 PDF を自動回収する。ログイン等ユーザーにしかできない操作は都度依頼する。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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/login`(`fondesk.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. `~/Downloads` に `Invoice-{番号}.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. `~/Downloads` に `Invoice-{番号}.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/login`(`timerex.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. `~/Downloads` に `bitly-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. `~/Downloads` に `Invoice-{番号}.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. `~/Downloads` に `Invoice-{番号}.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. **座標クリックではなく、必ず `find` → `ref` クリックを使う**
   - まず `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 の古い順リスト最下部など

Related Skills

Wave Accounting Automation

16
from diegosouzapw/awesome-omni-skill

Automate Wave Accounting tasks via Rube MCP (Composio): invoices, customers, payments, and small business accounting. Always search tools first for current schemas.

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

mcp-create-declarative-agent

16
from diegosouzapw/awesome-omni-skill

Skill converted from mcp-create-declarative-agent.prompt.md

MCP Architecture Expert

16
from diegosouzapw/awesome-omni-skill

Design and implement Model Context Protocol servers for standardized AI-to-data integration with resources, tools, prompts, and security best practices

mathem-shopping

16
from diegosouzapw/awesome-omni-skill

Automatiserar att logga in på Mathem.se, söka och lägga till varor från en lista eller recept, hantera ersättningar enligt policy och reservera leveranstid, men lämnar varukorgen redo för manuell checkout.

math-modeling

16
from diegosouzapw/awesome-omni-skill

本技能应在用户要求"数学建模"、"建模比赛"、"数模论文"、"数学建模竞赛"、"建模分析"、"建模求解"或提及数学建模相关任务时使用。适用于全国大学生数学建模竞赛(CUMCM)、美国大学生数学建模竞赛(MCM/ICM)等各类数学建模比赛。

matchms

16
from diegosouzapw/awesome-omni-skill

Mass spectrometry analysis. Process mzML/MGF/MSP, spectral similarity (cosine, modified cosine), metadata harmonization, compound ID, for metabolomics and MS data processing.

managing-traefik

16
from diegosouzapw/awesome-omni-skill

Manages Traefik reverse proxy for local development. Use when routing domains to local services, configuring CORS, checking service health, or debugging connectivity issues.

managing-skills

16
from diegosouzapw/awesome-omni-skill

Install, find, update, and manage agent skills. Use when the user wants to add a new skill, search for skills that do something, check if skills are up to date, or update existing skills. Triggers on: install skill, add skill, get skill, find skill, search skill, update skill, check skills, list skills.

manage-agents

16
from diegosouzapw/awesome-omni-skill

Create, modify, and manage Claude Code subagents with specialized expertise. Use when you need to "work with agents", "create an agent", "modify an agent", "set up a specialist", "I need an agent for [task]", or "agent to handle [domain]". Covers agent file format, YAML frontmatter, system prompts, tool restrictions, MCP integration, model selection, and testing.

maintainx-automation

16
from diegosouzapw/awesome-omni-skill

Automate Maintainx tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailsoftly-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailsoftly tasks via Rube MCP (Composio). Always search tools first for current schemas.