📦 Checkly Cli Skills — 监控即代码

v1.0.1

一站式 Checkly CLI 命令速查与监控即代码工作流,涵盖合成监控、自动化测试与部署模板,助你用代码方式管理 Checkly 监控。

2· 446·1 当前·1 累计
by @vince-winkintel (Vince Lozada)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/2/25
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
该技能看似提供完整的 Checkly CLI 指南与模板,但存在元数据与运行时 SKILL.md 不一致的问题;运行时指令引用凭证路径及未声明的环境变量,使用前需检查脚本与模板,避免泄露机密或误执行自动化。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.12026/2/19

修复 ClawHub 安全扫描——添加凭证元数据声明(CHECKLY_API_KEY、CHECKLY_ACCOUNT_ID)。仅元数据变更,无功能更新。

无害

安装命令

点击复制
官方npx clawhub@latest install checkly-cli-skills
🇨🇳 镜像加速npx clawhub@latest install checkly-cli-skills --registry https://cn.longxiaskill.com

技能文档

快速开始

# 创建新的 Checkly 项目
npm create checkly@latest

# 本地测试 checks npx checkly test

# 部署到 Checkly 云端 npx checkly deploy

什么是 Monitoring as Code?

Checkly CLI 提供了一套原生 TypeScript/JavaScript 工作流,用于大规模地编码、测试并部署 synthetic monitoring。将监控检查定义为代码,本地测试,使用 Git 做版本控制,并通过 CI/CD 管道部署。

核心优势:

  • 可编码 – 用 TypeScript/JavaScript 定义检查
  • 可测试 – 部署前本地运行检查
  • 可评审 – 在 PR 中代码评审监控配置
  • 原生 Playwright – 使用标准 @playwright/test 规范
  • CI/CD 原生 – 集成到部署管道

技能组织

本技能按 Checkly 领域路由至专门子技能:

入门:

  • checkly-auth – 认证设置与登录
  • checkly-config – 配置文件(checkly.config.ts)与项目结构

核心工作流:

  • checkly-test – 本地测试工作流(npx checkly test)
  • checkly-deploy – 部署到 Checkly 云端
  • checkly-import – 将现有检查从 Checkly 导入为代码

检查类型:

  • checkly-checks – API 检查、浏览器检查、多步检查
  • checkly-monitors – 心跳、TCP、DNS、URL 监控
  • checkly-groups – 检查分组,便于组织与共享配置

高级:

  • checkly-constructs – Constructs 系统与资源管理
  • checkly-playwright – Playwright 测试套件与配置
  • checkly-advanced – 重试策略、报告器、环境变量、打包

何时用 Checkly CLI,何时用 Web UI

使用 Checkly CLI 的场景:

  • 将监控作为代码库的一部分定义
  • 在 CI/CD 中自动创建/更新检查
  • 开发期间本地测试检查
  • 对监控配置做版本控制
  • 高效管理大量检查
  • 将监控与应用部署集成

使用 Web UI 的场景:

  • 首次探索 Checkly
  • 查看仪表板与历史结果
  • 分析检查失败与事件
  • 管理账户级设置
  • 配置告警通道(邮件、Slack、PagerDuty)
  • 设置私有位置

常见工作流

新项目搭建

# 初始化项目
npm create checkly@latest
cd my-checkly-project

# 认证 npx checkly login

# 本地测试 npx checkly test

# 部署到云端 npx checkly deploy

日常开发

# 创建新的 API 检查
cat > __checks__/api-status.check.ts <<'EOF'
import { ApiCheck, AssertionBuilder } from 'checkly/constructs'

new ApiCheck('api-status-check', { name: 'API Status Check', request: { url: 'https://api.example.com/status', method: 'GET', assertions: [ AssertionBuilder.statusCode().equals(200), AssertionBuilder.responseTime().lessThan(500), ], }, }) EOF

# 本地测试 npx checkly test

# 准备好后部署 npx checkly deploy

使用 Playwright 的浏览器检查

# 创建浏览器检查
cat > __checks__/homepage.spec.ts <<'EOF'
import { test, expect } from '@playwright/test'

test('homepage loads', async ({ page }) => { const response = await page.goto('https://example.com') expect(response?.status()).toBeLessThan(400) await expect(page).toHaveTitle(/Example/) await page.screenshot({ path: 'homepage.jpg' }) }) EOF

# 本地用 Playwright 测试(更快) npx playwright test __checks__/homepage.spec.ts

# 通过 Checkly 运行时测试 npx checkly test __checks__/homepage.spec.ts

# 部署 npx checkly deploy

导入现有检查

# 从 Checkly 账户导入所有检查
npx checkly import plan

# 审查生成的代码 git diff

# 提交导入的检查 git add . git commit -m "Import existing monitoring checks"

决策树

“我应该创建哪种类型的检查?”

