skills/learn-gw-pr/SKILL.md
06-02 PR 作成。gh pr create → attach_pr → upsert_task(status 'in_review') の全フローを体験する。
npx skillsauth add novel-jp/projsight-plugin learn-gw-prInstall 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.
PR(Pull Request)を作成し、ProjSight のタスクに紐づける全フローを体験する演習です。
所要時間: 約 45 分
前提: /learn-gw-branch(06-01)完了済み
スキル対応: Git Workflow(チーム開発フロー)
「PR はコードレビューの起点であり、品質管理の要です。
ProjSight ワークフローでは、PR の作成からレビュー依頼までを一貫して管理します:
1. gh pr create — PR を作成
2. attach_pr — タスクに PR を紐づけ
3. upsert_task(status: 'in_review') — レビュー待ちに変更
4. Slack 通知が自動発火 — レビュアーに通知」
learn-workspace/ ディレクトリが存在し、git リポジトリが初期化されているtask/<number>-<slug> 形式)が存在するlearn-workspace/ 内にファイルがある場合とない場合がある受講者の作業ディレクトリに learn-workspace/ があることを確認する。
なければ作成し、git リポジトリを初期化する:
mkdir -p learn-workspace && cd learn-workspace && git init
list_tasks で学習プロジェクトのタスクを確認する。
06-01 で作成したタスクがあればそれを使用する。なければこの場で学習用タスクを作成する:
upsert_task(projectId, title: 'PR作成フロー体験', deliverableId, description: ...)
PR を作成するには GitHub リモートが必要。 リモートが設定されていない場合は、受講者に GitHub リポジトリの作成を案内する。
「PR 演習には GitHub リポジトリが必要です。
学習用リポジトリがまだない場合は、以下のコマンドで作成できます:
gh repo create learn-workspace --private --source=. --push」
補足:
--source=.は現在のディレクトリを GitHub リポジトリのソースとして指定するオプションです。ローカルの既存リポジトリをそのまま GitHub に公開できます。
06-01 で作成したブランチ(またはこの演習用の新しいブランチ)で作業する。
learn-workspace/ に以下のファイルを作成してください:
// learn-workspace/utils.js
function add(a, b) {
return a + b;
}
module.exports = { add };
PR フローの体験が目的なので、変更内容はシンプルで構いません。
git add learn-workspace/utils.js
git commit -m "feat: add utility function"
git push -u origin <ブランチ名>
補足:
-u(--set-upstream)は、ローカルブランチとリモートブランチの追跡関係を設定します。次回からgit pushだけでこのブランチにプッシュできるようになります。
gh pr create で PR を作成する。
「PR の description は以下の構造で書きましょう:
## Summary
- 変更内容の要約(1-3 箇条書き)
## Test plan
- テスト方法のチェックリスト
良い PR description は、レビュアーが『何を見ればいいか』を即座に理解できるものです。」
PR を Step 2 で確認したタスクに紐づける:
attach_pr(taskId, url) で PR URL をタスクに登録upsert_task(taskId, status: 'in_review') でレビュー待ちに変更「attach_pr + upsert_task(status: 'in_review') のセットが ProjSight ワークフローの重要なステップです。
これにより:
- Slack 通知(task.in_review)が発火し、PR リンク付きでレビュアーに通知される
- Web UI でタスクのステータスが『レビュー待ち』に変わる
- PR とタスクのトレーサビリティが確保される
なお、attach_pr が手動なのは設計上の意図です(DR-0091)。
Webhook による自動化ではなく、AI エージェントが明示的にコンテキストを管理することで、正確な紐づけを保証しています。」
GitHub リモートがない場合: PR 作成はシミュレーションで実施します。
- PR のタイトルと description を notes に記録する
attach_pr(taskId, url: 'https://github.com/example/learn-projsight/pull/1')でダミー URL を登録upsert_task(taskId, status: 'in_review')でステータスを更新これにより ProjSight ワークフローの全ステップを体験できます。 通知の実際の発火は本番環境で確認できます。ここではワークフローの手順を体験することが目的です。
「PR 作成フローのまとめ:
1. ブランチで作業 → コミット → プッシュ
2. gh pr create — 構造化された description を書く
3. attach_pr — ProjSight タスクに紐づけ
4. upsert_task(status: 'in_review') — レビュー待ちに変更
ポイント:
- PR description はレビュアーへの『コンテキスト提供』— Context Engineering の実践
- attach_pr を忘れると complete_work 時に suggestion が出る
- AI エージェントもこのフローに従う — 人間と AI の協働ルール
この PR は次の /learn-gw-review(06-03)でレビュー対応・マージ・complete_work まで進めます。
タスクは 'in_review' のまま残しておきましょう。」
tools
タスクを作成・紐づけ・開始する。コーディング前に必ずこのコマンドを実行すること。
data-ai
AI ガイド付きリスクアセスメント。未対応リスクを1件ずつレビューし、選択肢・推奨・具体的対応内容を提示する。
tools
タスク記述の品質をレビューし、改善提案を出す。学習・本番共用の汎用スキル。
testing
DR(Decision Record)の品質をレビューし、改善提案を出す。学習・本番共用の汎用スキル。