Linearのサブチケット(実装タスク)を受け取り、mainブランチからブランチを作成してコードを実装し、コミット・プッシュ・ドラフトPRまでを一貫して行う。 このスキルはユーザーが「このチケットを実装して」「PROJ-XXXXを実装して」「PROJ-XXXXに取りかかりたい」「このチケットのコードを書いて」「実装を始めて」「/implement-ticket PROJ-XXXX」など、Linearチケットに基づくコーディング作業を求めたときに積極的に使うこと。 チケットIDを指定してコードの実装・開発・着手を求められたら、このスキルの出番。ブランチ作成からPR作成まで一気通貫で対応できる。
指定された Linear サブチケット(実装タスク)の内容に基づき、ブランチを作成してコードを実装し、ドラフト PR を作成するまでを一貫して行う。
例1: 「GLU-456を実装して」 → GLU-456 のチケット情報を取得し、ブランチ作成 → コードベース調査 → 実装 → コミット → プッシュ → ドラフトPR作成まで行う。
例2: 「このチケットに取りかかりたい」(会話中にチケットIDが出ている場合) → 会話中のチケットIDを使って実装フローを開始する。
例3: 「GLU-789の実装を始めて。認証周りの修正だから慎重にやって」 → チケット情報を取得し、コードベース調査で認証関連のファイルを特定してから実装方針をユーザーに確認し、着手する。
$ARGUMENTS からチケットID(例: PROJ-1234)を読み取る。未指定ならユーザーに聞く。
linear api で対象チケットと親チケットの情報を取得する。searchIssues(term: ..., first: 1) を使う。
linear api '
query {
searchIssues(term: "<チケットID>", first: 1) {
nodes {
id
identifier
title
description
url
state { name type }
assignee { name }
team { key id }
parent {
identifier
title
description
}
labels { nodes { name } }
}
}
}
'
取得した情報を表示:
チケットのタイトル・description・親チケット情報からキーワードを抽出し、コードベースを調査する。
調査結果をユーザーに報告:
プロジェクトルートで最新の main ブランチからブランチを切る。
# プロジェクトのgitルートへ移動
cd $(git rev-parse --show-toplevel)
# mainを最新に更新
git checkout main
git pull origin main
# ブランチを作成(チケットIDと作業内容を組み合わせた名前)
# 例: feature/proj-1234-add-user-profile
git checkout -b feature/<ticket-id-lowercase>-<descriptive-words>
ブランチ名の規則:
proj-1234)- 区切りで付けるfeature/proj-1234-add-user-profileチケットの内容に基づき、コードを実装する。
/commit スキルでコミットする実装の進め方:
各コミットは /commit スキルを使って行う。
# 実装完了後にプッシュ
git push -u origin <ブランチ名>
gh コマンドでドラフト PR を作成する。
PRのタイトル: [チケットID] チケットタイトル(例: [PROJ-1234] ユーザープロフィール表示の改善)
PRのdescriptionはプロジェクトの PR テンプレート(.github/pull_request_template.md)があればそれを読み込んで使う。なければ以下のフォーマットに従う:
### 背景
Linear: <Step 1で取得したチケットのurl>
(背景・目的)
### 変更内容
(何をどう変更したかを具体的に記載)
### 確認した内容
(動作確認した内容を箇条書き)
gh pr create \
--title "[<チケットID>] <チケットタイトル>" \
--body "$(cat <<'EOF'
(上記テンプレートを埋めた内容)
EOF
)" \
--draft
以下をユーザーに報告する: