メインコンテンツへスキップ
見出し画像

Claude Code の作業を終わるたびに Notion へ記録させたら、二重登録・取りこぼし・自己増殖の穴が1日で3つ見つかった

    Claude Code で作業を終えるたびに、何をしたかを Notion の業務ログに1件ずつ自動で書かせている。翌朝、その業務ログから日報を作る。

    2026-08-21 の1日で、3つの穴が見つかった。同じ作業が2件登録されうる経路と、認証が切れている間の作業が二度と拾われなくなる経路は、別の担当の検収で指摘された。記録のために呼んだ Claude の会話が次の記録の対象になって増えていく件は、実際に19件たまっていた。5日後には、記録係として呼んだ Claude が、自分宛ての決まりを読んで登録を断り、8件が漏れた。この記事では、4つの経緯と直し方を書く。

    Claude Code の hook から、もう1つ Claude を呼んで後処理をさせている人向け。

    作業が終わるたびに1件書く仕組み

    仕組み:hook は情報を置いてすぐ終わり、本処理を裏で回す

    会話が終わると、SessionEnd の hook が呼ばれる。hook の中では時間のかかることをしない。本体の Claude Code が先に終わると、hook も途中で打ち切られるためで、hook(発火役)の仕事は3つだけにした。

    1. 二重に起動していないかを確かめる

    2. 受け取った情報(作業フォルダ、会話の記録ファイルの場所)を一時ファイルに置く

    3. 本処理を裏に切り離して起動し、すぐ終わる

    本処理は、会話の記録を読み、claude -p に「記録係として業務ログに1件登録する」指示と会話の中身を渡す。使える道具は Notion の連携だけに絞っている。

    CMD=(claude -p "$(cat "$PROMPT_FILE")" --allowedTools "$NOTION_TOOLS" ...)
    WORKLOG_RUNNING=1 "${CMD[@]}" > "$OUT_FILE" 2> "$ERR_FILE"

    一時ファイルを作るところにも、1つ穴があった。macOS の mktemp は末尾の X しか置き換えないので、worklog-XXXXXX.json のように拡張子を付けると名前が固定になり、2つの会話が同時に終わると後の方が失敗する形だった。いまは拡張子を付けずに作っている。

    特定商取引法に基づく表記:https://note.com/claire_ai/n/n265463552ed6

     
     
    AIをフル活用して働いています🤖✨ 人事労務・HP制作・システム開発をAIと一緒にこなしつつ、プライベートでも動画生成や副業にAIを使ってます💡 YouTubeの動画づくりは全部自動化しました🎬 うまくいったことも失敗も、数字つきで書いてます📝

    あなたへのおすすめ