skills/harvest-all/SKILL.md
コードベース全体を棚卸しし、ドキュメント化されていない暗黙知を洗い出して docs/ / .claude/rules/ / .claude/knowledge/ に直接反映する。 初期導入時や定期棚卸し用のオンデマンドスキル。 「/harvest-all」「棚卸し」「全量棚卸し」と言った時に使用。
npx skillsauth add hirokimry/vibecorp harvest-allInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ultrathink
[!IMPORTANT] このスキルは コードベース全体を走査 し、ドキュメント化されていない暗黙知を
docs//.claude/rules//.claude/knowledge/に直接反映する。 初期導入時や定期棚卸し用のオンデマンドスキル。 ユーザーが個別承認した項目のみを反映する(暗黙的に大量のファイルを書き換えない)。harvest-all-activeスタンプを設置してprotect-knowledge-direct-writes.shを通過させる。スタンプは fail-secure 設計(decisions//audit-*.mdは常に deny)。
コードベース全体を走査し、ドキュメント化されていない暗黙知を洗い出して docs/ / .claude/rules/ / .claude/knowledge/ に直接反映する。
/vibecorp:harvest-all
/vibecorp:harvest-all --scope <path>
/vibecorp:harvest-all --dry-run
/vibecorp:harvest-all --scope src/ --dry-run
/vibecorp:harvest-all --worktree <path>
| オプション | 説明 |
|---|---|
| --scope <path> | 走査対象ディレクトリを限定する。省略時はプロジェクトルート全体を走査する |
| --dry-run | 反映せず、発見項目のレポートのみ出力する |
| --worktree <path> | 指定パス内で全操作を実行する |
--worktree <path> が指定された場合、全操作を指定パス内で実行する。
cd <path> && command で実行する。<path>/ を基準とした絶対パスを使用する。| スキル | 使い所 |
|---|---|
| /vibecorp:session-harvest | セッション中の暗黙知をマージ前に吸い上げる日常ツール。session-harvest-gate と連携し、PR マージ前のゲートとして機能する |
| /vibecorp:harvest-all | コードベース全体を走査して暗黙知を洗い出すオンデマンドツール。初期導入時や定期棚卸し用に使用する |
--scope が指定されている場合、そのディレクトリのみを走査対象にする。未指定時はプロジェクトルート全体を対象とする。
走査対象ディレクトリの存在を確認する。
ls -d <scope_path>
棚卸し結果との重複を検出するため、現在のドキュメント群を読み込む。
読み込み対象:
docs/ 配下の全 .md ファイル。.claude/rules/ 配下の全 .md ファイル。.claude/knowledge/ 配下の全 .md ファイル。各ファイルの内容を読み込み、既にドキュメント化されている知見の一覧を把握する。
走査対象のコードベースを以下の 3 観点で分析する。
以下のパターンを探索する。
以下のパターンを探索する。
以下のパターンを探索する。
TODO / FIXME / HACK / XXX / WORKAROUND コメント。ステップ 2 で読み込んだ既存ドキュメントと、ステップ 3 で発見した項目を比較する。
発見項目を以下の基準で整理する。
カテゴリ:
| カテゴリ | 反映先 |
|---------|--------|
| 設計判断・アーキテクチャ | docs/ |
| コーディング規約 | .claude/rules/ |
| 仕様上の注意点 | .claude/knowledge/ |
優先度:
| 優先度 | 基準 | |-------|------| | 高 | 新規メンバーが躓く可能性が高い、セキュリティ・データ整合性に関わる | | 中 | 開発効率に影響する、繰り返し質問されそう | | 低 | 知っておくと便利、コードの理解が深まる |
発見項目の一覧をユーザーに提示し、反映の承認を求める。
## 棚卸し結果
### 発見項目一覧
#### docs/ 向け(設計判断・アーキテクチャ)
| # | 優先度 | タイトル | 根拠 | 反映先ファイル |
|---|--------|---------|------|---------------|
| 1 | 高 | {タイトル} | {該当コード箇所・理由} | {ファイルパス} |
| 2 | 中 | {タイトル} | {該当コード箇所・理由} | {ファイルパス} |
#### rules/ 向け(コーディング規約)
| # | 優先度 | タイトル | 根拠 | 反映先ファイル |
|---|--------|---------|------|---------------|
| 1 | 中 | {タイトル} | {該当コード箇所・理由} | {ファイルパス} |
#### knowledge/ 向け(注意点・トラップ)
| # | 優先度 | タイトル | 根拠 | 反映先ファイル |
|---|--------|---------|------|---------------|
| 1 | 高 | {タイトル} | {該当コード箇所・理由} | {ファイルパス} |
### サマリ
- docs/ 向け: {n} 件
- rules/ 向け: {n} 件
- knowledge/ 向け: {n} 件
- 合計: {n} 件
反映しますか?
- 全て反映する場合: y
- 選択して反映する場合: 番号をカンマ区切りで指定(例: 1,3,5)
- 中止する場合: n
--dry-run の場合はこのレポートを出力して終了する。
/vibecorp:harvest-all は .claude/knowledge/ への作業ブランチ直書きを行うが、protect-knowledge-direct-writes.sh フックがこの直書きを deny する設計である。本スキルはユーザーが個別承認した項目のみを反映するオンデマンドツールであり、docs/specification.md の「作業ブランチ直接書込フロー」例外として明示されているため、ステップ 7 の反映前に harvest-all-active スタンプを設置してフックを通過させる。
ただしスタンプは fail-secure 設計: .claude/knowledge/{role}/decisions/ および .claude/knowledge/accounting/audit-*.md / .claude/knowledge/security/audit-*.md への直書きはスタンプの有無にかかわらず常に deny される(C*O 判断記録 / 監査の責務領域は本スキルのスコープ外)。
# 反映前: ガードレール一時通過スタンプの設置
. "$CLAUDE_PROJECT_DIR/.claude/lib/common.sh"
stamp_dir="$(vibecorp_state_mkdir)"
touch "${stamp_dir}/harvest-all-active"
trap 'rm -f "${stamp_dir}/harvest-all-active"' EXIT
ステップ 8(結果報告)の後にスタンプを削除する(trap で異常終了時も削除されるが、正常終了時の明示削除も行う)。
ユーザーが承認した項目について、該当ファイルに直接反映する。
反映ルール:
| カテゴリ | 反映方法 |
|---------|---------|
| docs/ 向け | 既存ファイルに追記、または新規セクション追加。既存の記述スタイルに合わせる |
| rules/ 向け | 既存の rules ファイルに追記、または新規 .md ファイル作成。1 ルール 1 ファイルの原則に従う |
| knowledge/ 向け | 該当ロールの knowledge ディレクトリに追記、または新規ファイル作成 |
反映時の制約:
## /vibecorp:harvest-all 完了
### 反映内容
| # | カテゴリ | 優先度 | タイトル | 反映先 |
|---|---------|--------|---------|--------|
| 1 | docs/ | 高 | {タイトル} | {ファイルパス} |
| 2 | rules/ | 中 | {タイトル} | {ファイルパス} |
### サマリ
- 走査対象: {スコープ}
- 発見項目: {n} 件
- 重複除外: {n} 件
- 反映済み: {n} 件
- スキップ(ユーザー判断): {n} 件
ステップ 6.5 で設置した harvest-all-active スタンプを削除する。trap で異常終了時も削除されるが、正常終了時の明示削除も行う。
rm -f "${stamp_dir}/harvest-all-active"
本スキルはユーザーが個別承認した項目のみを反映するオンデマンドツール。承認済み項目は session-harvest 等の自動収集と異なり、ユーザー判断で main へ直接 PR 化する想定。docs/specification.md の「作業ブランチ直接書込フロー」例外として明示されている。
Phase 4 のガードレール hook(protect-knowledge-direct-writes.sh)を通過させるため、ステップ 6.5 で harvest-all-active スタンプを設置する。スタンプは fail-secure 設計で、decisions/ および audit-*.md パターンには適用されない(C*O 判断記録 / 監査は本スキルのスコープ外)。
以下の状況ではユーザーに報告して判断を委ねる。
| 状況 | タイミング | |------|-----------| | 走査対象ディレクトリが存在しない | ステップ 1 | | 発見項目が 0 件 | ステップ 5 | | ユーザーが反映を承認しない | ステップ 6 | | 反映先ファイルの編集で競合が発生する | ステップ 7 |
--force / --hard / --no-verify は使用しない。\(...) を使わない — Bash 上で \ がエスケープ文字、() がサブシェルとして解釈され、意図しない展開やパースエラーを引き起こすため。必ず + で結合する。2>/dev/null / || echo / ; echo 等のリダイレクトやフォールバックを付加しない(根拠)。.claude/rules/communication.md.claude/rules/prompt-writing.md.claude/rules/markdown.md.claude/rules/shell.md/vibecorp:session-harvest/vibecorp:review-harvestdata-ai
skills/**/SKILL.md 内に embed された 5 行以上のエージェント呼出プロンプトテンプレ・長文ブロックを .claude/rules/notification-prompt-extraction.md 基準で skills/<skill>/prompts/<name>.md に切り出す migration skill。「/prompts-extract-all」「プロンプト切り出し」「プロンプト extract」「SKILL.md プロンプト migration」と言った時に使用。検出は awk でフェンスコードブロックを抽出して行数カウント、要否判定は LLM が閾値・用途軸・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
documentation
.github/workflows/**/*.{yml,yaml} の --body 通知文と hooks/**/*.sh の長文 echo/printf/heredoc を .claude/rules/notification-prompt-extraction.md 基準で個別 .md ファイルに切り出す migration skill。「/notifications-extract-all」「通知文切り出し」「通知文 extract」「workflow 通知 migration」と言った時に使用。検出は grep で機械絞り込み、要否判定は LLM が閾値・命名規約と照合。diff 提案 → CEO 承認 → 書換の 2 段階で挙動を壊さず適用する。自動マージ禁止、自律ループ対象外。
development
`**/*.sh` / `**/*.js` / `**/*.ts` / `**/*.py` / `**/*.rb` / `**/*.go` / 設定ファイル等のコード内コメントを一括棚卸しし、 `.claude/rules/code-comments.md` と機械的に照合する。 diff 提案 → CEO 承認 → 書換の 2 段階で自動マージを禁じる。 生成コード・`node_modules`・`vendor`・`dist`・`build` 等は除外する。 「/vibecorp:comments-rewrite-all」「コメント全書き直し」「コード内コメント棚卸し」 と言った時に使用。
development
skills/**/SKILL.md・agents/*.md・.claude/rules/*.md を .claude/rules/prompt-writing.md 基準で一括書き直し提案するスキル。「/prompts-rewrite-all」「プロンプト書き直し」「スキル一括書き直し」「エージェント書き直し」と言った時に使用。claude-code-guide サブエージェントで Claude Code 公式仕様(docs.claude.com)を確認し、prompt-writing.md の指針 MUST / 禁止パターンと照合する。diff 提案 → CEO 承認 → 書き換えの 2 段階で挙動を壊さず適用する。自動マージ禁止。