[{"data":1,"prerenderedAt":226},["ShallowReactive",2],{"content-/client-doc-triage-skill":3,"all-pages-for-dir":204,"related-/client-doc-triage-skill":205,"og-image-/client-doc-triage-skill":225},{"id":4,"title":5,"body":6,"category":184,"concepts":185,"description":186,"extension":187,"meta":188,"navigation":189,"ogImage":185,"path":190,"project_name":191,"published":192,"publishedAt":193,"seo":194,"source":195,"stem":196,"tags":197,"todo":185,"unpublished":192,"updatedAt":185,"__hash__":203},"pages/2026-08/2026-08-03/client-doc-triage-skill.md","クラウドストレージから資料を回収し、原本を消さずに整理する流れをスキルにした",{"type":7,"value":8,"toc":173},"minimark",[9,13,17,22,25,28,31,34,40,43,47,50,53,56,59,62,66,69,72,75,78,81,84,88,91,94,97,100,104,112,115,118,121,125,128,131,138,145,148,151],[10,11,5],"h1",{"id":12},"クラウドストレージから資料を回収し原本を消さずに整理する流れをスキルにした",[14,15,16],"p",{},"「アクセスできるんでしたっけ。ちょっと試してもらっていいですか」から始めた作業だった。\nつながるかどうかを確かめたかっただけで、その日のうちに 3.4GB を手元へ落とすことになるとは思っていない。",[18,19,21],"h2",{"id":20},"読めることと落とせることは別だった","読めることと、落とせることは別だった",[14,23,24],{},"支援先の事業者の資料がクラウドストレージに置いてある。\nまず Claude Code からつながるかを試させたら、あっさり読めた。\n直近のファイル10件が並んで返ってくる。\n検索も本文の読み取りも通る。",[14,26,27],{},"そのまま「今日入った2件を、作業ディレクトリの下にディレクトリを切って落としておいて」と頼んだ。\nここで止まった。",[14,29,30],{},"読み取りに使っている経路と、ファイルを落とす経路が別だったからだ。\n落とす側は CLI ツールで、移ってきたばかりのこの Mac では未認証のまま置いてあった。\n代わりに使える経路も無い。\n同意画面をブラウザで踏めるのは自分だけなので、ここから先は AI 側で一歩も進まない。",[14,32,33],{},"報告は正直だった。",[35,36,37],"blockquote",{},[14,38,39],{},"ローカルにはまだ1バイトも落ちていません。",[14,41,42],{},"読めているのはクラウドを直接叩いているからで、手元には何も無い。",[18,44,46],{"id":45},"最終版がどれかを更新日時とファイル名から突き止める","最終版がどれかを、更新日時とファイル名から突き止める",[14,48,49],{},"次に頼んだのは、最終版の計画書がどれかを突き止めることだった。",[14,51,52],{},"その前に「計画書がこれから入ってくるので、中身を見て、やりたいことを把握しておいて」と投げていた。\nただ、このときはまだ届いていなかった。\n名前に「計画」の付くものは引っかかる。\nただしどれも既存の様式やテンプレートで、探しているものではない。",[14,54,55],{},"ディレクトリが散らかっている可能性は高いと思っていた。\nそこで、いきなり最終版を当てにいかせず、手前に1つ挟んだ。\nファイル名と更新日時で構成を一通り把握して、テキストに書き出しておくこと。",[14,57,58],{},"一覧は次ページのトークンが尽きるまで回させて、ツリーを組み直させた。\nこの時点でも、ローカルには何も落ちていない。\n落とす経路が塞がったまま、読む経路だけで棚卸しが進んでいる。",[14,60,61],{},"先に一覧が手元に出ると、「最終版はどれか」は目で追える問題に変わる。",[18,63,65],{"id":64},"_120秒でタイムアウトした認証は失敗していなかった","120秒でタイムアウトした認証は、失敗していなかった",[14,67,68],{},"自分でターミナルに認証コマンドを打った。\n120秒で返ってこず、バックグラウンドに移されたというメッセージが出る。",[14,70,71],{},"失敗したと思った。\n「これはうまくいったんですか。タイムアウトしてますね」と聞いて、もう自分でダウンロードしたほうが早いかもしれないとまで言っている。",[14,73,74],{},"原因を調べさせたら、そうではなかった。",[14,76,77],{},"プロセスは生きていた。\nローカルポートで待ち受けたまま、ブラウザの同意を待っている。\n120秒はコマンドを走らせた側の待ち時間の上限であって、認証が落ちた印ではない。\n開いていなかったのは同意画面のほうだった。",[14,79,80],{},"ブラウザを開かせてアカウントを選び、許可を押した。\nそれで exit code 0 が返ってきた。\n自分が踏むべき一歩を踏んでいなかった、というだけの話だった。",[14,82,83],{},"続きも素直ではない。\n認証は通ったのに、最初の一覧が空で返る。\n個人の領域ではなく共有領域に置かれたファイルは、フラグを足さないと見えない仕様だった。\nフラグ付きで叩き直したら中身が出た。\nログイン直後の1回目だけ API がエラーを返したが、これは一過性らしく、再実行で通っている。",[18,85,87],{"id":86},"_690ファイル34gb失敗0","690ファイル、3.4GB、失敗0",[14,89,90],{},"経路が開いたので、あとは量の問題になった。\nサブエージェントを8系統に分けて投入し、うち6系統を並列で走らせる。\n系統ごとに担当が重ならないよう、除外指定を渡せるようにしてから流した。",[14,92,93],{},"途中経過は100ファイルで168MB、次に見たときは637ファイルで3.4GB。\n完走の報告は690ファイル、失敗0だった。",[14,95,96],{},"数は突き合わせて確かめた。\nローカルのファイル数がクラウド側より多い。\n内訳を出させると、各系統が書き出した一覧ファイルが7件と、macOS が勝手に作る隠しファイルが3件あった。\n差はそれで全部だった。\nクラウド側687に対してローカルも687で、取得漏れはゼロだった。",[14,98,99],{},"事前の一覧が間違っていた箇所も出てきた。\n動画は8本と数えていたが、実際は9本で 2.0GB あった。\n棚卸し表を作った時点ではあくまで仮説で、実測が出たら直す。",[18,101,103],{"id":102},"原本は消さないコピーの上でだけ整理する","原本は消さない。コピーの上でだけ整理する",[14,105,106,107,111],{},"回収した中には、",[108,109,110],"code",{},"Thumbs.db"," のようなゴミが混ざっている。\nクラウド側にも28件あって、消す権限は全件そろっていた。",[14,113,114],{},"それでも消さない方針にした。\n落としたままの原本ディレクトリには触らず、別のディレクトリへコピーして、その中だけで整理する。\n旧版もゴミも捨てず、アーカイブとして脇に寄せる。",[14,116,117],{},"理由は単純で、支援先から預かった資料だからだ。\n消す判断を1回でも入れると、あとから「元は何件あったのか」を確かめる手段が無くなる。\n残しておけば、整理の結果が気に入らなくてもやり直せる。",[14,119,120],{},"整理後は687件で、うち本体が602、アーカイブが85だった。\n原本697ファイルはそのまま残っている。",[18,122,124],{"id":123},"同じことを次の事業者でもやる","同じことを、次の事業者でもやる",[14,126,127],{},"ここまでの流れは、この1件で終わらない。\n回収して、コピーして、整理して、最新版を特定する。\n支援先が変わっても、順番は同じになる。",[14,129,130],{},"欲しかったのは手順そのものより、途中でどう線を引いたかのほうだった。\n何を一覧に載せるか、どれをアーカイブへ回すか、何を消さないと決めるか。\n次に同じ作業をするとき、この基準を毎回ゼロから作り直したくない。",[14,132,133,134,137],{},"だからスキルにしてもらった。\n既存スキルの書式を確認させてから書かせた。\nできたものはローカルサーバー経由で Chrome に出させ、表と目次とコードブロックが崩れていないところまで見た。\n",[108,135,136],{},"file://"," は拡張機能から開けないので、そこだけサーバーを噛ませている。",[14,139,140,141,144],{},"置き場所は直させた。\n最初はユーザーレベルに書かれていた。\n全リポジトリで読まれる場所だ。\nこのスキルは支援先1件ぶんの作業ディレクトリでしか使わない。\nプロジェクト側の ",[108,142,143],{},".claude/skills/"," へ移させて、ユーザーレベルに残っていないことも確認させた。",[14,146,147],{},"道具を1つ増やすと、それが読まれる範囲も一緒に決まる。\n範囲を広く取れば、関係ないリポジトリでも毎回読まれることになる。",[18,149,150],{"id":150},"今日わかったこと",[152,153,154,158,161,164,167,170],"ul",{},[155,156,157],"li",{},"読める経路と落とせる経路は別だった。クラウドを直読みできても、手元に落ちるとは限らない",[155,159,160],{},"120秒のタイムアウトは、コマンドが待たされた印であって、失敗の印ではなかった。プロセスが生きているかを見れば区別が付く",[155,162,163],{},"認証を通したあとも、共有領域のファイルはフラグ1つで見えたり見えなかったりする",[155,165,166],{},"棚卸し表は仮説として作って、実測で直す。動画の本数は事前カウントより1本多かった",[155,168,169],{},"消さないと決めておくと、整理の判断が軽くなる。原本を残したまま、コピーの上でだけ動かす",[155,171,172],{},"同じ作業を別の相手でも繰り返すなら、手順より線引きの基準を残す。置き場所は、その作業が起きるプロジェクトの側にする",{"title":174,"searchDepth":175,"depth":175,"links":176},"",2,[177,178,179,180,181,182,183],{"id":20,"depth":175,"text":21},{"id":45,"depth":175,"text":46},{"id":64,"depth":175,"text":65},{"id":86,"depth":175,"text":87},{"id":102,"depth":175,"text":103},{"id":123,"depth":175,"text":124},{"id":150,"depth":175,"text":150},"dev",null,"支援先の資料をクラウドストレージから回収した記録。CLI の認証コマンドが120秒でタイムアウトした原因を調べ、原本を消さずコピーの上だけで整理し、この一連の流れをプロジェクトレベルのスキルに固定するまで。","md",{},true,"/client-doc-triage-skill","claude-code-tools",false,"2026-08-03T00:00:00.000Z",{"title":5,"description":186},"make-diary","2026-08/2026-08-03/client-doc-triage-skill",[198,199,200,201,202],"Claude Code","スキル","クラウドストレージ","OAuth","ファイル整理","DQbqJ2xlvZX5GJHa1GabR8Pk8-OzUe9dyCtnf7HCOdw",[],[206,210,214,218,221],{"title":207,"path":208,"publishedAt":209},"自炊した蔵書は「取り込み済み」でも使えるとは限らない","/book-archive-ingest-path-and-ocr-rebuild","2026-08-06T00:00:00.000Z",{"title":211,"path":212,"publishedAt":213},"開発環境のバックアップを仕上げ、復旧手順をスキル化してGitHubで版管理する","/claude-env-backup-and-restore-skill","2026-07-30T00:00:00.000Z",{"title":215,"path":216,"publishedAt":217},"2026年7月29日の開発日記 - 朝いちで ~/.claude が消えた日に、7本の作業が並走した","/2026-07-29-diary","2026-07-29T00:00:00.000Z",{"title":219,"path":220,"publishedAt":217},"OpenAIのcodex-securityは何をするツールか — 中身を読んで、このリポジトリに使えるか判断した","/openai-codex-security-overview",{"title":222,"path":223,"publishedAt":224},"Claude Codeのスキル使用回数はセッションログから数えられるのか調べた","/claude-code-skill-usage-count-from-transcript","2026-07-22T00:00:00.000Z","https://log.eurekapu.com/og/blog/client-doc-triage-skill.png?v=2026-08-03T00%3A00%3A00.000Z&title=%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%8B%E3%82%89%E8%B3%87%E6%96%99%E3%82%92%E5%9B%9E%E5%8F%8E%E3%81%97%E3%80%81%E5%8E%9F%E6%9C%AC%E3%82%92%E6%B6%88%E3%81%95%E3%81%9A%E3%81%AB%E6%95%B4%E7%90%86%E3%81%99%E3%82%8B%E6%B5%81%E3%82%8C%E3%82%92%E3%82%B9%E3%82%AD%E3%83%AB%E3%81%AB%E3%81%97%E3%81%9F&author=Kei%20Komatsu&sig=6c9c409f03e8c431",1786233144961]