Checkly Cli Skills
/install checkly-cli-skills
Checkly CLI Skills
Comprehensive Checkly CLI command reference and Monitoring as Code (MaC) workflows.
Quick start
# Create new Checkly project
npm create checkly@latest
# Test checks locally
npx checkly test
# Deploy to Checkly cloud
npx checkly deploy
What is Monitoring as Code?
The Checkly CLI provides a TypeScript/JavaScript-native workflow for coding, testing, and deploying synthetic monitoring at scale. Define your monitoring checks as code, test them locally, version control them with Git, and deploy through CI/CD pipelines.
Key benefits:
- Codeable - Define checks in TypeScript/JavaScript
- Testable - Run checks locally before deployment
- Reviewable - Code review your monitoring in PRs
- Native Playwright - Use standard @playwright/test specs
- CI/CD Native - Integrate with your deployment pipeline
Skill organization
This skill routes to specialized sub-skills by Checkly domain:
Getting Started:
checkly-auth- Authentication setup and logincheckly-config- Configuration files (checkly.config.ts) and project structure
Core Workflows:
checkly-test- Local testing workflow with npx checkly testcheckly-deploy- Deployment to Checkly cloudcheckly-import- Import existing checks from Checkly to code
Check Types:
checkly-checks- API checks, browser checks, multi-step checkscheckly-monitors- Heartbeat, TCP, DNS, URL monitorscheckly-groups- Check groups for organization and shared config
Advanced:
checkly-constructs- Constructs system and resource managementcheckly-playwright- Playwright test suites and configurationcheckly-advanced- Retry strategies, reporters, environment variables, bundling
When to use Checkly CLI vs Web UI
Use Checkly CLI when:
- Defining monitoring as part of your codebase
- Automating check creation/updates in CI/CD
- Testing checks locally during development
- Version controlling monitoring configuration
- Managing multiple checks efficiently
- Integrating monitoring with application deployments
Use Web UI when:
- Exploring Checkly for the first time
- Viewing dashboards and historical results
- Analyzing check failures and incidents
- Managing account-level settings
- Configuring alert channels (email, Slack, PagerDuty)
- Setting up private locations
Common workflows
New project setup
# Initialize project
npm create checkly@latest
cd my-checkly-project
# Authenticate
npx checkly login
# Test locally
npx checkly test
# Deploy to cloud
npx checkly deploy
Daily development
# Create new API check
cat > __checks__/api-status.check.ts \x3C\x3C'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
# Test locally
npx checkly test
# Deploy when ready
npx checkly deploy
Browser check with Playwright
# Create browser check
cat > __checks__/homepage.spec.ts \x3C\x3C'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
# Test with Playwright locally (faster)
npx playwright test __checks__/homepage.spec.ts
# Test via Checkly runtime
npx checkly test __checks__/homepage.spec.ts
# Deploy
npx checkly deploy
Import existing checks
# Import all checks from Checkly account
npx checkly import plan
# Review generated code
git diff
# Commit imported checks
git add .
git commit -m "Import existing monitoring checks"
Decision Trees
"What type of check should I create?"
What are you monitoring?
├─ REST API / HTTP endpoint
│ ├─ Simple availability → API Check (request + status assertion)
│ ├─ Complex validation → API Check (request + multiple assertions + scripts)
│ └─ Just uptime/ping → URL Monitor (simpler, faster)
│
├─ Web application / User flow
│ ├─ Single page → Browser Check (one .spec.ts file)
│ ├─ Multiple steps → Browser Check or Multi-Step Check
│ └─ Full test suite → Playwright Check Suite (playwright.config.ts)
│
└─ Service health / Infrastructure
├─ Periodic heartbeat → Heartbeat Monitor
├─ TCP port → TCP Monitor
├─ DNS record → DNS Monitor
└─ Simple HTTP → URL Monitor
Quick reference:
- API Check: HTTP requests with assertions (status, headers, body, response time)
- Browser Check: Single Playwright spec file for web testing
- Multi-Step Check: Complex browser workflows (legacy, use Browser Check instead)
- Playwright Check Suite: Multiple Playwright tests with projects/parallelization
- Monitors: Simple health checks without code execution
"Test locally or deploy?"
What stage are you at?
├─ Developing new check
│ ├─ Browser check → npx playwright test (fastest iteration)
│ └─ API check → npx checkly test (includes assertions)
│
├─ Ready to validate
│ └─ npx checkly test (runs in Checkly runtime, catches issues)
│
└─ Ready for production
└─ npx checkly deploy (schedule checks to run continuously)
Testing hierarchy:
npx playwright test- Fastest, local Playwright execution (browser checks only)npx checkly test- Validates in Checkly runtime, catches compatibility issuesnpx checkly deploy- Deploys for continuous scheduled monitoring
"File-based or construct-based checks?"
How do you want to define checks?
├─ Auto-discovery (convention over configuration)
│ ├─ Browser checks → *.spec.ts files matching testMatch pattern
│ ├─ Multi-step → *.check.ts files with MultiStepCheck construct
│ └─ API checks → *.check.ts files with ApiCheck construct
│
└─ Explicit definition
├─ Programmatic → Construct instances in .check.ts files
└─ Full control → Playwright Check Suite with playwright.config.ts
Patterns:
- Auto-discovery: Configure
checks.browserChecks.testMatchin checkly.config.ts - Explicit constructs: Import from
checkly/constructsand instantiate - Playwright projects: Define multiple test suites with different configs
"Where should configuration go?"
What are you configuring?
├─ Project-level (all checks)
│ └─ checkly.config.ts → defaults, locations, frequency, runtime
│
├─ Group-level (related checks)
│ └─ CheckGroup construct → shared settings for subset of checks
│
└─ Check-level (individual)
└─ Check constructor → override defaults for specific check
Configuration hierarchy (specific overrides general):
- Check-level properties (highest priority)
- CheckGroup properties
- checkly.config.ts defaults
- Checkly account defaults (lowest priority)
Project structure
Typical Checkly CLI project:
my-monitoring-project/
├── checkly.config.ts # Project configuration
├── __checks__/ # Check definitions
│ ├── api.check.ts # API check construct
│ ├── homepage.spec.ts # Browser check (auto-discovered)
│ ├── login.spec.ts # Another browser check
│ └── utils/
│ ├── alert-channels.ts # Shared alert channel definitions
│ └── helpers.ts # Shared helper functions
├── playwright.config.ts # Playwright configuration (optional)
├── package.json
└── node_modules/
└── checkly/ # CLI package with constructs
Installation methods
New project (recommended)
npm create checkly@latest
Creates scaffolded project with:
checkly.config.tswith sensible defaults- Example checks in
__checks__/directory package.jsonwith checkly dependency.gitignoreconfigured
Existing project
# Install as dev dependency
npm install --save-dev checkly
# Create configuration file
npx checkly init
Global installation (not recommended)
npm install -g checkly
checkly test
Note: Use npx checkly instead for project-specific CLI version.
Related Skills
Getting started:
- See
checkly-authfor authentication setup - See
checkly-configfor project configuration - See
checkly-testfor local testing workflow
Creating checks:
- See
checkly-checksfor API and browser checks - See
checkly-monitorsfor simpler health checks - See
checkly-playwrightfor full test suite setup
Advanced workflows:
- See
checkly-deployfor deployment strategies - See
checkly-constructsfor understanding the object model - See
checkly-advancedfor retry strategies and reporters
Import existing:
- See
checkly-importto migrate from web UI to code
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install checkly-cli-skills - After installation, invoke the skill by name or use
/checkly-cli-skills - Provide required inputs per the skill's parameter spec and get structured output
What is Checkly Cli Skills?
Comprehensive Checkly CLI command reference and Monitoring as Code workflows. Use when user mentions Checkly CLI, monitoring as code, synthetic monitoring, A... It is an AI Agent Skill for Claude Code / OpenClaw, with 532 downloads so far.
How do I install Checkly Cli Skills?
Run "/install checkly-cli-skills" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Checkly Cli Skills free?
Yes, Checkly Cli Skills is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Checkly Cli Skills support?
Checkly Cli Skills is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Checkly Cli Skills?
It is built and maintained by Vince Lozada (@vince-winkintel); the current version is v1.0.2.