Claude Codeの開発環境整備ログ(2026-02-01)
今日はコードを書くというより、Claude Codeの周辺環境を整える作業が中心だった。Google Workspace CLIのスキル定義、diaryファイルの命名規則統一、エッセイの校正、indexページの整理と、地味だが効果の大きい改善をまとめて実施した。
1. gogcli(Google Workspace CLI)スキルの作成
背景
gog というGoogle Workspace CLIツールを以前から使っていたが、Claude Codeから呼び出すたびに毎回パスやコマンド体系を説明する必要があった。スキルとして定義すれば「スプレッドシートを読んで」と言うだけで適切なコマンドを組み立ててくれる。
gog.exe のパス確認
まずバイナリの所在を確認した。
C:/Users/numbe/bin/gog.exe
gog はGoで書かれた自作CLIで、OAuth認証済みのGoogleアカウントに対してSheets、Gmail、Calendar、Drive、Docs、Slides、Tasks、Contactsの操作ができる。
スキル定義の内容
~/.claude/skills/gogcli/SKILL.md に以下の構成でスキルを定義した。
メタデータ(frontmatter):
---
name: "gogcli"
description: "Google Workspace CLIツール(gog)を使ってGoogleサービスにアクセスする。スプレッドシート読み書き、Gmail検索・送信、カレンダー確認、Drive操作など。"
---
descriptionに「スプレッドシートを読んで」「メールを検索して」などの自然言語トリガーを含めたのがポイント。Claude Codeはこのdescriptionを見てスキルの呼び出しを判断する。
定義したコマンド体系:
| サービス | 主なコマンド | 用途 |
|---|---|---|
| Sheets | gog sheets get/update/append/clear/create/export | スプレッドシートの読み書き |
| Gmail | gog gmail search/send/thread get/labels list | メール検索・送信・添付ファイル取得 |
| Calendar | gog calendar events/search/create | 予定の確認・作成 |
| Drive | gog drive ls/search/download/upload/share | ファイル管理 |
| Docs | gog docs info/cat/export | ドキュメント読み取り |
| Tasks | gog tasks lists/list/add/done | タスク管理 |
出力形式の使い分け:
# スクリプト処理にはJSON
gog sheets get <spreadsheetId> 'Sheet1!A1:Z100' --json
# 人間が読む場合はデフォルト(テーブル形式)
gog sheets get <spreadsheetId> 'Sheet1!A1:Z100'
# パイプ処理にはTSV
gog sheets get <spreadsheetId> 'Sheet1!A1:Z100' --plain
GoogleのURLからIDを抽出するルール も記載した。ユーザーがURLを貼り付けたときに、Claude Codeが自動でIDを取り出してコマンドに組み込めるようにするため。
https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit#gid=0
→ {spreadsheetId} 部分を使う
動作確認: 祝日リストの取得
スキル定義後、実際にスプレッドシートの読み取りを試した。対象は祝日リストが入ったスプレッドシート。
gog sheets get <spreadsheetId> 'Sheet1!A1:B20' --json
JSONで祝日の日付と名前が返ってきて、正常に動作することを確認できた。これでClaude Codeから「今月の祝日を確認して」と言えばスプレッドシートを参照してくれる。
安全策
書き込み操作(send、update、delete、create)はユーザーへの確認を必須とするルールをスキル内に明記した。読み取りは確認なしで実行するが、データを変更する操作は誤送信・誤削除を防ぐために必ず止まる。
2. diary管理の改善
1/31分の日記自動生成
1月31日のclaude-code-syncログからdiary記事を自動生成した。この日の作業内容は以下の3つ。
- Prettier設定の導入: Claude CodeとVSCodeのフォーマット衝突を
.prettierrcで解消 - クレカ確定処理のパフォーマンス最適化: 1行の更新に全265件を再取得していた問題をローカルステート更新で解消
- デザインシステムの整理: ステータス命名統一(
ok→receipt_matched)、進捗バーの色ルール体系化
いずれもtax-assistantプロジェクトの改善で、個別の詳細記事へのリンクも含めた構成にした。
diaryファイルの一括リネーム
問題: 複数のdiaryファイルが diary.md という同一ファイル名で存在し、Nuxt Contentのpath生成で重複警告が出ていた。
content/2026-01-10/diary.md → path: "/diary"
content/2026-01-11/diary.md → path: "/diary" ← 重複!
content/2026-01-12/diary.md → path: "/diary" ← 重複!
解決策: 全18ファイルを diary.md → diary-YYYY-MM-DD.md にリネームした。
content/2026-01-10/diary.md → content/2026-01-10/diary-2026-01-10.md
content/2026-01-11/diary.md → content/2026-01-11/diary-2026-01-11.md
...
各ファイルのfrontmatter内の path フィールドも /diary → /diary-YYYY-MM-DD に更新。これでpath重複警告が解消された。
対象ファイル数: 18ファイル(2026-01-10 〜 2026-01-31)
この修正は単純だが効果が大きい。Nuxt Contentはpathをユニークキーとして扱うため、重複があるとビルド時に予期しない挙動(片方の記事が表示されない等)が起きる可能性があった。
3. エッセイ記事の作成・校正
frontmatterの付与
「AIとスキル習得」に関するエッセイ記事にfrontmatterを付与した。
---
title: "AIとスキル習得——身体性の伴わない技術をこれからどう学ぶか"
description: "Anthropicの論文を起点に、AIが直接実行できる領域でスキル習得の意味がどう変わるかを考える"
path: "/ai-skill-learning"
todo: "memo"
publishedAt: "2026-02-01"
tags: ["AI", "スキル習得", "教育", "Anthropic"]
---
表現の修正
エッセイ内の「身体性のある/ない」という表現を「身体性を伴う/伴わない」に変更した。
- 「身体性のあるスキル」→「身体性を伴うスキル」
- 「身体性のないスキル」→「身体性を伴わないスキル」
「ある/ない」だと身体性が二値(存在するか否か)に聞こえるが、実際にはグラデーションがある。「伴う/伴わない」のほうが「その行為に身体性がどの程度関わるか」というニュアンスを正確に伝えられる。
本多式校正による修正
honda-sakubunスキルを使って本文を校正し、10箇所の修正を実施した。本多式校正は以下のような観点で文章を見直す。
- 助詞の重複: 「〜の〜の〜の」のように「の」が連続する箇所
- 修飾語の順序: 長い修飾語を先に、短い修飾語を後に配置
- 句読点の位置: 読みやすさのために適切な位置に句読点を打つ
- 冗長な表現: 不要な言葉を削って簡潔にする
エッセイのような文章は技術記事と違い、表現の質が読みやすさに直結する。機械的なチェックだけでなく、文体の自然さも含めて見直した。
4. indexページのカテゴリ分け整理
トップページ(index)の記事一覧をカテゴリごとに整理した。
カテゴリ構成
| カテゴリ | 含まれる記事 |
|---|---|
| 会計・ファイナンス | 連結精算表ビューア、仕訳ルール、確定申告関連 |
| データ分析・可視化 | Excelビューア、ハイライトビューア |
| スポーツ・エンタメ | NBA Standings、大谷翔平MVP分析 |
| その他ツール | ウォーキングマップ、Memento Mori |
記事数が増えてきて、フラットな一覧では目的の記事を見つけにくくなっていた。カテゴリで分けることで、読者が興味のある分野にすぐアクセスできるようになった。
今日の振り返り
ツール整備や命名統一は、目に見える機能追加に比べると地味だ。しかし、こうした「環境の摩擦」を放置すると、日々の作業のたびに小さなストレスが積み重なる。
gogcliスキルは一度定義すれば、以後のGoogle Workspace操作が「URLを貼って指示するだけ」になる。diaryのリネームはビルド警告を消すだけでなく、将来の記事追加時にpath衝突を気にしなくて済む。いずれも投資対効果の高い改善だった。