Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions .claude/skills/close/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,8 @@ user-invocable: false
)"
```
テンプレートが存在しない場合は「目的/変更点/テスト/ロールバック/参照パス」を手動で記載する。
3) commit/push して PR を更新する。
3) commit して送り、PR を更新する(`docs/runbooks/workflow.md`「GitHub への書き込みの時点」の 3)。
commit の前に、`docs/reviews/closed/I###_review.md` の「## 自律判断の記録」に close の分を書き、末尾に `STAGE_DONE: close NEXT: merge` を足す。
**staging は close 対象の I### 関連ファイルに限定する**(step 1 の `git mv` で移動した issue/plan/tests/reviews と、完了情報追記などで編集した追跡済みファイルのみ)。
```bash
# 追跡済みファイルの変更(git mv 済みの move・完了情報追記)だけを staging する。
Expand Down Expand Up @@ -162,10 +163,10 @@ user-invocable: false
`oshui0404` だけの設定のため(main には CODEOWNERS が無い・`docs/runbooks/branch-protection-setup.md`)、
承認前の正常な最終状態は BLOCKED=CI 全緑・承認待ちのみ)。
- exit 0 → step 6 のマージ依頼へ進む
- exit 1 → 原因を見て直す。マージコンフリクトは step 0 と同じ扱い。DRAFT 残留は step 5 をやり直す。CI fail は、記録を 1 か所に保つため、step 1 で closed へ移したこのイシューの記録(`docs/issues/closed/I###.md`・`docs/plans/closed/plan_I###*.md`・`docs/tests/closed/I###_*.md`・`docs/reviews/closed/I###_review.md`)を `git mv` で open へ戻し(計画書のレビュー結果のリンクも step 1 の逆に戻す)、commit/push してから、`docs/reviews/open/I###_review.md` の末尾に `STAGE_DONE: close NEXT: fix-loop` を書いて終わる(後の段階は open の記録を読み書きする)
- exit 1 → 原因を見て直す。マージコンフリクトは step 0 と同じ扱い。DRAFT 残留は step 5 をやり直す。CI fail は、記録を 1 か所に保つため、step 1 で closed へ移したこのイシューの記録(`docs/issues/closed/I###.md`・`docs/plans/closed/plan_I###*.md`・`docs/tests/closed/I###_*.md`・`docs/reviews/closed/I###_review.md`)を `git mv` で open へ戻し(計画書のレビュー結果のリンクも step 1 の逆に戻す)、`docs/reviews/open/I###_review.md` の末尾に `STAGE_DONE: close NEXT: fix-loop` を足して commit して終わる(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)
- exit 2 → mergeStateStatus=UNKNOWN が継続。1 回だけ実行し直し、続けば報告に書いて step 6 へ進む
6) 結線とマージ依頼(必須):
- `docs/reviews/closed/I###_review.md` の末尾に `STAGE_DONE: close NEXT: merge` を足して commit/push する
6) マージ依頼(必須。ここではコミット・push しない):
- 手順 3 の後に分かったこと(最後の確認の結果など)は、記録に足さず依頼の報告に書く
- ユーザーへ GitHub 上で Approve & Merge を依頼する(承認とマージはユーザー `oshui0404` だけが行える。
承認の後に develop への追従などでコミットが入ると承認は取り消されるため、その場合は再承認を依頼する)。
手動テスト文書に、承認の後・マージの前に行う確認がある場合は、まず承認だけを依頼し、その確認を終えてからマージを依頼する。そのような確認がない場合は、承認とマージを一度に依頼する。
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/design-security-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ disallowed-tools: Write, NotebookEdit
2. 直すには要件・基本設計・UI/UX を変える必要があるとき、または直し方が無いときだけ止める(止める条件 1・3)。`STAGE_DONE:` は書かない

**Blocker がない場合**:
`docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit/push する(Write は使えないので Edit で足す):
`docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit する(Write は使えないので Edit で足す。push はしない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」):
```
STAGE_DONE: design-security-review NEXT: implement
```
2 changes: 1 addition & 1 deletion .claude/skills/fix-loop/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ user-invocable: false
- 次回どう防ぐか
- 確かめた結果(手順6 で流したテストと結果)