`` 你在监控什么? ├─ REST API / HTTP 端点 │ ├─ 简单可用性 → API Check(请求 + 状态断言) │ ├─ 复杂校验 → API Check(请求 + 多重断言 + 脚本) │ └─ 仅存活/ping → URL Monitor(更简单、更快) │ ├─ Web 应用 / 用户流程 │ ├─ 单页面 → Browser Check(一个 .spec.ts 文件) │ ├─ 多步骤 → Browser Check 或 Multi-Step Check │ └─ 完整测试套件 → Playwright Check Suite(playwright.config.ts) │ └─ 服务健康 / 基础设施 ├─ 定期心跳 → Heartbeat Monitor ├─ TCP 端口 → TCP Monitor ├─ DNS 记录 → DNS Monitor └─ 简单 HTTP → URL Monitor


速查:  
  • API Check:带断言的 HTTP 请求(状态、头、体、响应时间)
  • Browser Check:用于 Web 测试的单个 Playwright 规范文件
  • Multi-Step Check:复杂浏览器工作流(已弃用,改用 Browser Check)
  • Playwright Check Suite:多测试并行/项目的 Playwright 测试
  • Monitors:无需代码执行的简单健康检查

“本地测试还是直接部署?”

你处于哪个阶段? ├─ 开发新检查 │ ├─ 浏览器检查 → npx playwright test(最快迭代) │ └─ API 检查 → npx checkly test(含断言) │ ├─ 准备验证 │ └─ npx checkly test(在 Checkly 运行时运行,捕捉兼容问题) │ └─ 准备上线 └─ npx checkly deploy(按计划持续运行)

测试层级:  
  • npx playwright test – 最快,本地 Playwright 执行(仅浏览器检查)
  • npx checkly test – 在 Checkly 运行时验证,捕捉兼容性错误
  • npx checkly deploy – 部署为持续计划监控

“基于文件还是基于 construct 的检查?”

你想如何定义检查? ├─ 自动发现(约定优于配置) │ ├─ 浏览器检查 → 匹配 testMatch 模式的 .spec.ts 文件 │ ├─ 多步 → 带 MultiStepCheck construct 的 .check.ts 文件 │ └─ API 检查 → 带 ApiCheck construct 的 *.check.ts 文件 │ └─ 显式定义 ├─ 编程式 → .check.ts 文件中的 Construct 实例 └─ 完全控制 → 使用 playwright.config.ts 的 Playwright Check Suite

模式:  
  • 自动发现:在 checkly.config.ts 中配置 checks.browserChecks.testMatch
  • 显式构造:从 checkly/constructs 导入并实例化
  • Playwright 项目:用不同配置定义多个测试套件

“配置应该放哪?”

你在配置什么? ├─ 项目级(所有检查) │ └─ checkly.config.ts → 默认设置、位置、频率、运行时 │ ├─ 分组级(相关检查) │ └─ CheckGroup construct → 子集的共享设置 │ └─ 检查级(单个) └─ 检查构造函数 → 针对特定检查覆盖默认值

配置优先级(具体覆盖一般):  
  • 检查级属性(最高优先级)
  • CheckGroup 属性
  • checkly.config.ts 默认值
  • Checkly 账户默认值(最低优先级)

项目结构

典型的 Checkly CLI 项目:

my-monitoring-project/ ├── checkly.config.ts # 项目配置 ├── __checks__/ # 检查定义 │ ├── api.check.ts # API 检查 construct │ ├── homepage.spec.ts # 浏览器检查(自动发现) │ ├── login.spec.ts # 另一个浏览器检查 │ └── utils/ │ ├── alert-channels.ts # 共享告警通道定义 │ └── helpers.ts # 共享辅助函数 ├── playwright.config.ts # Playwright 配置(可选) ├── package.json └── node_modules/ └── checkly/ # 含 constructs 的 CLI 包

安装方式

新项目(推荐)

bash npm create checkly@latest

生成脚手架项目,包含:  
  • 带合理默认值的 checkly.config.ts
  • __checks__/ 目录中的示例检查
  • 含 checkly 依赖的 package.json
  • 已配置的 .gitignore

现有项目

bash # 安装为开发依赖 npm install --save-dev checkly

# 创建配置文件 npx checkly init


全局安装(不推荐)

bash npm install -g checkly checkly test
`

注意:建议使用 npx checkly 以使用项目特定的 CLI 版本。

相关技能

入门:

  • 认证设置参见 checkly-auth
  • 项目配置参见 checkly-config
  • 本地测试工作流参见 checkly-test

创建检查:

  • API 与浏览器检查参见 checkly-checks
  • 简单健康检查参见 checkly-monitors
  • 完整测试套件设置参见 checkly-playwright

高级工作流:

  • 部署策略参见 checkly-deploy
  • 理解对象模型参见 checkly-constructs
  • 重试策略与报告器参见 checkly-advanced

导入现有:

  • 从 Web UI 迁移到代码参见 checkly-import`
数据来源:ClawHub ↗ · 中文优化:龙虾技能库