HANDOFF: Phase 6 永続化 SKILL.md 更新パッチ(要承認)¶
Code Claude → 工藤さん
作成日:2026-05-28
目的:workspace 自動公開プロトコルを既存スキル群に永続化
Code 実行時の制約:Code の auto mode classifier が ~/.claude/skills/ 配下の SKILL.md 編集を「agent-loaded config の自己変更」として却下したため、本パッチを工藤さん承認+手動適用ルートに切り替え
0. 適用方法(3 択)¶
| 方式 | 手順 | 推奨度 |
|---|---|---|
| A:Code に許可を出す | 「~/.claude/skills/ への Edit を許可」と私に伝える → Code が即適用 |
⭐推奨(最速・差分は本ドキュメント内で確認可能) |
| B:工藤さんが Edit | 本ドキュメントの差分を見て、テキストエディタで直接編集 | 慎重派向け |
| C:Cowork/Chat 経由 | 本ドキュメントを参照させて Cowork/Chat に編集してもらう | classifier が違う環境なら通る可能性あり |
A. kudo-shared-storage-protocol SKILL.md v1.3 → v1.4¶
ファイル:~/.claude/skills/kudo-shared-storage-protocol/SKILL.md
A-1. frontmatter の変更¶
- version: 1.3
+ version: 1.4
anchors:
...
git-backup: "GitHub git-backup 経路"
migration: "移行プロセス"
+ workspace-auto-publish: "workspace 自動公開プロトコル"
naming_aliases: []
A-2. description の末尾追記(frontmatter description フィールド)¶
旧の末尾:
「KUDO-Vault バックアップ」など、3 環境間のファイル共有・生成物配置・機密ガバナンス・git-backup が必要なすべての場面でトリガー。
新の末尾(直後に追記):
v1.4(2026-05-28) で §10 workspace 自動公開プロトコル新設(launchd + fswatch + rsync + MkDocs Material + Cloudflare Pages/Access による Z Fold 7 PWA 閲覧インフラ)。「スマホで読みたい」「Z Fold 7 で見たい」「PWA」「Cloudflare Pages」「launchd 自動デプロイ」「mkdocs material」「workspace 自動公開」でもトリガー。
A-3. 既存 §10 / §11 を §11 / §12 にシフト¶
A-4. 新セクション §10 を §9 の直後(既存 §10 の直前)に挿入¶
## §10 workspace 自動公開プロトコル(v1.4 新規) {#workspace-auto-publish}
`_claude_workspace_global/` の Markdown / HTML を、保存アクションなしで Z Fold 7(Android)の PWA から閲覧できる状態を恒久維持する自動公開インフラ。2026-05-28 確立。
### 10.1 アーキテクチャ
\`\`\`
~/working/_claude_workspace_global/ ← ソース(Drive同期・既存集中原則)
↓ launchd + fswatch(30秒デバウンス) → rsync
~/claude-workspace-site/docs/ ← MkDocsソース(git管理外)
↓ mkdocs build
~/claude-workspace-site/site/ ← ビルド結果
↓ wrangler pages deploy
Cloudflare Pages(Access認証付き) ← kudo-workspace.pages.dev
↓
Z Fold 7 PWA(ホーム画面アプリ)
\`\`\`
★重要な設計判断:**`_claude_workspace_global/` 自体は git 化しない**(Drive 同期と .git/ が競合するため・kudo-ai-error-watchlist Entry #29 既知リスク)。代わりに launchd が rsync で MkDocs プロジェクトへ内容を複製する。
### 10.2 構成要素
| レイヤー | 実体 | 役割 |
|---|---|---|
| ソース | `~/working/_claude_workspace_global/` | 集中原則 §5.5 で全 Claude 生成物が集まる場所 |
| 監視 | `~/claude-workspace-site/fswatch-watcher.sh` + launchd `com.kudo.workspace-autodeploy` | 30 秒デバウンスで変更検知 |
| 同期 | rsync(`backups/` `.DS_Store` `.git` 除外・Markdown/HTML のみ) | 機密判定なし(Access 認証で保護) |
| ビルド | mkdocs-material(Japanese 検索・dark mode・awesome-pages) | `.md` をテーマ整形・`.html` は素のまま |
| デプロイ | wrangler pages deploy(無料枠) | 全帯域無制限・500ビルド/月 |
| 認証 | Cloudflare Access(kudotakuma421@gmail.com のみ Allow) | URL 知っていても不可視 |
| 閲覧 | Z Fold 7 / PWA(manifest.webmanifest + overrides/main.html) | ホーム画面アプリ化 |
### 10.3 集中原則との整合
工藤さんが触れるのは**両端のみ**:
1. 「Claude に生成を頼む」(成果物が `_claude_workspace_global/` に書き込まれる ← 集中原則 §5.5 で既に確立)
2. 「Z Fold 7 でアプリを開く」(PWA をタップ)
中間(rsync → build → deploy)は **launchd による全自動**。集中原則の「すべての Claude 生成物は `_claude_workspace_global/` 配下」が、本プロトコルの「閲覧自動化」と直結している。
### 10.4 機密判定の階層
- **本スキル §7 機密の扱い**が優先(CLAUDE.md §8.4 が上位 SSOT)
- 機密ファイルは `_claude_workspace_global/` ではなく KUDO-Vault に配置(集中原則の正規特例)
- そのため自動公開対象から除外される
- 追加で rsync の `--exclude` パターンで特定フォルダを除外する選択肢もあり(`backups/` は既定で除外済み)
- 万一の流出に備え Cloudflare Access で Email 一致のみ許可
### 10.5 リッチ HTML と Markdown の両対応
- `.md` は MkDocs Material テーマで整形(統一感)
- `.html`(Plus-Sum マニュアル等の self-contained HTML)はそのまま `site/` に配信(素のレンダリング保持)
- `mkdocs.yml` の `use_directory_urls: true` で直リンク対応
### 10.6 運用上の制約
- **Mac が起動していること**が前提(launchd は Mac で動く・出先で生成された WorkFlowy/Drive ファイルは Mac 起動後に同期)
- **Cloudflare Pages 無料枠**:500 ビルド/月。30 秒デバウンス + 多重起動 LOCK で抑制しているが、過剰な書き込みが続く時は方式 B(15 分定期実行)に切替検討
- **Drive 同期遅延**:Mac の Drive クライアント同期遅延がある時は fswatch 検知も遅れる(これは前提と割り切る)
### 10.7 関連ファイル
- `~/claude-workspace-site/auto-deploy.sh` — rsync → mkdocs build → wrangler deploy
- `~/claude-workspace-site/fswatch-watcher.sh` — 30 秒デバウンス監視
- `~/Library/LaunchAgents/com.kudo.workspace-autodeploy.plist` — launchd 設定
- `~/claude-workspace-site/mkdocs.yml` — MkDocs Material 設定
- `~/claude-workspace-site/overrides/main.html` — PWA head 注入(manifest / theme-color / apple-touch-icon)
- `~/claude-workspace-site/docs/manifest.webmanifest` — PWA マニフェスト
- `~/claude-workspace-site/docs/assets/icons/*.png` — PWA アイコン(192/512 + maskable)
- `~/claude-workspace-site/logs/` — auto-deploy / fswatch-watcher / launchd のログ
### 10.8 関連 HANDOFF
- `~/working/_claude_workspace_global/handoffs/HANDOFF_workspace_auto_publish_infra_2026-05-28.md` — Chat → Code への構築指示
- `~/working/_claude_workspace_global/handoffs/HANDOFF_cloudflare_access_setup_2026-05-28.md` — 工藤さんへの Access 設定手順
- `~/working/_claude_workspace_global/handoffs/HANDOFF_zfold7_pwa_install_2026-05-28.md` — 工藤さんへの PWA インストール手順
---
A-5. §12 改訂履歴の先頭に v1.4 エントリ追加¶
## §12 改訂履歴 直下に:
- **v1.4(2026-05-28・workspace 自動公開プロトコル新設)**:工藤さんの要望「Code/Cowork が作った資料・メモ・HTMLを保存アクションなしで Z Fold 7 から見やすく閲覧したい」を起点に:
- §10 workspace 自動公開プロトコルを新設(launchd + fswatch + rsync + MkDocs Material + Cloudflare Pages/Access + PWA の恒久インフラ)
- 既存 §10 関連スキル → §11、§11 改訂履歴 → §12 にシフト
- frontmatter anchors に `workspace-auto-publish` 追加・version 1.3 → 1.4
- description に新トリガー追記
- kudo-ai-error-watchlist Entry #29(Drive 同期 + git 化リスク)と双方向参照
- 実装ファイル: HANDOFF_workspace_auto_publish_infra_2026-05-28.md・HANDOFF_cloudflare_access_setup_2026-05-28.md・HANDOFF_zfold7_pwa_install_2026-05-28.md
B. kudo-ai-error-watchlist Entry #29 追加¶
ファイル:~/.claude/skills/kudo-ai-error-watchlist/SKILL.md
B-1. 挿入位置¶
### Entry #28 — 選択肢の過剰提示バイアス(2026-05-28 発見) のセクション末尾(次の ## § または ### Entry が始まる直前)に以下を追加:
### Entry #29 — Drive 同期フォルダの git 化による .git/ 競合リスク(2026-05-28 発見)
**発見契機**:workspace 自動公開インフラ構築(kudo-shared-storage-protocol §10)の設計時、`~/working/_claude_workspace_global/` を git 管理できれば履歴も追えて便利と一瞬考えたが、ここは Google Drive 同期フォルダのため `.git/` ディレクトリ自体が Drive 同期対象になる。これにより:
- 複数 PC からアクセスしている時、`.git/objects/` の binary が同期競合する
- Drive のバージョン履歴が `.git/HEAD` などの内部ファイルで膨大に消費される
- Mac クライアントの「同期中断」「コンフリクトコピー」が頻発
- 過去にも Drive 直下の hidden ファイル系で同様の事案発生(Entry #10 系列の延長)
**回避**:Drive 同期フォルダ自体は git 化しない。代わりに別の git 管理可能なディレクトリ(例:`~/claude-workspace-site/`)に rsync で複製し、そちらを git / デプロイ対象にする。Drive 側は「データの SSOT」のまま、ビルド・履歴は別経路で管理する。
**汎化**:「便利だから git 化したい」「履歴を追いたい」と考えた時、その対象が**外部同期フォルダ**(Drive / Dropbox / iCloud / OneDrive)であれば、まず競合リスクを評価する。直接 git 化が許されるのは:
1. 完全にローカル制御下のディレクトリ
2. 同期対象外(`.gitignore` で `.git/` をシステム側で除外する仕組みがない)
3. または同期サービス側で `.git/` を除外する明示的な設定がある場合
**関連スキル**:
- `kudo-shared-storage-protocol §10 workspace-auto-publish` — 本パターンの回避設計実装
- `kudo-shared-storage-protocol §8 git-backup` — KUDO-Vault は逆に local 配置なので git-backup 可能(対比)
- `Entry #10` — Drive MCP の権限制約系列の延長
C. 適用承認後の確認¶
両方の適用後、kudo-skill-tree-ssot-map の再生成が望ましい(anchors マップに workspace-auto-publish が追加される)。
実行コマンド(kudo-skill-cross-reference-resolver スキル経由):
D. 完了基準¶
- A.
kudo-shared-storage-protocol/SKILL.mdv1.3 → v1.4 に更新済み - B.
kudo-ai-error-watchlist/SKILL.mdに Entry #29 追加済み - C. SSOT マップ再生成済み(オプション)
- D. kudo-workspace.pages.dev で本ドキュメントが閲覧可能(自動)