8) 結線(必須・戻り先は 1 か所): commit/push してから、`docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit/push する。どの NG(レビュー・CI・テスト・人の手動テスト)から来たときも同じで、直した後は必ず review-gate が差分のレビューで見直す
8) 結線(必須・戻り先は 1 か所): commit してから、`docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit する(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)。どの NG(レビュー・CI・テスト・人の手動テスト)から来たときも同じで、直した後は必ず review-gate が差分のレビューで見直す
```
STAGE_DONE: fix-loop NEXT: review-gate
```
8 changes: 4 additions & 4 deletions .claude/skills/implement/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,11 @@ DB変更なし・外部API/非同期処理なし・フロントエンド変更
- ビルド確認: react-scripts build(型エラーが出た場合は修正してから次のステップへ)
- 修正対象の警告・エラーがある場合は修正してから次のステップへ
- **例外 — 新規 pre-commit フックを `.pre-commit-config.yaml` に追加した場合**: `pre-commit run <hook-id> --all-files` を実行し、スコープ内の既存ファイル全体が hook を PASS することを確認してからコミットする(commit 時の自動実行はステージ済みファイルのみを対象とするため、既存ファイルの違反は自動では検出されない)
3) commit/push して PR を更新
3) commit する(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)
3.5) **完了前の反映検証(必須)**:
- 結線の**前に** `git diff origin/develop...HEAD --name-only` を確認し、計画書の実装対象に対応する**意図した変更ファイルがブランチに反映されている**ことを検証する。
- 意図した変更ファイルが現れない場合(作業ツリーにあるだけで未コミット、または未 push の可能性)は、commit/push し直してから確かめ直す。それでも現れないときは原因を記録して止める(止める条件 3)。空 diff のまま review-gate に渡すと「未実装/Blocker」誤判定になるため、この安全ゲートを必ず通す。
4) 結線(必須): `docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit/push する(修正の後のレビューのやり直しは、fix-loop が必ず review-gate に戻すことで行う)
- 結線の**前に** `git diff origin/develop...HEAD --name-only` を確認し、計画書の実装対象に対応する**意図した変更ファイルがブランチ(手元のコミット)に反映されている**ことを検証する。
- 意図した変更ファイルが現れない場合(作業ツリーにあるだけで未コミットの可能性)は、commit し直してから確かめ直す。それでも現れないときは原因を記録して止める(止める条件 3)。空 diff のまま review-gate に渡すと「未実装/Blocker」誤判定になるため、この安全ゲートを必ず通す。
4) 結線(必須): `docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit する(修正の後のレビューのやり直しは、fix-loop が必ず review-gate に戻すことで行う)
```
STAGE_DONE: implement NEXT: review-gate
```
6 changes: 3 additions & 3 deletions .claude/skills/plan-issue/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ EOF
--base develop
```

Draft PR 番号をイシューファイルの「## 関連資料」セクションに追記する:
Draft PR 番号をイシューファイルの「## 関連資料」セクションに追記する(手元のファイルだけ。GitHub のイシュー本文は同期しない。push は上の 2 の 1 回だけで、この後の段階は手元でコミットだけ・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」):
```
- Draft PR: #XX
```
Expand Down Expand Up @@ -186,8 +186,8 @@ grep -rnF -e "FILE=<実装対象のパス1> |" -e "FILE=<実装対象のパス2>

**この先へ続ける(必須・止まらない)**
上の文書品質ゲートを満たしたら、ユーザーの入力を待たずに先へ進む(計画の承認は待たない。計画は plan-review 段階のレビューで確かめる)。
1. 計画書・テスト文書・レビュー文書を commit/push する。
2. `docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit/push する:
1. 計画書・テスト文書・レビュー文書を commit する(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)。
2. `docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit する:
```
STAGE_DONE: plan NEXT: plan-review
```
Expand Down
6 changes: 3 additions & 3 deletions .claude/skills/plan-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ user-invocable: false

## 1. レビュー

計画書・テスト文書・レビュー文書を commit/push してから、Bash ツールの `run_in_background: true` で実行し、完了の通知で結果を受け取る(レビュー役に最大 900 秒〔`REVIEW_TIMEOUT`〕を許すので、前面の実行の上限 10 分を超えうる):
計画書・テスト文書・レビュー文書を commit してから(レビュー役は手元のファイルを読む。push はしない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)、Bash ツールの `run_in_background: true` で実行し、完了の通知で結果を受け取る(レビュー役に最大 900 秒〔`REVIEW_TIMEOUT`〕を許すので、前面の実行の上限 10 分を超えうる):

```bash
bash scripts/claude/plan-issue-review.sh "$ARGUMENTS"
Expand All @@ -25,14 +25,14 @@ bash scripts/claude/plan-issue-review.sh "$ARGUMENTS"

