templates/claude/skills/plan/SKILL.md
実装計画作成のガイダンスを提供するスキル。plan modeでの計画策定、EnterPlanMode使用時、 「実装計画を立てて」「計画を作成」「プランニング」と言われた時、またはGitHub Issueの 実装方針を決める時に自動的に使用する。計画を ~/.cache/vibecorp/plans/<repo-id>/ ディレクトリに出力する(Claude Code の .claude/ 書込確認プロンプトを回避するため)。
npx skillsauth add hirokimry/vibecorp planInstall 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.
Issue の実装方針を策定し、計画ファイルとして出力する。 結果のみを簡潔に返すこと。途中経過は不要。
/plan # 現在のブランチのIssueから計画を作成
/plan <Issue URL> # Issue URLを指定して計画を作成
~/.cache/vibecorp/plans/<repo-id>/{branch_name}.md
ブランチ名は git branch --show-current で取得。パスは vibecorp_plans_mkdir で取得:
source "$CLAUDE_PROJECT_DIR"/.claude/lib/common.sh
plans_dir="$(vibecorp_plans_mkdir)"
plan_file="${plans_dir}/$(git branch --show-current).md"
計画ファイルを .claude/ 配下ではなく ~/.cache/vibecorp/plans/<repo-id>/ に配置する理由:
.claude/ への書込は Claude Code が毎回「書込確認プロンプト」を出すため、ヘッドレス/teammate 環境で停止する(Issue #334, #369)<repo-id> により worktree ごとに分離されるブランチ名から Issue 番号を抽出(例: dev/67_ship → #67)し、Issue 本文を取得する。
gh issue view <番号> --json title,body --jq '.title + "\n" + .body'
Issue URL が引数で渡された場合はそれを使用する。
プロジェクト固有の設計ガイドがあれば参照する。
if [ -d .claude/planning-guides/ ]; then
ls .claude/planning-guides/
fi
ガイドが存在すれば関連するもののみ読み込む。
Issue の内容に基づき、変更が必要な箇所を調査する:
以下の原則に従って計画を策定する:
以下のテンプレートで ${plans_dir}/{branch_name}.md(~/.cache/vibecorp/plans/<repo-id>/{branch_name}.md)に書き出す:
# {タイトル}
Issue: #{issue_number}
Branch: {branch_name}
作成日: {date}
## 概要
{何を実装するか — Issue の要約}
## 影響範囲
{変更が必要なファイル・モジュールの一覧}
## 実装計画
### Phase 1: {フェーズ名}
- [ ] タスク1
- 対象: {ファイルパス}
- 内容: {具体的な変更内容}
- [ ] タスク2
### Phase 2: {フェーズ名}
- [ ] タスク3
- [ ] タスク4
## テスト計画
- [ ] {テスト項目1}
- [ ] {テスト項目2}
## 懸念事項
- {あれば記載}
計画の「概要」「実装計画」セクションを Issue 本文の設計セクションに反映する。
gh issue edit <番号> --body "<更新後の本文>"
~/.cache/vibecorp/plans/<repo-id>/ ディレクトリに出力する(vibecorp_plans_mkdir 経由)\(...) を使わない — Bash 上で \ がエスケープ文字、() がサブシェルとして解釈され、意図しない展開やパースエラーを引き起こすため。必ず + で結合する2>/dev/null、|| echo、; echo 等のリダイレクトやフォールバックを付加しない(根拠)~/.cache/vibecorp/plans/<repo-id>/{branch_name}.md
data-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 段階で挙動を壊さず適用する。自動マージ禁止。