Token导航 LogoToken导航TokenDH.com
开发只读github未标认证来源可访问许可证需确认审计通过

clickhouse-pr-descriptionclickhouse 公关说明

Agent Skill

clickhouse-pr-description 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

235

周安装

10

GitHub Stars

47,120

下载量

82
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:clickhouse-pr-description(clickhouse 公关说明)
来源仓库:https://github.com/clickhouse/clickhouse
仓库路径:skills/clickhouse-pr-description
安装命令:
npx skills add https://github.com/clickhouse/clickhouse --skill clickhouse-pr-description
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/clickhouse/clickhouse --skill clickhouse-pr-description

简介

clickhouse-pr-description 自动生成符合规范的 Pull Request 描述与标题。

  • 它提取变更核心内容,避免使用模糊表述如“修复”或“改进”。
  • 输出格式简洁明确,突出 stderr 上下文与退出码增强细节。
  • 使用前需确认提交范围仅限 ClickHouse 源码仓库,其他项目需适配规则。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

ClickHouse PR Description Skill

Generate a good PR description and apply it, with optional confirmation based on user preference.

Title

Plain description of what changed. No prefix conventions like fix(): or feat():.

  • Good: Change default stderr_reaction to log_last for executable UDFs
  • Good: Fix exception when inserting NULL into non-nullable column via CAST
  • Bad: fix(udf): Change default stderr_reaction — conventional commits, ClickHouse doesn't use them
  • Bad: Fuzzer fixes — too vague, tells the reviewer nothing
  • Bad: Improve error handling and enrich exit code exceptions with stderr context — too vague, doesn't say what was actually changed

Body

Read .github/PULL_REQUEST_TEMPLATE.md for the exact template structure.

A good PR description has two parts:

1. Free-form context (above the template, optional but encouraged for non-trivial changes)

Explain to a future reader: what was the problem, why did it need fixing, what approach was taken, what were the results or trade-offs. This is the right place for:

  • Motivation and background
  • Description of the approach and why it was chosen over alternatives
  • Benchmark results or measurements
  • Links to related issues, discussions, or previous attempts
  • Any caveats or known limitations

Use plain paragraphs. Headers like ## Motivation, ## Changes, ## Results are fine and helpful — they make the PR easier to navigate for reviewers. Bullet lists are fine. Be as detailed as needed.

2. Template section (mandatory)

Fill in the changelog category (delete the rest of the list), write the changelog entry, and keep the documentation checkbox.

Exception — CI Fix or Improvement: omit the Changelog entry and Documentation entry sections entirely (they are not required). Keep the entire PR body under 100 words.

Example of a well-written body

From #96110:

### Changelog category (leave one):
- Backward Incompatible Change

### Changelog entry:
The semantics of the `do_not_merge_across_partitions_select_final` setting were
made more obvious. Previously, the feature could be automatically enabled when
the setting was not explicitly set in the configs. It caused confusion repeatedly
and, unfortunately, led to some issues in production. Now, the rules are simpler:
`do_not_merge_across_partitions_select_final=1` enables the functionality
unconditionally. If `do_not_merge_across_partitions_select_final=0`, then automatic
is used only if the new setting
`enable_automatic_decision_for_merging_across_partitions_for_final=1` and not used
otherwise. To preserve the old behaviour as much as possible, the defaults were set
to `do_not_merge_across_partitions_select_final=0` and
`enable_automatic_decision_for_merging_across_partitions_for_final=1`.

### Documentation entry for user-facing changes
- [ ] Documentation is written (mandatory for new features)

---

The backward-incompatible part is that if someone has
`do_not_merge_across_partitions_select_final=0` explicitly set in the configs,
it no longer protects against the use of automatics. I'm open to discussion on
whether we should conservatively default to disabled automatics.

Note: extra context after --- is fine — reviewers see it, but only the changelog entry above the blank line goes into the CHANGELOG.

Changelog entry guidelines

The entry is what ends up in the published CHANGELOG. Write it for a user who is upgrading and scanning for what affects them. The PR link and author attribution are appended automatically by tooling — do not include them.

Format: the changelog script (tests/ci/changelog.py) collects all lines after the ### Changelog entry: header up to the first blank line, then joins them with spaces into a single string. This means:

  • The entry can span multiple lines in the template — they become one paragraph
  • A blank line terminates collection — anything after it is ignored
  • Write it as a single paragraph (no bullet lists, no blank lines within)

Tense: mixed is fine and natural. "Added X", "Fix a case where...", "The X setting is now Y" are all real examples from the CHANGELOG. Don't force everything into present tense.

Length: match the impact. A small new function can be one sentence. A changed default or backward-incompatible behavior warrants as many sentences as needed, including what users must do to adapt.

Specificity: always name the exact thing that changed. Never write "Fix a bug" or "Improve performance" without saying what specifically.

For backward-incompatible changes: always explain the old behavior, the new behavior, and how to restore the old one if possible.

Real examples from the ClickHouse CHANGELOG:

One sentence, sufficient for a focused addition:

Add xxh3_128 hashing function.

One sentence with enough context:

DATE columns from PostgreSQL are now inferred as Date32 in ClickHouse (in previous versions they were inferred as Date, which led to overflow of values outside a narrow range). Allow inserting Date32 values back to PostgreSQL.

Full migration instructions for a default change:

Deduplication is turned ON for all inserts by default. It was OFF before for async inserts and for MV's, but it was ON for sync inserts. The goal is to have the same defaults for both ways of inserts. If you have deduplication explicitly disabled on your cluster, you have to explicitly set deduplicate_insert='backward_compatible_choice' to keep the old behavior.

Describes new capability with enough detail to understand when to use it:

Added OPTIMIZE <table> DRY RUN PARTS <part names> query to simulate merges without committing the result part. It may be useful for testing purposes: verifying merge correctness in the new version, deterministically reproducing merge-related bugs, and reliably benchmarking merge performance.

Reference the issue if one exists: Closes #XXXXX or Fixes #XXXXX at the end.

What to avoid

These patterns make PRs harder to read or signal low effort:

  • fix(scope): / feat(): / chore(): — ClickHouse doesn't use conventional commits
  • This PR... to start any section — just describe the change
  • Vague titles like Fuzzer fixes, Fix bug, Improvements — always say what specifically
  • Markdown tables comparing "before/after behavior" unless genuinely useful
  • Perfectly parallel sentence structure throughout — vary phrasing naturally

AI co-authorship

It's fine to mention AI assistance openly. Co-Authored-By: in commits or acknowledgements in the PR description are acceptable — ClickHouse is open about AI-assisted development.

When creating a PR, open it as a Draft — this prevents accidental merges.

Before creating or updating the PR, check user memory for a confirmation preference. If no preference is stored and the session is interactive, ask once: "Should I always show you the description for approval before applying it, or just go ahead every time?" Save the answer to memory and apply it from then on. If the session is non-interactive, proceed directly without asking.

Fork vs upstream

If the current repository is a fork (i.e. git remote get-url origin does not contain ClickHouse/ClickHouse), always target the upstream repository. Pass --repo ClickHouse/ClickHouse to gh pr create and set --head <fork-owner>:<branch> so the PR is opened against the canonical repo, not the fork.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.09%
按下载量换算29

Claude

29.04%
按下载量换算24

Cursor

22.14%
按下载量换算18

Gemini CLI

10.03%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills