13 Commits

Author SHA1 Message Date
Alasdair Brown 6e5458d59b Add infra-postgres and infra-clickhouse skills (#43)
## Summary

Adds two `clickhousectl`-based infra skills in a normalized format,
where each skill has a thin `SKILL.md` with a local-vs-cloud decision
tree that routes to `ref/local.md` and `ref/cloud.md`, and the local
workflow hands off to cloud when going to production.

### infra-postgres (new)

- `ref/local.md` — Docker-backed local Postgres for development: start,
psql client (host psql or Docker-exec fallback), `.env` wiring via
`dotenv`, lifecycle (stop/remove). Verified end-to-end against
clickhousectl 0.3.1 (container start, SQL, dotenv, list, stop, remove);
example JSON output captured from real runs.
- `ref/cloud.md` — managed ClickHouse Cloud Postgres services (beta):
API-key auth, service creation, connections and TLS certs, runtime
config (pgConfig/pgBouncerConfig), read replicas, promote/switchover,
point-in-time restore.

### infra-clickhouse (merges clickhousectl-local-dev +
clickhousectl-cloud-deploy)

- Same structure: `ref/local.md` carries the local dev workflow,
`ref/cloud.md` the ClickHouse Cloud deployment workflow.
- Fixes a stale command from the old cloud-deploy skill: `clickhousectl
cloud login` no longer exists in 0.3.1 — it's `clickhousectl cloud auth
login`.
- The superseded `clickhousectl-local-dev` and
`clickhousectl-cloud-deploy` directories are removed.

### Registration

- README: new "Infra ClickHouse" and "Infra Postgres" sections replace
the two clickhousectl sections; Quick Start bullets updated.
- `.claude-plugin/marketplace.json`: entries for both new skills;
superseded entries removed.
- `.claude-plugin/plugin.json`: skills array updated accordingly.

### Descriptions

Frontmatter descriptions follow the [Agent Skills authoring best
practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices):
third person, capabilities first, then "Use when …" trigger contexts
using the vocabulary users actually say (Postgres/PostgreSQL, psql,
deploy to ClickHouse Cloud), with both the local and cloud cases
explicit.

## Test plan

- [x] Local Postgres workflow run end-to-end with clickhousectl 0.3.1
(start → query → dotenv → list → stop → remove)
- [x] Cloud command surface verified against `clickhousectl cloud
postgres`/`cloud service`/`cloud auth` `--help` output
- [x] All JSON files validate; no remaining references to the removed
skill names outside intentional "supersedes" notes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 11:55:08 +01:00
Shaun Struwig 65ce71fce8 Add clickstack-otel-collector skill (#42)
## Summary

Transfers Dale's `clickstack-otel-collector` skill (v0.6.0) into this
repo from
[clickhouse-docs](https://github.com/ClickHouse/clickhouse-docs/pull/6367),
where it was previously maintained.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 14:15:07 +01:00
Alasdair Brown 71cc41a35a Register clickhousectl skills in README and Claude plugin manifests (#41)
## Summary

The `clickhousectl-local-dev` and `clickhousectl-cloud-deploy` skills
were added under `skills/` (#32) but were never registered anywhere
discoverable:

- **README.md** — added both skills to the *Available Skills* section
(matching the style of the existing entries) and added two Quick Start
bullets
- **.claude-plugin/marketplace.json** — added plugin entries for both
skills (version `0.2.0`, matching their SKILL.md metadata)
- **.claude-plugin/plugin.json** — appended both skill paths to the
`skills` array

This follows the same registration pattern used for the chdb skills in
#35.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 14:43:48 +01:00
Copilot 98d99dafce Promote clickhouse-js-node-troubleshooting to top-level skill (#29)
## Why

Installers/agents look one level deep. The npx skills add CLI and the
agent skill directories listed in the README (.claude/skills/,
.cursor/skills/, .github/skills/, etc.) expect each skill as a direct
child of skills/. A nested
skills/clickhouse-client-js/clickhouse-js-node-troubleshooting/ will not
be picked up by those scanners.

---

- [x] Promote
`skills/clickhouse-client-js/clickhouse-js-node-troubleshooting/` to
top-level `skills/clickhouse-js-node-troubleshooting/`
- [x] Remove empty `skills/clickhouse-client-js/` wrapper directory
- [x] Add an entry for the skill under "Available Skills" in `README.md`
- [x] Add `./skills/clickhouse-js-node-troubleshooting/` to the `skills`
array in `.claude-plugin/plugin.json`
- [x] Add a plugin entry for the skill in
`.claude-plugin/marketplace.json`

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Co-authored-by: Peter Leonov <peter.leonov@clickhouse.com>
2026-05-13 17:58:35 +02:00
Auxten Wang 10894892a2 Add chdb skills: DataStore (pandas API) and SQL (#14)
## Summary

- Add **chdb-datastore** skill: Pandas-compatible DataStore API for
[chdb](https://clickhouse.com/docs/chdb). Drop-in pandas replacement
backed by ClickHouse (`import chdb.datastore as pd`), supporting 16+
data sources (MySQL, PostgreSQL, S3, MongoDB, ClickHouse, Iceberg, Delta
Lake, etc.) and 10+ file formats with cross-source joins.

- Add **chdb-sql** skill: In-process ClickHouse SQL API for Python.
Covers `chdb.query()`, Session, DB-API 2.0, parametrized queries, UDFs,
streaming, and all ClickHouse table functions.

- Update root `README.md` and `AGENTS.md` to include the new skills.

## Skill Structure

Each skill follows the agent-skills format with:

| File | Purpose |
|------|---------|
| `SKILL.md` | Skill definition with YAML frontmatter and quick-start |
| `metadata.json` | Version, organization, abstract |
| `README.md` | Maintainer guide with trigger phrases |
| `references/*.md` | API references and function docs |
| `examples/examples.md` | Runnable examples with expected output |
| `scripts/verify_install.py` | Environment verification script |

## Why Two Skills?

The skills are split by usage pattern so agents load only what's
relevant:

- **chdb-datastore** activates for pandas-style data analysis (filter,
groupby, join, sort — same API as pandas)
- **chdb-sql** activates for raw SQL queries (ClickHouse table
functions, window functions, sessions, UDFs)

Both cross-reference each other in their SKILL.md so the agent knows
when to switch.

## Test Plan

- [x] Verify `SKILL.md` frontmatter parses correctly (name, description,
license, metadata fields)
- chdb-datastore: name=chdb-datastore, license=Apache-2.0,
author=chdb-io, version=4.1
- chdb-sql: name=chdb-sql, license=Apache-2.0, author=chdb-io,
version=4.1
- [x] Verify all internal links in SKILL.md resolve to their reference
files
- chdb-datastore: 7 links (references/connectors.md,
references/api-reference.md, examples/examples.md,
scripts/verify_install.py) — all resolved
- chdb-sql: 7 links (references/table-functions.md,
references/sql-functions.md, references/api-reference.md,
examples/examples.md) — all resolved
- [x] Run `python scripts/verify_install.py` in both skill directories
(requires `pip install chdb`)
- chdb-datastore: 8/8 checks passed (import chdb, from datastore import
DataStore, from chdb.datastore import DataStore, import chdb.datastore
as pd, filter, sort, groupby)
- chdb-sql: 6/6 checks passed (import chdb, basic query, DataFrame
output, Session, parametrized query)
- [x] Install skills via `npx skills add` and verify agent activation on
trigger phrases
- `npx skills add auxten/agent-skills --list` correctly detected all 3
skills (chdb-datastore, chdb-sql, clickhouse-best-practices)
- `npx skills add --all` installed 3 skills to 42 agent directories via
symlinks
- Verified `.claude/skills/`, `.windsurf/skills/` etc. contain correct
symlinks
  - `skills-lock.json` generated with correct source and hashes

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-14 17:13:25 +01:00
Marcin Kulakowski 5e162d6113 Add clickhouse-architecture-advisor skill (#19)
# Proposed PR: Add `clickhouse-architecture-advisor` skill

## Summary

This PR adds a new skill, `clickhouse-architecture-advisor`, intended to
complement the existing `clickhouse-best-practices` skill.

The new skill does **not** replace official best practices. Instead, it
provides a workload-aware architecture decision layer that helps agents
and users reason about:

- when to apply specific ClickHouse patterns
- why a pattern fits a given workload
- how to translate best practices into a concrete architecture

## Why this belongs in `agent-skills`

The current `clickhouse-best-practices` skill is excellent at
rule-backed guidance for schema design, query optimization, and
ingestion. This proposal fills a different gap:

- multi-step architecture design
- workload classification
- tradeoff-driven decisioning
- explicit distinction between official guidance and field heuristics

This is especially useful for:
- early-stage customer architecture
- real-time design workshops
- workload sizing discussions
- POC design
- SA/TAM advisory workflows

## What this PR includes

### New skill
- `skills/clickhouse-architecture-advisor/`

### New components
- `SKILL.md`
- `README.md`
- `AGENTS.md`
- `metadata.json`
- `schemas/recommendation_schema.yaml`
- `mappings/doc_links.yaml`

### Decision rules
- `decision-ingestion-strategy.md`
- `decision-partitioning-timeseries.md`
- `decision-join-enrichment.md`
- `decision-late-arriving-upserts.md`
- `decision-real-time-preaggregation.md`

### Examples
- `observability-high-throughput.md`
- `finserv-market-surveillance.md`
- `siem-security-analytics.md`

## Recommendation model

Every recommendation is explicitly classified as one of:
- `official` — directly backed by official docs
- `derived` — inferred from official docs and ClickHouse behavior
- `field` — experience-based, explicitly labeled as such

This keeps the skill aligned with the principle that docs remain the
source of truth while still allowing architecture guidance to be useful
in real-world scenarios.

## Non-goals

This PR does not:
- override `clickhouse-best-practices`
- introduce commercial recommendations
- create a parallel documentation system
- present field heuristics as official guidance

## Suggested review focus

- Naming and scope of the skill
- Whether the official / derived / field classification is the right
pattern
- Whether the decision rules should remain separate or partially merge
into the existing best-practices skill
- Whether more explicit docs links are needed in specific rules

## Notes

This proposal is intentionally conservative:
- it cites official documentation
- it flags heuristics
- it uses examples to show how the architecture layer complements
existing rules
2026-04-14 16:47:53 +01:00
Alasdair Brown 63631d29dd Update README installation instructions via clickhousectl (#17)
Added installation instructions via clickhousectl.
2026-04-08 17:34:32 +01:00
Alasdair Brown 8c9f5a11a0 Update installation command in README 2026-02-04 14:25:29 +00:00
Pete Hampton 769fe288c6 fix(docs): update what the package name will be 2026-02-04 12:14:53 +01:00
Alasdair Brown 644a3f069d add intro to readme (#7)
Add intro to readme
2026-01-30 21:58:05 +09:00
Doneyli De Jesus cd5e61b23f feat: Add 28 ClickHouse best practices rules and improve documentation (#2)
## Summary

- Add 28 atomic rules covering schema design, query optimization, and
data ingestion best practices
- Improve README with clearer structure, skills overview table, and
quick start guide
- Organize rules by category and impact level (CRITICAL, HIGH, MEDIUM)

## Rules Added

| Category | Rules | Impact |
|----------|-------|--------|
| Primary Key Selection | 4 | CRITICAL |
| Data Type Selection | 5 | CRITICAL |
| JOIN Optimization | 5 | CRITICAL |
| Insert Batching | 1 | CRITICAL |
| Mutation Avoidance | 2 | CRITICAL |
| Partitioning Strategy | 4 | HIGH |
| Skipping Indices | 1 | HIGH |
| Materialized Views | 2 | HIGH |
| Async Inserts | 2 | HIGH |
| OPTIMIZE Avoidance | 1 | HIGH |
| JSON Usage | 1 | MEDIUM |

## Test plan

- [ ] Verify all rule files follow the template format
- [ ] Confirm AGENTS.md is properly generated
- [ ] Check all internal links resolve correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Doneyli De Jesus <doneyli@Doneylis-MacBook-Pro.local>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 15:58:10 -05:00
Pete Hampton 4207b3650c chore(setup): add repo structure (#1) 2026-01-21 11:59:03 +00:00
Pete Hampton 0e0b50da7f Initial commit 2026-01-15 16:36:21 +00:00