github-comment-quality

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

GitHub Comment & Communication Quality Standards

GitHub 评论与沟通质量标准

Core Philosophy

核心理念

GitHub text is technical communication with reviewers and collaborators, not an internal scratchpad, proof-of-work ledger, or bot execution diary.
Write for the human reader: deliver the outcome, essential technical rationale, and verification tersely. Respect reviewer bandwidth by answering the question or fixing the issue with the minimal words needed.
GitHub 文本是与评审者和协作者进行技术沟通的载体,不是内部草稿本、工作过程台账或机器人执行日志。
面向人类读者:简洁地给出结果、必需的技术依据和验证信息。以最少的文字回答问题或解决问题,尊重评审者有限的注意力。

Authorization & Scope Boundaries

授权与范围边界

  • Drafting vs. posting: Drafting text does not authorize posting it unless the user explicitly requested the action (e.g. "open a PR", "reply to the review", or "file an issue"). Do not post unprompted comments or create unrequested issues.
  • Do not auto-create tangential issues: When discovering an unrelated bug or CI gap during a task, flag it locally or ask the user whether to file an issue. Never automatically create new issues without user authorization.

  • 起草与发布: 起草文本并不代表获准发布,除非用户明确要求执行相关操作(例如“open a PR”“reply to the review”或“file an issue”)。不得未经提示发表评论或创建用户未要求的 issue。
  • 不要自动创建旁支 issue: 在任务中发现无关 bug 或 CI 缺口时,应在本地标记,或询问用户是否创建 issue。未经用户授权,绝不自动创建新 issue。

The 8 GitHub Communication Anti-Patterns

GitHub 沟通的 8 种反模式

1. The "Development Diary" PR Description

1. “开发日志”式 PR 描述

  • Anti-Pattern: Turning the PR body into a narrative journal of everything thought, tried, measured, and discarded (e.g. multi-paragraph design essays, discarded alternatives, benchmark replicas, and obsolete drafting history).
  • Rule: A PR body documents the current state of the branch, not the historical drafting journey. Keep it focused:
    • Summary: 1-2 bullet points on the user-visible or architectural change.
    • Key Changes: Concrete implementation details (only if non-obvious).
    • Verification: Specific tests added/passed and manual checks (no raw terminal dumps).
    • Fixes: Issue references.
    • (For small, 1-3 line changes, a 1-2 sentence description without section headings is preferred).
  • ❌ (500-word essay explaining rejected library dependencies, how test harnesses were configured, and pasting 40 lines of terminal output)
  • ✅
    markdown
    Fixes #72
    
    ## Summary
    
    - Initialize upstream MCP servers concurrently during startup rather than serially.
    - Bounds startup latency to the slowest single upstream server.
    
    ## Changes
    
    - Launch each configured upstream in its own goroutine and merge results deterministically by sorted server name.
    - Retain child process handles to ensure clean process termination on shutdown.
    
    ## Verification
    
    - Added unit tests for concurrent launch timing and deterministic tool ordering.
    - Local benchmark: 9 upstreams initialize in 9.7s (down from 31.1s serial).
    - `go test -race ./...` passes.
  • 反模式: 把 PR 正文写成关于所有思考、尝试、测量和弃用方案的叙事日志(例如多段设计论文、被否决的备选方案、基准测试复现过程和过时的起草历史)。
  • 规则: PR 正文应记录分支的当前状态,而不是起草过程的历史。内容应保持聚焦:
    • 摘要: 用 1 到 2 个要点说明用户可见或架构层面的变化。
    • 关键变更: 仅在不明显的情况下提供具体实现细节。
    • 验证: 说明具体新增或通过的测试以及手动检查(不要粘贴原始终端输出)。
    • 修复: 关联 issue。
    • (对于只有 1 到 3 行的小改动,优先使用不带章节标题的 1 到 2 句话描述。)
  • ❌ (用 500 词解释为何弃用某些库依赖、如何配置测试工具,并粘贴 40 行终端输出)
  • ✅
    markdown
    Fixes #72
    
    ## Summary
    
    - Initialize upstream MCP servers concurrently during startup rather than serially.
    - Bounds startup latency to the slowest single upstream server.
    
    ## Changes
    
    - Launch each configured upstream in its own goroutine and merge results deterministically by sorted server name.
    - Retain child process handles to ensure clean process termination on shutdown.
    
    ## Verification
    
    - Added unit tests for concurrent launch timing and deterministic tool ordering.
    - Local benchmark: 9 upstreams initialize in 9.7s (down from 31.1s serial).
    - `go test -race ./...` passes.

