コンテンツにスキップ

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 にシフト

- ## §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 スキル経由):

~/.claude/scripts/regenerate_ssot_map.py


D. 完了基準

  • A. kudo-shared-storage-protocol/SKILL.md v1.3 → v1.4 に更新済み
  • B. kudo-ai-error-watchlist/SKILL.md に Entry #29 追加済み
  • C. SSOT マップ再生成済み(オプション)
  • D. kudo-workspace.pages.dev で本ドキュメントが閲覧可能(自動)