AgentSkillsCN

process-scans

对扫描PDF进行分类与整理的工作流:读取pending文件夹内的PDF文件,根据内容判断后将其移至相应文件夹或予以删除。

SKILL.md
--- frontmatter
name: process-scans
description: スキャンPDFを分類・整理するワークフロー。pendingフォルダ内のPDFを読み取り、内容を判断して適切なフォルダに移動または削除する。

スキャンPDF処理ワークフロー

スキャンされた教材PDFを自動分類・整理するスキル。GmailからダウンロードされたPDFを読み取り、内容を判断して適切なフォルダに保存する。

Announce at start: "process-scansスキルを使用してスキャンPDFを処理します。"

概要

このスキルは以下の処理を自動化します:

  1. pendingフォルダ内のPDFファイルを順番に処理
  2. 各PDFの1ページ目を読み取り、内容を判断
  3. 過去問は適切なフォルダに移動、それ以外は削除
  4. 重複ファイルを検出して削除

前提条件

  • プロジェクトディレクトリ: /Users/wao_singapore/Projects/scan-sorter
  • 入力フォルダ: pending/
  • 出力先ベース: /Users/wao_singapore/Downloads/WAO/教材関係/教材/

PDFカテゴリ分類

保存対象: 過去問

早稲田渋谷シンガポール校

  • 定期考査: 過去問/早稲田渋谷シンガポール校/早稲田渋谷シンガポール校 定期考査/
    • 1学期中間考査、1学期期末考査
    • 2学期中間考査、2学期期末考査
    • 3学期期末考査
  • 入学試験: 過去問/早稲田渋谷シンガポール校/早稲田渋谷シンガポール校 入学試験問題/
  • オープン模試: 過去問/早稲田渋谷シンガポール校/早稲田渋谷シンガポール校 オープン模擬入学試験問題/

識別キーワード:

  • 「早稲田渋谷シンガポール校」「早稲田大学系属」
  • 「定期考査」「中間考査」「期末考査」
  • 「入学試験」「入試」
  • 担当教員名の記載

シンガポール日本人学校

  • 総合考査I: 過去問/シンガポール日本人学校 総合考査/日本人中学校考査Ⅰ/
  • 総合考査II: 過去問/シンガポール日本人学校 総合考査/日本人中学校考査Ⅱ/
  • 総合考査III: 過去問/シンガポール日本人学校 総合考査/日本人中学校考査Ⅲ/

識別キーワード:

  • 「シンガポール日本人学校」「日本人中学校」「SJS」
  • 「総合考査」「考査I」「考査II」「考査III」

その他の学校

  • 早稲田大学本庄高等学院: 過去問/早稲田大学本庄高等学院/
  • 早稲田実業学校高等部: 過去問/早稲田実業学校高等部/

削除対象: 非過去問

以下は処理せず削除する:

  1. プリント系

    • 練習問題、ドリル
    • 宿題プリント
    • ワークシート
    • 解答済みの用紙
  2. 教科書系

    • 教科書のページ
    • テキスト
    • 参考書
  3. 事務書類

    • 給与証明書
    • 証明書類(出生証明書、在学証明書など)
    • 請求書、領収書
  4. その他

    • 検定問題(英検、漢検など)※過去問のみの場合はスキップ
    • 解答・解説のみ

ファイル命名規則

早稲田渋谷定期考査

code
{学年}_{科目}_{試験種類}_{年月}.pdf

学年の表記:

  • 高1, 高2, 高3
  • 高1文系, 高1理系, 高2文系, 高2理系

科目名の例:

  • 数学: 数学I, 数学II, 数学A, 数学B, 数学III
  • 英語: 英語コミュニケーションI, 英語コミュニケーションII, 論理表現I, 論理表現II
  • 国語: 現代の国語, 言語文化, 論理国語, 古典探究
  • 理科: 物理基礎, 化学基礎, 生物基礎, 物理, 化学, 生物
  • 社会: 地理総合, 歴史総合, 公共, 地理探究, 日本史探究, 世界史探究

試験種類:

  • 1学期中間考査, 1学期期末考査
  • 2学期中間考査, 2学期期末考査
  • 3学期期末考査

例:

  • 高2_数学B_2学期期末考査_2024年12月.pdf
  • 高2文系_生物基礎_2学期中間考査_2024年10月.pdf
  • 高1_英語コミュニケーションI_1学期中間考査_2024年5月.pdf

日本人学校総合考査

code
{学年}_{科目}_{考査番号}_{年月}.pdf

学年の表記:

  • 中1, 中2, 中3

考査番号:

  • 総合考査I, 総合考査II, 総合考査III

例:

  • 中2_数学_総合考査II_2024年9月.pdf
  • 中3_英語_総合考査III_2024年11月.pdf

処理フロー

Step 1: ファイル一覧取得