2. Disproportionate & Compliance-Obsessed Review Replies

2. 篇幅失衡且过度追求合规的评审回复

  • Anti-Pattern: Responding to a 1-line review comment with a multi-paragraph compliance report detailing every rule followed, repeating diffs, and quoting the prompt.
  • Rule (Proportionality): Deliver the shortest response that conveys the decision-changing facts or applied fix.
    • Routine fix: 1 line + commit SHA.
    • Technical constraint / disagreement: State the concrete invariant, constraint, or test evidence directly without entering into philosophical debates or meta-arguments.
  • ❌
    text
    Ran both humanizer and comment-and-documentation-quality skills on the guide. Flagged bold-spam (§15), announcing the next point (§28), repetition (§11), and stripped em dashes under Anti-Pattern 1 in commit 7dfe483...
  • ✅
    Updated in 7dfe483. Removed the MCP server comparison and tightened the wording. Build and tests pass.
  • 反模式: 针对 1 行评审意见回复多段合规报告,详述遵循的每条规则、重复 diff 并引用 prompt。
  • 规则(比例原则): 用能够传达决策相关事实或已应用修复的最短回复。
    • 常规修复: 1 行说明 + commit SHA。
    • 技术约束或异议: 直接说明具体的不变量、约束或测试证据,不要进行哲学讨论或元争论。
  • ❌
    Ran both humanizer and comment-and-documentation-quality skills on the guide. Flagged bold-spam (§15), announcing the next point (§28), repetition (§11), and stripped em dashes under Anti-Pattern 1 in commit 7dfe483...
  • ✅
    Updated in 7dfe483. Removed the MCP server comparison and tightened the wording. Build and tests pass.

3. Explaining "Why I Made the Mistake" (Defensive Post-Mortems)

3. 解释“我为什么犯错”(防御性事后复盘)

  • Anti-Pattern: Explaining how the model hallucinated, got confused by precedent code, or made an incorrect assumption.
  • Rule: Nobody needs a post-mortem of AI confusion. Report the correction directly.
  • ❌
    text
    The URL split was my mistake. I carried over the Home Assistant case where aiohttp 404s on the slash variant, and assumed the same applied here without checking. Reverted in b64a2fd...
  • ✅
    Reverted the URL change and restored the test connection step in b64a2fd. The HTTP endpoint on 27123 remains the default.
  • 反模式: 解释模型如何产生幻觉、如何被既有代码搞混,或如何作出了错误假设。
  • 规则: 没人需要一份关于 AI 困惑的复盘。直接报告修正。
  • ❌
    The URL split was my mistake. I carried over the Home Assistant case where aiohttp 404s on the slash variant, and assumed the same applied here without checking. Reverted in b64a2fd...
  • ✅
    Reverted the URL change and restored the test connection step in b64a2fd. The HTTP endpoint on 27123 remains the default.

4. Emotional & Meta-Commentary (Self-Evaluation)

4. 情绪化与元评论(自我评价)

  • Anti-Pattern: Self-evaluating performance or narrating intent:
    • "Fair hit on all three."
    • "I can name how it got there."
    • "That is not a bot failing to converge."
    • "Deliberately minimal..."
  • Rule: Delete performative self-evaluation, defensive remarks, and emotional framing. Keep comments technical, neutral, and direct. (Brief professional courtesy when acknowledging a mistake is acceptable).
  • ❌
    Fair hit on all three. You are right that I argued the point instead of doing it, and that citing other guides was the wrong move.
  • ✅
    Updated in 74f9283. Removed all em dashes across the guides and tightened the setup instructions.
  • 反模式: 自我评价表现或叙述意图:
    • “三点都说得对。”
    • “我能解释它是如何发生的。”
    • “这不是机器人无法收敛的问题。”
    • “刻意保持精简……”
  • 规则: 删除表演式自我评价、防御性言论和情绪化措辞。评论应保持技术性、中立、直接。(在承认错误时,可以简要表达专业礼节。)
  • ❌
    Fair hit on all three. You are right that I argued the point instead of doing it, and that citing other guides was the wrong move.
  • ✅
    Updated in 74f9283. Removed all em dashes across the guides and tightened the setup instructions.

