بنقرة واحدة
log-ai-conversation
AIとの会話をまとめてGitHub IssueまたはPull Requestにコメントとして追加する。手動で呼び出して使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
AIとの会話をまとめてGitHub IssueまたはPull Requestにコメントとして追加する。手動で呼び出して使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
tmuxセッション内で実際のNeovimを起動し、send-keys / capture-pane で操作・観察してデバッグする。 Neovimの起動確認、プラグインエラーの調査、checkhealthの確認、設定変更の動作確認、 「nvimをデバッグして」「起動確認して」「checkhealth見て」などのリクエストで使用する。 Agentがnvimを直接実行する必要が生じた場合も、必ずこのスキルの手順を使うこと。
AIとの会話を、ユーザーの思考メモ(Self)も含めてGitHub IssueまたはPull Requestにコメントとして追加する実験版。手動で呼び出して使用。
タスクについて詳細に調査し、構造化されたまとめを出力する。ultrathinkモードで深く考察し、背景、期限、過去の対応方法、確認事項を調査。すべての情報に出典リンクを明記し、推測は必ず明示する。
会話文脈から GitHub issue を作成する。「issueを作って」「issue立てて」等のリクエストで使用。本文は「背景 / やりたいこと / 配慮してほしいこと」の3セクション構成。「背景・やりたいこと」は背景と What(何をやりたいか)に集中し How(実装方法)は書かない。「配慮してほしいこと」は任意(省略可)で制約・要望を書く。
AI Agentの説明で理解できない部分を、前提知識なしで噛み砕いて説明する。会話中にその場で呼び出して使う。用語の定義と、なぜそれが重要かを中心に解説する。
Agentの作業を止めずに済む場面でtmuxを活用する。判断軸は「このコマンドの完了を同期的に待つとAgentの作業が止まるか」。止まらない(数秒で終わる確認コマンド)ならBash直接。止まるが管理不要(所要時間が不確実、一度きりの非同期実行)ならtmux直接利用(tmux new-session -d)。止まる上に管理も必要(長時間ビルド・テスト・dev server・watcher・並列検証・対話的CLI・ログ永続化)ならこのスキルを呼び出してジョブ管理する。
| name | log-ai-conversation |
| description | AIとの会話をまとめてGitHub IssueまたはPull Requestにコメントとして追加する。手動で呼び出して使用。 |
| allowed-tools | Bash, Read, Write, mcp__acp__Read, WebFetch |
| argument-hint | [--confirm] |
| disable-model-invocation | true |
現在の会話をまとめて、GitHub IssueまたはPull Requestにコメントとして追加します。
このスキルは以下のいずれかで呼ばれます:
/log-ai-conversation を実行(フォアグラウンド実行)AgentClaudeLogConversation コマンド経由で fork 先セッション内で実行(バックグラウンド実行)後者の場合、メインセッションは fork 先を分割ペインで起動した直後に会話を継続できます。fork 先はこのスキルを実行し、完了後も終了せずペインに残ります(ユーザーが確認後に閉じる)。いずれの呼び出しでも、スキル本体の処理は同じです。
octo://で始まるバッファ)が開いている場合
判断基準:
## {トピック} で見出しをつける省略しすぎない。以下の要素を含めることをデフォルトとする:
「後から読み返して、何をなぜどうやったか再現できる」レベルを目指す。要約ではなく記録。
直前コメントの確認コマンド:
# Issueの場合(直近2件)
gh issue view {number} --repo {owner/repo} --json comments --jq '.comments[-2:]'
# PRの場合(直近2件)
gh pr view {number} --repo {owner/repo} --json comments --jq '.comments[-2:]'
コードブロック + GitHub permalinkを併記する:
-- コード内容
https://github.com/{owner}/{repo}/blob/{commit}/{path}#L{start}-L{end}
permalinkのみを<details>で折りたたむ:
# コミットハッシュを取得
git log -1 --format='%H' -- {file_path}
# リモートURLからowner/repoを取得
git remote get-url origin | sed 's|.*github.com[:/]||' | sed 's|\.git$||'
--confirm 指定時(確認あり): ファイルに書き出し、パスを提示したあと、ユーザーの承認を得てから投稿する引数の判定は args に --confirm が含まれているかで行う。
コメント本文は必ず一時ファイルに書き出す。エスケープの罠(バックティック・$ 展開)を構造的に回避するため、gh にはファイル経由(-F)で渡す。HEREDOCは使わない。
# ファイルパスは投稿先に応じて命名(上書き前提・投稿後も残す)
body_file="/tmp/log-ai-conversation-${type}-${number}.md" # type: issue | pr
本文の書き出しは Write ツールで行う。
書き出した本文ファイルのパスをチャットに提示する。Neovimで開いて内容を確認・修正できるようにするため:
コメント本文: /tmp/log-ai-conversation-issue-123.md
Neovimで開く場合(ユーザー側の操作):
:e /tmp/log-ai-conversation-issue-123.md
確認モードに応じて実行タイミングを切り替える:
--confirm: ユーザーに「このコメントを{Issue/PR} #{number} に追加してよいですか?」と確認し、承認した場合のみ実行# Issueの場合
gh issue comment {number} --repo {owner/repo} -F "${body_file}"
# PRの場合
gh pr comment {number} --repo {owner/repo} -F "${body_file}"
投稿後は投稿先URLとファイルパスを併せて提示する(あとから Neovim で本文を確認できるよう、ファイルは残す)。
以下はlazygitのworktree操作についてAIと会話した内容をまとめた例です。
## lazygitでworktree viewが表示されない
lazygitでworktree viewが表示されない問題を調査した。
設定ファイルを確認したところ、`]`/`[`でタブ移動してWorktreesタブへアクセスできることがわかった。
また、設定ファイルにtypoがあることも発見した。
```yaml
screenMode: "normal" # "nomarl" から修正
```
https://github.com/happy663/dotfiles/blob/xxx/conf/.config/lazygit/config.yml#L6
参考:
- https://raw.githubusercontent.com/jesseduffield/lazygit/master/docs/keybindings/Keybindings_ja.md
## lazygit終了後にworktreeのディレクトリが反映されない
Neovim経由でlazygitを使っているため、lazygit内でworktreeを切り替えても親シェルのcwdは変わらない。
次回起動時に元のディレクトリから始まってしまう問題があった。
`LAZYGIT_NEW_DIR_FILE`を使ってlazygit終了時にNeovimのcwdを同期する処理を追加した。
```lua
local lazygit_new_dir_file = vim.fn.stdpath("state") .. "/lazygit-newdir"
vim.env.LAZYGIT_NEW_DIR_FILE = lazygit_new_dir_file
local function sync_cwd_from_lazygit()
if vim.fn.filereadable(lazygit_new_dir_file) ~= 1 then
return
end
local lines = vim.fn.readfile(lazygit_new_dir_file)
pcall(vim.fn.delete, lazygit_new_dir_file)
local new_dir = lines[1]
if not new_dir or new_dir == "" or vim.fn.isdirectory(new_dir) ~= 1 then
return
end
vim.cmd("cd " .. vim.fn.fnameescape(new_dir))
end
```
https://github.com/happy663/dotfiles/blob/xxx/conf/.config/nvim/lua/plugins/git/lazygit.lua#L20-L37
qで終了すると反映され、Shift+Qだと反映しない。
## worktreeとbranchの違いがわからなかった
「同じmainを複数worktreeで同時checkoutできない」の意味が最初わからなかった。
何度か質問して理解した内容:
- worktreeは「作業ディレクトリ」を増やすもの
- branchは「履歴の線」で、worktreeごとに1つチェックアウトする
- 同じブランチ名を複数worktreeで同時に使うことはGitが禁止している
つまり:
- OK: ~/dotfiles = main, ~/dotfiles-wt = feat/x
- OK: ~/dotfiles = main, ~/dotfiles-wt = detached(mainのコミット)
- NG: ~/dotfiles = main, ~/dotfiles-wt = main