bash
ls -la /Users/wao_singapore/Projects/scan-sorter/pending/*.pdf

Step 2: 各PDFを順番に処理

  1. PDFを読み取る

    • Readツールで1ページ目を読み取り
    • pages: "1" パラメータを使用
  2. 内容を判断

    • 学校名を特定
    • 試験種類を特定
    • 学年を特定
    • 科目名を特定
    • 実施日を特定
  3. 分類を決定

    • 過去問 → 保存
    • それ以外 → 削除

Step 3: 過去問の場合

  1. 重複チェック
bash
ls "{保存先フォルダ}/" | grep -i "{ファイル名パターン}"
  1. 重複あり → 削除してスキップ
bash
rm "{pendingのファイルパス}"
  1. 重複なし → 移動
bash
mv "{pendingのファイルパス}" "{保存先フォルダ}/{ファイル名}.pdf"

Step 4: 非過去問の場合

削除してスキップ:

bash
rm "{pendingのファイルパス}"

Step 5: 処理結果を報告

  • 保存したファイル数と内容
  • 削除したファイル数と理由
  • pendingフォルダが空になったことを確認

判断ロジック詳細

早稲田渋谷シンガポール校の識別

確実な識別要素:

  1. 「早稲田渋谷シンガポール校」の文字
  2. 「早稲田大学系属」の文字
  3. 学校ロゴ(校章)
  4. 「〇年度 〇学年」の形式
  5. 「〇学期〇〇考査」の形式
  6. 担当教員名の列記

学年の判断:

  • 「1学年」「第1学年」→ 高1
  • 「2学年」「第2学年」→ 高2
  • 「3学年」「第3学年」→ 高3
  • 「〇学年文系」→ 高〇文系
  • 「〇学年理系」→ 高〇理系

試験種類の判断:

  • 「1学期中間考査」「1学期 中間考査」
  • 「1学期期末考査」「1学期 期末考査」
  • 「2学期中間考査」「2学期 中間考査」
  • 「2学期期末考査」「2学期 期末考査」
  • 「3学期期末考査」「3学期 期末考査」「学年末考査」

実施日の判断:

  • 「2024年10月10日実施」→ 2024年10月
  • 「2024/10/10」→ 2024年10月
  • 学期から推測: 1学期中間=5月, 1学期期末=7月, 2学期中間=10月, 2学期期末=12月

日本人学校の識別

確実な識別要素:

  1. 「シンガポール日本人学校」の文字
  2. 「日本人中学校」の文字
  3. 「総合考査」の文字
  4. 「考査I」「考査II」「考査III」

学年の判断:

  • 「1年」「1学年」→ 中1
  • 「2年」「2学年」→ 中2
  • 「3年」「3学年」→ 中3

プリント系の識別

識別要素:

  1. 「練習」「練習しよう」
  2. 「力だめし」「思考力」
  3. 問題番号のみ(学校名・試験名なし)
  4. 教科書のページ番号(例: p.50, 50-51)
  5. 出版社名(東京書籍、啓林館など)
  6. 塾教材(能開センター、日能研など)
  7. 生徒の手書き解答がある
  8. ドリル・ワーク形式

事務書類の識別

識別要素:

  1. 「証明書」「Certificate」
  2. 「WAO SINGAPORE PTE.LTD.」(会社書類)
  3. 「EMBASSY OF JAPAN」(大使館書類)
  4. 給与・収入に関する情報
  5. 個人情報(氏名、生年月日など)

エラーハンドリング

PDFが読み取れない場合

  • ユーザーに確認を求める
  • 手動で内容を確認してもらう

判断が難しい場合

  • ユーザーに分類を確認
  • 「過去問として保存しますか?」と質問

ファイル移動に失敗した場合

  • エラーメッセージを表示
  • 手動での対応を依頼

処理モード

通常モード

すべてのPDFを処理(過去問を保存、それ以外を削除)

過去問のみモード

過去問のみを保存し、プリント系・教科書系・事務書類は削除

ユーザーが「過去問のみ」と指示した場合:

  • 検定問題も削除
  • 教科書・テキストも削除
  • プリント・ドリルも削除

ドライランモード

実際には移動・削除せず、処理内容を報告のみ

出力フォーマット

処理中の報告

code
{学校名}の{試験種類}。{学年} {科目} {試験名}({年月})。重複チェックします。
→ 重複なし。保存します。
✓ 保存完了。次へ。

または

code
これは{内容の説明}です。プリント系なので削除します。
✓ 削除完了(プリント系)。次へ。

完了時の報告

code
**処理完了!** pendingフォルダは空になりました。

**今回の処理結果:**
- **保存した過去問: N件**
  - ファイル1
  - ファイル2
  ...

- **削除したファイル: M件**(プリント系・事務書類)
  - 理由1
  - 理由2
  ...

関連スキル

  • fetch-scans: GmailからスキャンPDFを取得してpendingフォルダに保存

使用例

code
ユーザー: /process-scans
Claude: process-scansスキルを使用してスキャンPDFを処理します。
        pendingフォルダ内のPDFを確認します...
        [処理を開始]
code
ユーザー: /process-scans 過去問のみ
Claude: 過去問のみモードで処理します。プリント系・教科書系は削除します。
        [処理を開始]