5. Bot Signatures, Watermarks & Generated-By Footers

5. 机器人签名、水印与生成者页脚

  • Anti-Pattern: Appending
    _Generated by Claude Code_
    ,
    _Reviewed by OpenAI Codex_
    , or model watermarks.
  • Rule: Never include voluntary "Generated by", "Automated by", or tool attribution footers in PRs, issues, or comments.
  • ❌
    Fixed the typo in 3a1b2c3.\n\n---\n_Generated by Claude Code_
  • ✅
    Fixed the typo in 3a1b2c3.
  • 反模式: 在内容末尾附加
    _Generated by Claude Code_
    、
    _Reviewed by OpenAI Codex_
    或模型水印。
  • 规则: 绝不在 PR、issue 或评论中加入主动附加的“Generated by”“Automated by”或工具署名页脚。
  • ❌
    Fixed the typo in 3a1b2c3.\n\n---\n_Generated by Claude Code_
  • ✅
    Fixed the typo in 3a1b2c3.

6. Standalone Verification Noise

6. 独立验证噪声

  • Anti-Pattern: Leaving comments on public issues or PRs that only narrate local session activity without advancing the review (e.g. dumping raw
    go test
    output or announcing that a local check ran when no action is needed).
  • Rule: Include verification summaries inside the PR body or review response. Do not post standalone execution transcripts.
  • ❌
    text
    I merged this branch onto main in a throwaway worktree and verified it locally:
    $ go test -race ./...
    ok github.com/dvcrn/mcpnest/internal/app 7.846s
  • ✅ (Include in PR body or relevant review response instead:
    Verified locally with go test -race ./...
    )
  • 反模式: 在公开 issue 或 PR 中发表评论,却只叙述本地会话活动,对评审没有推进作用,例如粘贴原始
    go test
    输出,或在无需任何操作时宣布运行了本地检查。
  • 规则: 将验证摘要放入 PR 正文或评审回复中。不要单独发布执行记录。
  • ❌
    text
    I merged this branch onto main in a throwaway worktree and verified it locally:
    $ go test -race ./...
    ok github.com/dvcrn/mcpnest/internal/app 7.846s
  • ✅ (改为在 PR 正文或相关评审回复中注明:
    Verified locally with go test -race ./...
    )

7. Tangential Findings & Scope Creep

7. 旁支发现与范围蔓延

  • Anti-Pattern: Appending unrelated bugs, CI failures, or observations found in other parts of the repo into a specific PR or review thread.
  • Rule: Keep every PR and review thread scoped strictly to its own subject. Flag tangential issues locally or ask the user before filing a separate issue.
  • ❌
    Fixed the query parameter in 4b5c6d7. Also noticed that GitHub Actions CI configuration in .github/workflows/ci.yml is missing a Go cache step, which might slow down builds.
  • ✅
    Fixed the query parameter in 4b5c6d7. Tests pass.
  • 反模式: 将任务期间发现的其他无关 bug、CI 故障或观察结果追加到特定 PR 或评审讨论中。
  • 规则: 每个 PR 和评审讨论都应严格限定在自身主题内。对于旁支问题,应在本地标记,或在创建独立 issue 前询问用户。
  • ❌
    Fixed the query parameter in 4b5c6d7. Also noticed that GitHub Actions CI configuration in .github/workflows/ci.yml is missing a Go cache step, which might slow down builds.
  • ✅
    Fixed the query parameter in 4b5c6d7. Tests pass.

8. Describing What You Deliberately Did Not Do

8. 描述你刻意没有做的事情

  • Anti-Pattern: Listing hypothetical tasks that were not done ("One thing I did not do...", "I did not touch older files...", "I left that open...").
  • Rule: Only mention an omission if it represents a genuine pending decision or known limitation the reviewer must evaluate.
  • ❌
    I did not touch the older guides beyond the dashes because antigravity-sync-macos is 162 words and reads thin.
  • ✅ (Preserving a real technical limitation)
    This change kills direct child processes on cancellation. Process-group cleanup for grandchildren is not yet handled and should be addressed in a follow-up.

  • 反模式: 罗列假设性但未完成的任务(“有一件事我没做……”“我没有修改旧文件……”“我把那个问题留着了……”)。
  • 规则: 只有当遗漏代表真正待决事项或评审者必须评估的已知限制时,才可以提及。
  • ❌
    I did not touch the older guides beyond the dashes because antigravity-sync-macos is 162 words and reads thin.
  • ✅ (保留真实的技术限制)
    This change kills direct child processes on cancellation. Process-group cleanup for grandchildren is not yet handled and should be addressed in a follow-up.

