Skip to content

Commit 578ef80

Browse files
committed
✨ feat: Add GitHub conversation skill documentation for effective PR/issue communication
1 parent ab55381 commit 578ef80

1 file changed

Lines changed: 191 additions & 0 deletions

File tree

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
---
2+
name: github-conversation
3+
description: Practical workflow for agents to read GitHub PR/issue context and communicate effectively with evidence, clear status, and low noise.
4+
metadata:
5+
primary-tools:
6+
- gh-llm
7+
- gh
8+
---
9+
10+
# GitHub Conversation
11+
12+
## Use this skill when
13+
14+
1. You need to read a PR/issue before replying.
15+
2. You need to reply to comments or review threads.
16+
3. You need to submit a review.
17+
4. You need to post a status update that closes loops.
18+
19+
## Tool split
20+
21+
1. Use `gh-llm` for reading context (timeline, collapsed items, review threads, checks).
22+
2. Use `gh` for simple write actions (comment, labels, assignees, reviewers, close/reopen, merge).
23+
3. If context is incomplete, do not reply yet; expand first.
24+
25+
## Install gh-llm
26+
27+
Prerequisites:
28+
29+
1. `gh` is installed and authenticated (`gh auth status`).
30+
2. Python 3.14+ is available if installing via `uv`.
31+
32+
Install option A (recommended for CLI tool use):
33+
34+
```bash
35+
uv tool install gh-llm
36+
gh-llm --version
37+
```
38+
39+
Install option B (GitHub CLI extension):
40+
41+
```bash
42+
gh extension install ShigureLab/gh-llm
43+
gh llm --version
44+
```
45+
46+
Command prefix mapping:
47+
48+
1. If installed via `uv tool`, use `gh-llm ...`.
49+
2. If installed as `gh` extension, use `gh llm ...`.
50+
51+
## Fast start
52+
53+
### Read a PR
54+
55+
```bash
56+
gh-llm pr view <pr> --repo <owner/repo>
57+
gh-llm pr timeline-expand <page> --pr <pr> --repo <owner/repo>
58+
gh-llm pr review-expand <PRR_id[,PRR_id...]> --pr <pr> --repo <owner/repo>
59+
gh-llm pr checks --pr <pr> --repo <owner/repo>
60+
```
61+
62+
### Read an issue
63+
64+
```bash
65+
gh-llm issue view <issue> --repo <owner/repo>
66+
gh-llm issue timeline-expand <page> --issue <issue> --repo <owner/repo>
67+
```
68+
69+
### Write simple updates
70+
71+
```bash
72+
gh pr comment <pr> --repo <owner/repo> --body '<comment>'
73+
gh issue comment <issue> --repo <owner/repo> --body '<comment>'
74+
gh pr edit <pr> --repo <owner/repo> --add-label '<label1>,<label2>'
75+
gh pr edit <pr> --repo <owner/repo> --remove-label '<label1>,<label2>'
76+
gh pr edit <pr> --repo <owner/repo> --add-reviewer '<reviewer1>,<reviewer2>'
77+
gh pr edit <pr> --repo <owner/repo> --add-assignee '<assignee1>,<assignee2>'
78+
```
79+
80+
## Reading workflow (required before replying)
81+
82+
### 1) Build context map
83+
84+
Identify:
85+
86+
1. Current goal of this PR/issue.
87+
2. Open requests not yet addressed.
88+
3. Decisions already made.
89+
4. Linked PRs/issues that affect this thread.
90+
91+
### 2) Expand hidden context
92+
93+
Expand collapsed timeline pages and relevant review threads before replying.
94+
95+
### 3) Check delivery state
96+
97+
For PRs, check:
98+
99+
1. CI/check failures.
100+
2. Mergeability/conflicts.
101+
3. Unresolved review threads.
102+
103+
## Reply workflow
104+
105+
### 1) Reply to one thread with one intent
106+
107+
A single reply should answer the target point only.
108+
Do not mix unrelated updates.
109+
110+
### 2) Be verifiable
111+
112+
When making technical claims, include at least one concrete reference:
113+
114+
1. `path:line`
115+
2. commit hash
116+
3. check/log link
117+
4. reproduction command
118+
119+
### 3) Quote only when needed
120+
121+
Use `>` when:
122+
123+
1. the original comment has multiple points
124+
2. the thread is long and reference is ambiguous
125+
3. you are answering a specific sentence fragment
126+
127+
For short one-to-one replies, no quote is needed.
128+
129+
### 4) State status clearly
130+
131+
Use plain status language:
132+
133+
1. fixed
134+
2. partially fixed
135+
3. not fixed yet
136+
4. intentionally unchanged
137+
138+
If partially fixed or unchanged, include reason and next step.
139+
140+
## Review workflow
141+
142+
### As reviewer
143+
144+
1. Separate blocking vs non-blocking points.
145+
2. Give actionable suggestions.
146+
3. Point to exact location when possible.
147+
4. Avoid generic criticism without concrete evidence.
148+
149+
### As PR author
150+
151+
1. Expand and read all relevant review content.
152+
2. Address items one by one.
153+
3. Reply to each addressed thread.
154+
4. Resolve a thread only after fix/decision is actually complete.
155+
5. Post one concise round-up after a batch of fixes.
156+
157+
## Issue workflow
158+
159+
### Opening an issue
160+
161+
Include:
162+
163+
1. Problem statement.
164+
2. Minimal reproduction.
165+
3. Expected vs actual behavior.
166+
4. Environment details.
167+
5. Logs/traceback/screenshots.
168+
6. Related links.
169+
170+
### Maintaining a busy issue
171+
172+
1. Ask for missing repro info instead of guessing.
173+
2. Link duplicates to the canonical thread.
174+
3. Keep one canonical status update comment.
175+
176+
## Quality gates before posting
177+
178+
1. Is context complete (including expanded hidden/collapsed content)?
179+
2. Does the message move the thread forward?
180+
3. Are key claims backed by verifiable evidence?
181+
4. Does tone and granularity match this repository?
182+
183+
## Co-author and credit
184+
185+
When a reviewer's concrete code change is substantially adopted, add:
186+
187+
```text
188+
Co-authored-by: <Reviewer Name> <reviewer_email>
189+
```
190+
191+
Use GitHub-linked email if attribution on GitHub is desired.

0 commit comments

Comments
 (0)