diff --git a/.claude/skills/commit/SKILL.md b/.claude/skills/commit/SKILL.md index e78621d..6f331c3 100644 --- a/.claude/skills/commit/SKILL.md +++ b/.claude/skills/commit/SKILL.md @@ -17,6 +17,7 @@ - **更新済み**: 今回の変更に `docs/`・CLAUDE.md「開発進捗」・`docs/PROGRESS.md` の更新も含めてある - **不要**: 該当しない - **要**: 委譲する前に必要な更新を行う(内容に迷う場合はユーザーに確認する).docs を同じコミットに含めるため +- **ブランチ名**: 現在 `main` にいる可能性がある場合は,git-conventions の命名規則(プレフィックス+英単語 2〜4 語)でブランチ名を決めて渡す(ops-runner に命名させない) - `.claude/commit-context.md` がある場合(`/implement` 経由)は,そこに記録された判断を正とし,改めて判断しない セッションを把握していない場合(起動直後の `/commit` 等)は「意図情報なし・要否は事後判断」とする. diff --git a/.claude/skills/commit/reference.md b/.claude/skills/commit/reference.md index 0f3e0e7..e5c376c 100644 --- a/.claude/skills/commit/reference.md +++ b/.claude/skills/commit/reference.md @@ -16,7 +16,7 @@ **main ブランチにいる場合は自動でブランチを作成する:** -1. 変更内容から git-conventions のブランチ命名規則に従い,適切なプレフィックスと英単語 2〜4 語のブランチ名を決定する +1. 司令塔からブランチ名が渡されていればそれを使う.渡されていなければ,変更内容から git-conventions のブランチ命名規則に従い適切なプレフィックスと英単語 2〜4 語のブランチ名を決め,決めた名前を報告に含める 2. `git checkout -b {ブランチ名}` で作業ブランチを作成する ### ステップ 2: ドキュメント関連の事実収集 diff --git a/.claude/skills/deps-update/SKILL.md b/.claude/skills/deps-update/SKILL.md index f04fe41..53bb2c8 100644 --- a/.claude/skills/deps-update/SKILL.md +++ b/.claude/skills/deps-update/SKILL.md @@ -58,8 +58,9 @@ - 手順書: `reference.md` の「不変条件」と「実行手順 B: 検証とマージ」を読んで従うこと - 対象 PR の一覧(処理順・各 PR の検証方法: CI 待ち / ローカル検証 / rebase 依頼のみ) +- **各 PR のマージ条件**(判定表から機械的に導いて明示する.ops-runner に判定表を解釈させない): `patch` → 到達 Tier が A または B なら可,`minor` → Tier A のみ可.Tier の定義: A=CI 全緑またはローカル検証(テスト含む)全緑,B=テストが無い/特定できないが依存インストールとビルド/型チェックは通る,C=検証不能 -検証が赤・検証不能になった PR はマージされずに戻ってくるので,フェーズ 4 の分析対象に加える. +検証が赤・Tier 不足・検証不能になった PR はマージされずに戻ってくるので,フェーズ 4 の分析対象に加える. ## フェーズ 4: 影響分析 (Analyze) diff --git a/.claude/skills/deps-update/reference.md b/.claude/skills/deps-update/reference.md index 3f4066c..588dd2d 100644 --- a/.claude/skills/deps-update/reference.md +++ b/.claude/skills/deps-update/reference.md @@ -31,9 +31,9 @@ 1. **rebase 依頼のみ指定の PR**: `@dependabot rebase` をコメントして次へ進む(マージしない) 2. **状態の取り直し**: マージのたびに Dependabot が残りの PR を自動 rebase するため,各 PR の処理前に `mergeable`・CI 状況を取り直す.`CONFLICTING` / `BEHIND` になっていれば rebase 依頼に切り替える -3. **検証**: CI があれば「CI の完了待ち」,無ければ「ローカル検証」を実行する -4. **緑の場合**: 「マージ」の手順どおり `gh pr merge <番号> --merge --delete-branch` でマージし,`deps-update-merged.md` へ「台帳の書式」で追記し,ローカル `main` を pull する -5. **赤・検証不能の場合**: マージせず,失敗したコマンド/チェックの要約を添えて「分析行き」として結果に含める +3. **検証**: CI があれば「CI の完了待ち」,無ければ「ローカル検証」を実行し,到達 Tier(A / B / C.「ローカル検証」の「検証結果の解釈」に従う)を判定する +4. **到達 Tier が司令塔の指定したマージ条件を満たす場合**: 「マージ」の手順どおり `gh pr merge <番号> --merge --delete-branch` でマージし,`deps-update-merged.md` へ「台帳の書式」で追記し,ローカル `main` を pull する +5. **満たさない場合(赤・Tier 不足・検証不能)**: マージせず,到達 Tier と失敗したコマンド/チェックの要約を添えて「分析行き」として結果に含める.マージ条件が渡されていない PR はマージせず確認事項として返す 6. **後片付け**: 全件終了後,ローカル検証で作ったブランチ・マージ状態を破棄して開始時のブランチへ戻り,`git status --short` が空であることを確認して結果(マージ済み・rebase 依頼済み・分析行き)を返す ## 前提の確認 (Prerequisites) diff --git a/.claude/skills/task-start/SKILL.md b/.claude/skills/task-start/SKILL.md index 8450ca0..f584e0c 100644 --- a/.claude/skills/task-start/SKILL.md +++ b/.claude/skills/task-start/SKILL.md @@ -21,6 +21,7 @@ - 手順書: 本スキルの `reference.md`(`.claude/skills/task-start/reference.md`)の「/task-start 実行手順」を読んで従うこと - 対象の Issue 番号 +- **ブランチ名**: Issue の内容を把握している場合(同セッションで `/task-create` した直後等)は `.claude/rules/git-conventions.md` の命名規則で決めて渡す.把握していなければ ops-runner に規約どおり提案・作成させ,報告で名前を確認する - 確認が必要な事態(未コミット変更・未マージブランチ・進行中タスクあり・他人アサイン等)では,該当項目をまとめて停止・報告すること ## ステップ 3: 確認の仲介 (Confirm) diff --git a/.claude/skills/task-start/reference.md b/.claude/skills/task-start/reference.md index 9ad1573..15cb66e 100644 --- a/.claude/skills/task-start/reference.md +++ b/.claude/skills/task-start/reference.md @@ -47,7 +47,7 @@ 2. **直列運用チェック**: 所有者を取得し Project を特定する(複数なら停止して報告.無ければボード操作を飛ばす).進行中の作業を数える(Project があれば `item-list` で Status が `In Progress` のもの,無ければ `gh issue list --assignee @me --state open`).対象 Issue 以外に 1 件以上あれば,該当タスクの一覧を添えて停止して報告する(禁止ではなく原則) 3. **対象 Issue の確認・アサイン**: `gh issue view ` で内容を確認する(存在しない・クローズ済み・他人がアサイン済みの場合は停止して報告する).`gh issue edit --add-assignee @me` で自分をアサインする 4. **ボードを In Progress へ**: 「Projects の操作」に従い,未追加なら `item-add` → Status を `In Progress` に変更 → `item-list` で結果を確認する(Project が無い場合は飛ばす) -5. **作業ブランチ作成**: `git checkout main && git pull origin main` で `main` を最新化し,規約どおりのブランチ名(プレフィックス+英単語 2〜4 語.Issue 番号は含めない)で `git checkout -b <ブランチ名>` する +5. **作業ブランチ作成**: `git checkout main && git pull origin main` で `main` を最新化し,`git checkout -b <ブランチ名>` する.ブランチ名は司令塔から渡されていればそれを使い,無ければ Issue タイトルから規約どおり(プレフィックス+英単語 2〜4 語.Issue 番号は含めない)決めて,決めた名前とプレフィックスの選択理由を報告に含める 6. **報告**: Issue 番号・タイトル・URL・ボード状態・作成したブランチ名を返す ※ ステップ 1〜3 の停止条件に複数該当する場合は,まとめて 1 回の報告で返す(司令塔との往復を減らす).司令塔から「ユーザー承認済み」と明示された項目では停止しない. @@ -61,7 +61,7 @@ 1. 所有者を取得し Project を特定する(無くても問題ない).着手中の Issue を抽出する(Project があれば `item-list` で Status が `In Progress` のもの,無ければ `gh issue list --assignee @me --state open`) 2. 0 件ならその旨を報告して終了する.複数件なら一覧(番号・タイトル)を確認事項として返す 3. 対象 Issue について以下を収集して返す: - - `gh issue view --json number,title,body,comments`(本文と過去コメントの要点.過去の進捗メモと重複させないための材料) + - `gh issue view --json number,title,body,comments`(本文と過去コメントを**原文のまま**返す.要約・取捨選択はしない.コメントが多い場合は直近の「進捗メモ」コメントを優先して原文で返し,古いものは件数と日付だけにする) - `git branch --show-current`/`git rev-parse --short HEAD`/`git log main..HEAD --oneline`/`git status --porcelain` ### 投稿フェーズ (Post)