ワンクリックで
issue-start
イシュー着手時に使用。worktreeで分離された開発環境を構築し、Issue本文にメタ情報を追記する
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
イシュー着手時に使用。worktreeで分離された開発環境を構築し、Issue本文にメタ情報を追記する
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| description | イシュー着手時に使用。worktreeで分離された開発環境を構築し、Issue本文にメタ情報を追記する |
| name | issue-start |
イシュー対応を開始するためのworktreeをセットアップし、Issue本文にメタ情報を追記します。
| タイミング | このスキルを使用 |
|---|---|
| コード/ドキュメント変更を伴うイシュー着手 | ✅ 必須 |
| 設計のみ(ファイル変更なし) | ⚠️ 任意 |
| 調査・リサーチのみ | ❌ 不要 |
重要: PRを作成する際やイシュー対応でコミットが必要な場合、git branch ではなくこのスキルを使用してください。
$ARGUMENTS = <issue_id>
issue_id (必須): Issue番号 (例: 247 / local-pc1-3 / gh:153)第 2 引数は 廃止 されました(issue local-p1-17)。ブランチ prefix は
kaji issue context が返す branch_prefix(frontmatter branch_prefix →
type:* ラベル → chore fallback の優先順)から自動決定します。
kaji issue context <issue_id> の出力(provider.resolve_issue_context() が正本)から
取得する branch_name / worktree_dir をそのまま使います。
<branch_prefix>/<issue_id> (例: fix/247)<repo_root>/../kaji-<branch_prefix>-<issue_id> (例: ../kaji-fix-247)$ARGUMENTS から issue_id を取得してください。第 2 引数(旧 prefix)が
渡された場合は ABORT verdict を出して停止し、廃止アナウンスをユーザに返してください
(label / frontmatter からの自動導出に一本化されているため)。
system jq バイナリ依存を持ち込まないため、kaji issue context の -q (Python jq) を使う:
PREFIX=$(kaji issue context [issue_id] -q '.branch_prefix')
BRANCH=$(kaji issue context [issue_id] -q '.branch_name')
WT=$(kaji issue context [issue_id] -q '.worktree_dir')
worktree_dir は絶対パスで返ります。以降の手順では上記 3 変数を使います。
メインリポジトリのルートから実行:
MAIN_REPO=$(git rev-parse --show-toplevel)
git worktree add -b "$BRANCH" "$WT" main
main プロジェクトの .venv へのシンボリックリンクを作成:
ln -s "$MAIN_REPO/.venv" "$WT/.venv"
これにより make check が即座に実行可能になります。
.kaji/config.local.toml) シンボリックリンク作成.kaji/config.local.toml は gitignored のため git worktree add では worktree に転写されない。
overlay 不在の worktree では kaji CLI が .kaji/config.toml の provider.type=github 既定値で動き、
local-* / gl:N 形式 ID が拒否される(codex 等が worktree 配下で kaji issue comment を
叩けず、レビュー判定の Issue 記録が欠落する原因)。
main の overlay が存在する場合のみ、worktree の .kaji/ にシンボリックリンクで共有する:
if [ -f "$MAIN_REPO/.kaji/config.local.toml" ]; then
ln -sf "$MAIN_REPO/.kaji/config.local.toml" "$WT/.kaji/config.local.toml"
fi
-f で再作成を許容(既存 symlink を上書き)。.gitignore に登録済みのパスなので
worktree 側 git status には現れない。provider=github 運用では main にも overlay が
無いため何も起きない(既存挙動と等価)。
git worktree list
ワークツリーが正しく作成されたことを確認してください。
Issue本文の先頭にWorktree情報を追記します。本文合成は kaji 内部の決定的な
Python 経路(build_worktree_note_body)が担うため、エージェントは単一トークン
引数を 3 つ渡すだけでよい(multi-line 本文を自前で組み立てない):
WT_BASENAME=$(basename "$WT")
kaji issue prepend-note [issue_id] --worktree "$WT_BASENAME" --branch "$BRANCH" --commit
kaji issue prepend-note は現在の Issue 本文を取得し、> [!NOTE] メタブロックと
本文の間に 空行ちょうど 1 行 を保証して合成・更新する。blank line がエージェント
ではなく Python 文字列リテラルに固定されるため、どのモデルでも blockquote と本文
heading が密着しない(Issue #200)。--commit は local provider で issue.md を
atomic commit する(github では silent に無視)。
以下の形式で報告してください($PREFIX / $BRANCH / $WT の値で埋めること):
## Worktree セットアップ完了
| 項目 | 値 |
|------|-----|
| Issue | [issue_ref] |
| ブランチ | $BRANCH |
| ディレクトリ | ../$(basename "$WT") |
| 基点ブランチ | main |
| venv | シンボリックリンク作成済み |
| provider overlay | シンボリックリンク作成済み / 不要(main に未配置) |
| メタ情報 | Issue本文に追記済み |
### 次のステップ
このタスクに関する今後のコマンドは、すべて以下のディレクトリ内で実行してください:
cd ../$(basename "$WT")
### クリーンアップ(作業完了後)
作業が完了したら `/issue-close [issue_id]` を実行してください。
実行完了後、以下の形式で verdict を出力すること:
---VERDICT---
status: PASS
reason: |
Worktree 構築成功
evidence: |
worktree 作成、venv symlink 済み
suggestion: |
---END_VERDICT---
重要: verdict は stdout にそのまま出力 すること。Issue コメントや Issue 本文更新とは別に、最終的な verdict ブロックは stdout に残す。
| status | 条件 |
|---|---|
| PASS | Worktree 構築成功 |
| ABORT | 構築失敗 / 第 2 引数(旧 prefix)が渡された |
設計書(draft/design/)に基づき、TDD(テスト駆動開発)アプローチを用いて機能を実装する。
実装完了後の成果物に対し、設計整合性とコード品質の観点から厳格なレビューを実施する
Issue 作成後・workflow 起動前に人間が明示起動する要件 interview。one-way door を含みうる重要な Issue で、未決の decision tree を 1 問ずつ推奨案付きで確認し、決定事項と provenance を Issue に固定するときだけ使用する。軽微な Issue や workflow 実行中には自動起動しない。
第2層のインシデント調査レビュー収束サイクルを 1 コマンドで手動起動する slash command wrapper。kaji run .kaji/wf/official/incident.yaml <incident_issue_id> を Bash 経由で起動し、exit code を verdict に縮約する。
Issue要件に基づき、draft/design/に設計書を作成する。worktree内での作業が前提。
ワークフローを手動実行して検証し、失敗時は継続せず原因を調査して Issue に記録する。成功時も気づきや詰まりどころを Issue に記録する。