Technical Precision & Factual Accuracy

技术精确性与事实准确性

  1. Never fabricate claims or evidence: Do not invent test passes, benchmarks, commits, issue numbers, or verification steps. Do not claim a fix was applied unless it was committed and pushed.
  2. Preserve technical uncertainty: Do not turn
    may
    into
    will
    ,
    typically
    into
    always
    , or an experimental observation into a universal guarantee.
  3. Give each fact one home: Do not duplicate the same investigation across the PR body, review thread, status comment, and final summary.
  4. Preserve technical jargon: Use precise technical vocabulary (e.g. race condition, mutex contention, atomic swap, WAL mode); do not over-explain basic language semantics.

  1. 绝不捏造主张或证据: 不要虚构测试通过、基准测试结果、commit、issue 编号或验证步骤。除非修复已经提交并推送,否则不要声称已应用修复。
  2. 保留技术不确定性: 不要把
    may
    改成
    will
    ,把
    typically
    改成
    always
    ,也不要把实验性观察表述为普遍保证。
  3. 让每个事实只有一个归属: 不要在 PR 正文、评审讨论、状态评论和最终总结中重复同一项调查过程。
  4. 保留技术术语: 使用精确的技术词汇,例如 race condition、mutex contention、atomic swap、WAL mode;不要过度解释基础语言语义。

Formatting, Punctuation & Tone Rules

格式、标点与语气规则

  1. Zero em dashes (
    —
    ), en dashes (
    –
    ), and pause double-hyphens (
    --
    ):
    Use colons, parentheses, or separate sentences. (Preserve literal CLI flags such as
    --verbose
    ).
  2. No bold-spam or decorative emojis: Avoid bolding every second phrase or prefixing headings with
    🚀
    ,
    💡
    ,
    ✅
    .
  3. No raw terminal dump logs: Summarize test and benchmark results cleanly in a single line or concise table, rather than dumping 40 lines of test output.
  4. No throat-clearing / sycophancy: Cut "Great suggestion!", "You're absolutely right!", "Let's dive in".
  5. Use clean titles: Keep PR and issue titles specific, concise, and free of conversational fluff. PR titles should be imperative (e.g.
    Fix dirty state warning in AI dialog
    ). Issue titles should clearly describe the problem or goal (e.g.
    AI dialog shows stale warning after save
    or
    Support concurrent upstream initialization
    ). Avoid conventional commit prefixes (
    feat:
    ,
    fix:
    ) unless required by the repo.

  1. 不使用 em dash(
    —
    )、en dash(
    –
    )或用于停顿的双连字符(
    --
    ):
    使用冒号、括号或分开的句子。(保留
    --verbose
    等字面 CLI flag。)
  2. 不要滥用加粗或添加装饰性 emoji: 避免每隔一个短语就加粗,或在标题前添加
    🚀
    、
    💡
    、
    ✅
    。
  3. 不要粘贴原始终端日志: 用单行摘要或简洁表格呈现测试和基准测试结果,而不是粘贴 40 行测试输出。
  4. 不要做清嗓式铺垫或阿谀奉承: 删除“建议很棒”“你完全正确”“让我们开始吧”之类的话。
  5. 使用简洁标题: PR 和 issue 标题应具体、简洁,并避免会话式废话。PR 标题应使用祈使语气,例如
    Fix dirty state warning in AI dialog
    。Issue 标题应清楚描述问题或目标,例如
    AI dialog shows stale warning after save
    或
    Support concurrent upstream initialization
    。除非仓库要求,否则避免使用常规 commit 前缀(
    feat:
    、
    fix:
    )。

Templates

模板

For artifact-specific examples, read templates.md. Choose the template matching a PR description, review comment, or issue; do not impose all sections on a short reply.
如需了解针对不同产物的示例,请阅读 templates.md。选择与 PR 描述、评审评论或 issue 相匹配的模板;不要对简短回复强加所有章节。