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

211 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)。