1. `PLAN_VERDICT: OK` → 3. で `NEXT: implement`
2. `PLAN_VERDICT: HIGHRISK` → 3. で `NEXT: design-security-review`
3. `PLAN_VERDICT: BLOCKER` → 指摘を計画書・テスト文書に Edit で直し、commit/push して 1. を実行し直し、その結果で 1〜3 を判定し直す
3. `PLAN_VERDICT: BLOCKER` → 指摘を計画書・テスト文書に Edit で直し、commit して 1. を実行し直し、その結果で 1〜3 を判定し直す
- 同じゲートで 2 回続けて BLOCKER なら、止める条件 3 に当たるかを判定する。範囲を狭める・別イシューに切り出すなど安全側の選択肢が取れれば、それを選んで計画書を直し、記録に書いてもう一度 1. を実行する。取れなければ止める
- 直すのに要件・基本設計・UI/UX の判断が要る指摘は、選択肢をつけてユーザーに聞いて止める(止める条件 1)
- Warning・Info は、直せるものは直す。直した内容が方式・範囲・受け入れ条件を変えないなら、計画変更記録に 1 行書いて再レビューはしない

## 3. 結線(必須)

スクリプトが計画書に追記したレビュー記録へのリンクを含めて commit/push し、`docs/reviews/open/$ARGUMENTS_review.md` の末尾に 1 行足して commit/push する:
スクリプトが計画書に追記したレビュー記録へのリンクを含めて commit し、`docs/reviews/open/$ARGUMENTS_review.md` の末尾に 1 行足して commit する(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」):
- `STAGE_DONE: plan-review NEXT: implement`(OK)
- `STAGE_DONE: plan-review NEXT: design-security-review`(HIGHRISK)
- 止める条件に当たって止まるときは `STAGE_DONE:` を書かない
4 changes: 2 additions & 2 deletions .claude/skills/proceed/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ argument-hint: "I###"

1. 最後の `STAGE_DONE:` が `NEXT: human-test` であることを `flow-stage.sh` で確かめる(違えば、返信を結果として扱わず、1. へ進む)
2. 返信の結果を `docs/tests/open/$ARGUMENTS_manual_test.md` の Human の行の「実結果」に書く
3. 全部 OK なら `STAGE_DONE: human-test NEXT: retro`、NG が 1 つでもあれば NG の内容を記録して `STAGE_DONE: human-test NEXT: fix-loop` を `docs/reviews/open/$ARGUMENTS_review.md` の末尾に足して commit/push する
3. 全部 OK なら `STAGE_DONE: human-test NEXT: retro`、NG が 1 つでもあれば NG の内容を記録して `STAGE_DONE: human-test NEXT: fix-loop` を `docs/reviews/open/$ARGUMENTS_review.md` の末尾に足して commit する(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)
(NG の後は fix-loop → review-gate → test-gate と進み、人の手動テストをもう一度依頼して止まる)

## 1. 次の段階を決める
Expand All @@ -32,6 +32,6 @@ bash scripts/claude/flow-stage.sh "$ARGUMENTS"
|---|---|
| `plan-review`・`design-security-review`・`implement`・`review-gate`・`fix-loop`・`test-gate`・`retro`・`close` | Skill ツールで同じ名前のスキルを呼ぶ(引数 `$ARGUMENTS`) |
| `human-test` | `docs/tests/open/$ARGUMENTS_manual_test.md` の Human の項目と、ここまでの「## 自律判断の記録」の要点を平易に提示し、「結果(OK、または NG と内容)を返信してください」と伝えて止まる |
| `merge` | close 段階がマージを依頼済み。「GitHub で Approve & Merge をお願いします」と伝えて止まる |
| `merge` | `bash scripts/claude/pr-base-sync.sh final` を流し、exit 0 のときだけ「GitHub で Approve & Merge をお願いします」と伝えて止まる。0 以外は close の手順 5.5 と同じに扱う |

