Skip to content

chore: Add Claude Code agent skills and update CLAUDE.md#25

Open
heavycrystal wants to merge 1 commit intomainfrom
chore/claude-agent-skills
Open

chore: Add Claude Code agent skills and update CLAUDE.md#25
heavycrystal wants to merge 1 commit intomainfrom
chore/claude-agent-skills

Conversation

@heavycrystal
Copy link
Contributor

Add ClickHouse best practices skill (https://github.com/clickhouse/agent-skills) covering schema design, query optimisation, and data ingestion. Update CLAUDE.md with schema immutability policy and reference projects guidelines.

Add ClickHouse best practices skill
(https://github.com/clickhouse/agent-skills) covering schema
design, query optimization, and data ingestion. Update CLAUDE.md
with schema immutability policy and reference projects guidelines.
Copilot AI review requested due to automatic review settings February 11, 2026 17:40
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a ClickHouse best-practices “skill” for agents and updates contributor guidance around ClickHouse schema changes and how to use external reference projects.

Changes:

  • Adds a new .claude/skills/clickhouse-best-practices skill with rule docs covering schema, query, and ingestion best practices.
  • Updates CLAUDE.md with a ClickHouse schema immutability/migration policy and tighter guidance on using external reference repos.

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated 4 comments.

File Description
CLAUDE.md Adds ClickHouse schema immutability guidance and updates reference-project usage policy.
.claude/skills/clickhouse-best-practices/SKILL.md Introduces the skill manifest and usage/review procedures for ClickHouse guidance.
.claude/skills/clickhouse-best-practices/AGENTS.md Adds a compiled “all rules” document for quick scanning.
.claude/skills/clickhouse-best-practices/rules/* Adds individual rule markdown files for schema/query/insert best practices.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

license: Apache-2.0
metadata:
author: ClickHouse Inc
version: "0.3.0"
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The skill manifest declares version 0.3.0, but AGENTS.md declares Version 0.1.0. These should match to avoid confusion when referencing the skill/version in reviews. Consider updating AGENTS.md’s header to the same version as SKILL.md (or vice versa) and keep the ClickHouse version/date consistent with that release.

Suggested change
version: "0.3.0"
version: "0.1.0"

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,1572 @@
# ClickHouse Best Practices

**Version 0.1.0**
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This version marker conflicts with the version in SKILL.md (0.3.0). Align the declared version across both documents so users can reliably identify which rule set they’re reading.

Suggested change
**Version 0.1.0**
**Version 0.3.0**

Copilot uses AI. Check for mistakes.
| Sequential IDs | UInt32/UInt64 | String |
| UUIDs | UUID | String |
| Status/Category | Enum8 or LowCardinality(String) | String |
| Timestamps | DateTime | DateTime64, String |
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The quick reference implies DateTime64 should generally be avoided for timestamps. That’s overly broad and can be misleading: DateTime64 is appropriate when sub-second precision is required. Consider changing this row to recommend DateTime for second precision and DateTime64 when higher precision is needed (while still discouraging String).

Suggested change
| Timestamps | DateTime | DateTime64, String |
| Timestamps | DateTime (seconds) or DateTime64 (sub-second) | String |

Copilot uses AI. Check for mistakes.
Comment on lines +24 to +26
```python
# Use Native format for best performance
client.execute("INSERT INTO events VALUES", data, settings={'input_format': 'Native'})
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This Python snippet is likely inaccurate for many ClickHouse clients: Native is a wire/binary format typically specified via FORMAT Native (or by using the native protocol), and many drivers won’t accept an input_format setting like this. Consider rewriting the example to a generally correct form (e.g., INSERT ... FORMAT Native with a client capable of sending Native-formatted data, or provide a clickhouse-client example) to prevent readers from copying a non-working pattern.

Suggested change
```python
# Use Native format for best performance
client.execute("INSERT INTO events VALUES", data, settings={'input_format': 'Native'})
```bash
# Use Native format for best performance with clickhouse-client
clickhouse-client --query="INSERT INTO events FORMAT Native" < events.native

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants