catalog/repos/514-labs--agent-skills.md

211 lines
11 KiB
Markdown
Raw Normal View History

2026-04-06 19:01:37 +08:00
# AI编程智能技能集
`AI编程助手` `ClickHouse` `数据应用` `MooseStack` `技能扩展`
# Agent Skills — MooseStack + ClickHouse
一组技能集合,为 AI 编程助手扩展特定领域专业知识,用于基于 [MooseStack](https://docs.fiveonefour.com/moosestack) 和 [ClickHouse](https://clickhouse.com/docs) 构建数据应用。
## 安装
```bash
npx skills add 514-labs/agent-skills
```
支持 Claude Code、Cursor、Copilot、Windsurf、Gemini CLI、Codex 以及 [20+ 其他智能体](https://agentskills.io)。
## 技能列表
| 技能 | 类型 | 描述 |
|-------|------|-------------|
| [`clickhouse-best-practices`](./skills/clickhouse/best-practices/) | 参考规范28 条规则) | 模式设计、查询优化与数据写入最佳实践 — ClickHouse SQL + MooseStack TypeScript & Python |
| [`514-cli`](./skills/514/cli/) | 工作流 | 514 CLI 基础操作 — 登录、关联项目、查看部署状态、浏览文档 |
| [`514-debug`](./skills/514/debug/) | 工作流 | 部署调试 — 状态检查、日志追踪、慢查询发现、资源检查、诊断 SQL |
| [`perf-optimize`](./skills/514/perf-optimize/) | 工作流7 个阶段) | 端到端优化与基准测试:分析生产环境、提出候选方案、对比冻结基线与实验分支、汇总结果并合并最优 PR |
| [`production-rollout-plan`](./skills/514/production-rollout-plan/) | 工作流5 个阶段) | 生产发布规划:对选定变更进行分类、定义发布/验证/回滚步骤,并审查安全的生产上线路径 |
### 工作流关系图
- `perf-optimize` -> `production-rollout-plan`
- 一旦确定了具体变更,也可直接单独使用 `production-rollout-plan`
---
## clickhouse-best-practices
Fork 自 [ClickHouse/agent-skills](https://github.com/ClickHouse/agent-skills),提供 28 条经过实战验证的规则,涵盖模式设计、查询优化和数据写入 — 均基于 ClickHouse SQL。我们在每条规则中加入了 [MooseStack](https://docs.fiveonefour.com/moosestack) TypeScript 和 Python 示例,让智能体在编写应用代码(而不仅仅是原始 DDL时同样遵循这些规范。
### 适用场景
团队使用 MooseStack + ClickHouse 在应用中构建分析功能 — 这类功能对性能、模式设计和数据建模要求极高,直接影响最终用户体验。本技能确保智能体从一开始就做出正确的决策。
**高性能的面向用户仪表盘。** 用户期望图表和筛选器能在毫秒内响应。当分析查询超出事务数据库承载能力时,迁移到 ClickHouse 可带来 [10100 倍的性能提升](https://docs.fiveonefour.com/guides/performant-dashboards) — 但前提是模式必须针对实际访问模式进行设计。本技能引导智能体选择正确的 `orderByFields`、分区方式和数据类型,使数据模型从第一天起就具备良好性能。
**应用内数据驱动的对话功能。** LLM 现在可以通过 [MCP](https://docs.fiveonefour.com/guides/chat-in-your-app) 查询数据库,将自然语言转化为实时分析结果。答案质量取决于数据建模水平:清晰的模式、合理的类型选择以及预聚合正确维度的物化视图。本技能确保智能体构建出支持对话的数据模型,返回快速、准确的结果。
### 内容概览
**28 条规则**,每条均包含 ClickHouse SQL + MooseStack TypeScript + MooseStack Python 示例:
| 类别 | 规则数 | 影响程度 | 示例 |
|---|---|---|---|
| 排序键 / `orderByFields` | 4 | 关键 | 按基数从低到高排列列,优先考虑过滤列 |
| 类型选择 | 5 | 关键 | 优先使用原生类型,减少位宽,避免 Nullable |
| JOIN 优化 | 5 | 关键 | 先过滤再连接,单值匹配使用 ANY |
| 批量写入 | 1 | 关键 | 每批 1 万至 10 万行 |
| 避免 Mutation | 2 | 关键 | 禁止 ALTER TABLE UPDATE/DELETE |
| 分区 | 4 | 高 | 生命周期管理,基数控制在 1000 以内 |
| 跳数索引 | 1 | 高 | 针对非 ORDER BY 过滤字段使用布隆过滤器 |
| 物化视图 | 2 | 高 | 实时场景用增量方式,批处理用可刷新方式 |
| 异步写入 | 2 | 高 | 适用于高频小批量写入 |
| 避免 OPTIMIZE | 1 | 高 | 让合并自然发生 |
| JSON 使用 | 1 | 中 | 动态模式使用 JSON 类型 |
浏览规则:[`skills/clickhouse/best-practices/`](./skills/clickhouse/best-practices/) | 易读概览:[SKILL.md](./skills/clickhouse/best-practices/SKILL.md)
### 示例提示词
> 以下是我们的源数据样本 [粘贴模式或 CSV 头]。我们的查询主要按地区和时间范围过滤。请使用 `clickhouse-best-practices-ts-py` 技能,创建一个优化的 TypeScript 数据模型,设置正确的 `orderByFields`、分区方式和类型注解。使用 `moose query` 验证该表在这些访问模式下的性能。
> 请使用 `clickhouse-best-practices-ts-py` 技能,对照 `app/dashboard/` 下 Next.js 前端中的查询,审查这个 `OlapTable` 定义。根据实际的过滤和 GROUP BY 模式,`orderByFields` 的顺序是否正确?某些字符串列是否应设为 `LowCardinality`?这些字段上的 Nullable 是否合理?
> 我需要追踪含履行状态频繁更新的订单行项目。请使用 `clickhouse-best-practices-ts-py` 技能,推荐应使用哪种表引擎和数据模型来避免 Mutation请展示 TypeScript 和 Python 两个版本。
不一定需要明确指定技能名称 — 大多数智能体在遇到 ClickHouse 或 MooseStack 上下文时会自动激活。当我们希望对完整规则集进行正式审查时,才会显式调用它。
为获得最佳效果,建议在本地运行 `moose dev` 并将 [MooseStack MCP 服务器](https://docs.fiveonefour.com/moosestack/moosedev-mcp) 接入智能体。这样智能体可以查询本地 ClickHouse、检查基础设施并用真实数据验证其建议。
---
## 514-cli
514 平台的基础**工作流技能**。教会智能体如何进行身份验证、发现项目、检查已部署的模式并运行指标查询 — 这些是其他 514 工作流技能(如 `perf-optimize``production-rollout-plan`)所依赖的基础能力。
### 章节
| 章节 | 内容 |
|---------|----------------|
| **身份验证** | 登录、whoami、切换组织 |
| **项目** | 列表、关联、初始化 |
| **部署** | 列举与筛选部署 |
| **文档** | 在终端中搜索和浏览 514 文档 |
### 前置条件
- **514 CLI** — 已安装并加入 PATH
---
## 514-debug
用于诊断部署问题的**工作流技能**。当出现故障或异常行为时,本技能引导智能体通过 514 CLI 的可观测性命令排查问题。
### 章节
| 章节 | 内容 |
|---------|----------------|
| **部署状态** | 健康检查、状态过滤、分支定位 |
| **日志** | 错误过滤、全文搜索、时间范围、实时追踪 |
| **查询指标** | 慢查询、内存占用高的查询、耗时/行数过滤 |
| **资源检查** | 表、视图、流、函数、端点、同步任务 |
| **诊断查询** | 即席 ClickHouse SQL — 表大小、运行中的查询、近期错误 |
### 前置条件
- **514 CLI** — 已安装并加入 PATH
---
## perf-optimize
一个**工作流技能**,引导智能体对 514/Moose 部署中的 ClickHouse 进行性能分析、基准测试和优化方案筛选。涵盖生产环境发现、候选方案生成、冻结基线创建、实验分支基准测试、结果对比和 PR 创建。生产发布规划由独立技能负责。
### 阶段
| 阶段 | 目标 |
|-------|------|
| **SETUP初始化** | 通过 514 CLI 进行身份验证,确定目标项目和活跃部署,并获取基线 DDL |
| **PROFILE分析** | 获取生产模式和查询数据,进行分析,并将热点查询模式映射回代码 |
| **PROPOSE提案** | 展示候选优化方案,并获得用户对要运行的实验的确认 |
| **BASELINE基线** | 搭建基准测试框架,创建冻结控制分支,并对基线部署进行基准测试 |
| **EXPERIMENT实验** | 在实验分支上运行已批准的优化方案,并对每个候选方案进行基准测试 |
| **COMPARE对比** | 对基线与候选结果进行排名,选出最优方案 |
| **SHIP发布** | 附带基准测试数据创建最优 PR并移交给 `production-rollout-plan` 进行生产发布规划 |
### 使用方式
```
/perf-optimize [project-slug]
```
若提供了项目 slug智能体将跳过项目选择提示否则列出可用项目并请用户选择。
### 前置条件
- **514 CLI** — 已完成身份验证(`514 auth login`
- **git** — 本地可用,用于创建基线/候选分支
- **gh CLI** — 本地可用,用于创建最优 Pull Request
- **moose** — 本地可用,包括 `moose add benchmark``moose dev`
- **pnpm** — 基准测试套件可用
- 一个至少有一个活跃部署的 514/Moose 项目
**文档:** [MooseStack](https://docs.fiveonefour.com/moosestack) | [ClickHouse](https://clickhouse.com/docs)
---
## production-rollout-plan
一个**工作流技能**,用于为 514/Moose 部署中已选定变更的安全生产发布进行规划。该技能不与基准测试强绑定,可在任何实现工作流确定变更后直接使用。
### 阶段
| 阶段 | 目标 |
|-------|------|
| **SETUP初始化** | 确定项目、分支、选定变更及受影响的生产资源 |
| **CLASSIFY分类** | 确定发布类型和操作风险 |
| **PLAN规划** | 定义发布、验证、回滚、数据回填和切换步骤 |
| **REVIEW审查** | 展示计划供审批和修订 |
| **HANDOFF移交** | 输出已审批的发布计划 |
### 使用方式
```
/production-rollout-plan [project-slug]
```
### 前置条件
- **514 CLI** — 已完成身份验证(`514 auth login`
- **moose** — 需要本地资源检查时在本地可用
- 一个至少有一个活跃生产部署的 514/Moose 项目
**文档:** [MooseStack](https://docs.fiveonefour.com/moosestack) | [ClickHouse](https://clickhouse.com/docs)
---
## 支持的智能体
安装程序会自动检测您已有的智能体。技能与智能体无关 — 同一套技能,适用于所有助手:
| 智能体 | 配置目录 |
|-------|------------------|
| [Claude Code](https://claude.ai/code) | `.claude/skills/` |
| [Cursor](https://cursor.sh) | `.cursor/skills/` |
| [Windsurf](https://codeium.com/windsurf) | `.windsurf/skills/` |
| [GitHub Copilot](https://github.com/features/copilot) | `.github/skills/` |
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `.gemini/skills/` |
| [Cline](https://github.com/cline/cline) | `.cline/skills/` |
| [Codex](https://openai.com/codex) | `.codex/skills/` |
| [Goose](https://github.com/block/goose) | `.goose/skills/` |
| [Roo Code](https://roo.ai) | `.roo/skills/` |
| [OpenHands](https://github.com/All-Hands-AI/OpenHands) | `.openhands/skills/` |
以及 [另外 13 个](https://agentskills.io)。
## 致谢
ClickHouse 团队的 [agent-skills](https://github.com/ClickHouse/agent-skills) 仓库完成了将 ClickHouse 最佳实践编码为智能体可消费规则的艰难工作。没有它,就不会有本项目。
## 许可证
Apache 2.0 — 详见 [LICENSE](./LICENSE)。