段階のスキルが `STAGE_DONE:` を書かずに終わった(止める条件に当たって止まった)ときは、1. に戻らずにそのまま止まる(同じ段階を繰り返し呼ばない)。見分け方: 段階を呼ぶ前と後で `flow-stage.sh` の出力の `STAGE_COUNT:`(`STAGE_DONE:` 行の数)が増えていなければ、書かれていない(`LAST_LINE:` の行番号は、自律判断の記録に行を足すだけでずれるので見分けに使わない)。
6 changes: 3 additions & 3 deletions .claude/skills/retro/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ user-invocable: false
```bash
bash scripts/claude/code-review.sh --route issue $ARGUMENTS
```
- **一覧**: それ以外(Low、または再現なし)。イシューにせず、出力の行をそのまま `docs/reviews/backlog/$ARGUMENTS.md`(起点のイシューごとに 1 ファイル。無ければ作り、見出しは `docs/reviews/backlog/I206.md` と同じ形で「記録:」に標準エラーの記録のパスを書く)に貼り、手順 4 の「このイシューで直す」と同じく commit/push する:
- **一覧**: それ以外(Low、または再現なし)。イシューにせず、出力の行をそのまま `docs/reviews/backlog/$ARGUMENTS.md`(起点のイシューごとに 1 ファイル。無ければ作り、見出しは `docs/reviews/backlog/I206.md` と同じ形で「記録:」に標準エラーの記録のパスを書く)に貼り、手順 4 の「このイシューで直す」と同じく commit する:
```bash
bash scripts/claude/code-review.sh --route backlog $ARGUMENTS
```
Expand All @@ -165,7 +165,7 @@ user-invocable: false
- 手順 2.7 の 4 問による見送りは、この台帳の残りには使わない(判定は後続のイシューの計画、または一覧を見る計画で行う)。

4) 振り分けに従って対応する(ユーザーの判断は待たない):
- **このイシューで直す**: 記録の場所(`docs/reviews/`・`docs/tests/`・`docs/issues/`・`docs/plans/`)だけで済むものは、その場で直して commit/push する
- **このイシューで直す**: 記録の場所(`docs/reviews/`・`docs/tests/`・`docs/issues/`・`docs/plans/`)だけで済むものは、その場で直して commit する(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)
- **既存イシューに同梱**: 同梱先のイシュー(未着手のものを含む)に、改善案の要約・根本原因・予防策・対象ファイルをコメントする。本文は一時ファイルに書いて `gh issue comment <番号> --body-file <ファイル>` で付ける
- **採用(新規起票)**: Skill ツールで `issue-bootstrap` を呼ぶ(引数はタイトル。呼ぶときに「retro からの起票」であること・根本原因・予防策・対象ファイル・起点のイシュー番号を伝える。issue-bootstrap はこのとき質問せず、未確定は「未定・grill-me で確認」と書く)
- **見送り**: 何もしない(理由は記録に残す)
Expand All @@ -175,7 +175,7 @@ user-invocable: false

5) 記録: `docs/reviews/open/$ARGUMENTS_review.md` の「## 自律判断の記録」に、改善案ごとの振り分け(直した/同梱先 #番号/起票 I###・#番号/見送り)と理由を書く。手順 3 の平易版・詳細版の振り返りも同じファイルの「## 振り返り」に残す(close 段階のマージ依頼で、平易版をまとめて報告する)

6) 結線(必須): commit/push してから、`docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit/push する
6) 結線(必須): commit してから、`docs/reviews/open/$ARGUMENTS_review.md` の末尾に次の 1 行を足して commit する(push しない・`docs/runbooks/workflow.md`「GitHub への書き込みの時点」)
```
STAGE_DONE: retro NEXT: close
```
Loading
Loading