checkly 7.4.0 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/ai-context/checkly.rules.md +55 -17
  2. package/dist/ai-context/context.d.ts +76 -24
  3. package/dist/ai-context/context.js +48 -25
  4. package/dist/ai-context/context.js.map +1 -1
  5. package/dist/ai-context/public-skills/checkly/README.md +39 -0
  6. package/dist/ai-context/public-skills/checkly/SKILL.md +65 -0
  7. package/dist/ai-context/{skills/monitoring/references/api-checks.md → skills-command/references/configure-api-checks.md} +1 -1
  8. package/dist/ai-context/skills-command/references/configure-dns-monitors.md +38 -0
  9. package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +33 -0
  10. package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +41 -0
  11. package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +45 -0
  12. package/dist/ai-context/skills-command/references/configure-url-monitors.md +43 -0
  13. package/dist/ai-context/{skills/monitoring/SKILL.md → skills-command/references/configure.md} +40 -17
  14. package/dist/ai-context/skills-command/references/initialize.md +116 -0
  15. package/dist/commands/baseCommand.d.ts +3 -0
  16. package/dist/commands/baseCommand.js +3 -0
  17. package/dist/commands/baseCommand.js.map +1 -1
  18. package/dist/commands/incidents/create.d.ts +15 -0
  19. package/dist/commands/incidents/create.js +107 -0
  20. package/dist/commands/incidents/create.js.map +1 -0
  21. package/dist/commands/incidents/list.d.ts +12 -0
  22. package/dist/commands/incidents/list.js +107 -0
  23. package/dist/commands/incidents/list.js.map +1 -0
  24. package/dist/commands/incidents/resolve.d.ts +14 -0
  25. package/dist/commands/incidents/resolve.js +87 -0
  26. package/dist/commands/incidents/resolve.js.map +1 -0
  27. package/dist/commands/incidents/update.d.ts +16 -0
  28. package/dist/commands/incidents/update.js +111 -0
  29. package/dist/commands/incidents/update.js.map +1 -0
  30. package/dist/commands/skills.d.ts +12 -0
  31. package/dist/commands/skills.js +104 -0
  32. package/dist/commands/skills.js.map +1 -0
  33. package/dist/formatters/incidents.d.ts +7 -0
  34. package/dist/formatters/incidents.js +186 -0
  35. package/dist/formatters/incidents.js.map +1 -0
  36. package/dist/help/help-extension.js +17 -6
  37. package/dist/help/help-extension.js.map +1 -1
  38. package/dist/helpers/cli-mode.d.ts +3 -0
  39. package/dist/helpers/cli-mode.js +46 -0
  40. package/dist/helpers/cli-mode.js.map +1 -0
  41. package/dist/helpers/command-preview.d.ts +24 -0
  42. package/dist/helpers/command-preview.js +51 -0
  43. package/dist/helpers/command-preview.js.map +1 -0
  44. package/dist/helpers/flags.d.ts +2 -0
  45. package/dist/helpers/flags.js +16 -1
  46. package/dist/helpers/flags.js.map +1 -1
  47. package/dist/helpers/incidents.d.ts +15 -0
  48. package/dist/helpers/incidents.js +58 -0
  49. package/dist/helpers/incidents.js.map +1 -0
  50. package/dist/rest/api.d.ts +2 -1
  51. package/dist/rest/api.js +5 -24
  52. package/dist/rest/api.js.map +1 -1
  53. package/dist/rest/incidents.d.ts +60 -0
  54. package/dist/rest/incidents.js +30 -0
  55. package/dist/rest/incidents.js.map +1 -0
  56. package/dist/rest/status-pages.d.ts +3 -0
  57. package/dist/rest/status-pages.js.map +1 -1
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/oclif.manifest.json +541 -110
  60. package/package.json +7 -1
  61. package/dist/ai-context/skills/monitoring/README.md +0 -55
  62. package/dist/ai-context/skills/monitoring/references/uptime-monitors.md +0 -206
  63. /package/dist/ai-context/{skills/monitoring/references/alert-channels.md → skills-command/references/configure-alert-channels.md} +0 -0
  64. /package/dist/ai-context/{skills/monitoring/references/browser-checks.md → skills-command/references/configure-browser-checks.md} +0 -0
  65. /package/dist/ai-context/{skills/monitoring/references/check-groups.md → skills-command/references/configure-check-groups.md} +0 -0
  66. /package/dist/ai-context/{skills/monitoring/references/multistep-checks.md → skills-command/references/configure-multistep-checks.md} +0 -0
  67. /package/dist/ai-context/{skills/monitoring/references/playwright-checks.md → skills-command/references/configure-playwright-checks.md} +0 -0
  68. /package/dist/ai-context/{skills/monitoring/references/supporting-constructs.md → skills-command/references/configure-supporting-constructs.md} +0 -0
@@ -23,6 +23,7 @@
23
23
 
24
24
  Here is an example directory tree of what that would look like:
25
25
 
26
+ ```
26
27
  .
27
28
  |-- checkly.config.ts
28
29
  |-- package.json
@@ -31,6 +32,7 @@ Here is an example directory tree of what that would look like:
31
32
  |-- alert-channels.ts
32
33
  |-- api-check.check.ts
33
34
  `-- homepage.spec.ts
35
+ ```
34
36
 
35
37
  The `checkly.config.ts` at the root of your project defines a range of defaults for all your checks.
36
38
 
@@ -73,7 +75,49 @@ export default defineConfig({
73
75
 
74
76
  ## Check and Monitor Constructs
75
77
 
76
- Parse and read further reference documentation when tasked with creating or managing any of the following Checkly constructs:
78
+ Parse and read further reference documentation when tasked with creating or managing any of the following Checkly constructs.
79
+
80
+ If the Checkly CLI is installed (`npx checkly version`), use `npx checkly skills configure [CONSTRUCT]` to access up-to-date information:
81
+
82
+ ### `npx checkly skills configure api-checks`
83
+ Api Check construct (`ApiCheck`), assertions, and authentication setup scripts
84
+
85
+ ### `npx checkly skills configure browser-checks`
86
+ Browser Check construct (`BrowserCheck`) with Playwright test files
87
+
88
+ ### `npx checkly skills configure playwright-checks`
89
+ Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites
90
+
91
+ ### `npx checkly skills configure multistep-checks`
92
+ Multistep Check construct (`MultiStepCheck`) for complex user flows
93
+
94
+ ### `npx checkly skills configure tcp-monitors`
95
+ TCP Monitor construct (`TcpMonitor`) with assertions
96
+
97
+ ### `npx checkly skills configure url-monitors`
98
+ URL Monitor construct (`UrlMonitor`) with assertions
99
+
100
+ ### `npx checkly skills configure dns-monitors`
101
+ DNS Monitor construct (`DnsMonitor`) with assertions
102
+
103
+ ### `npx checkly skills configure icmp-monitors`
104
+ ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions
105
+
106
+ ### `npx checkly skills configure heartbeat-monitors`
107
+ Heartbeat Monitor construct (`HeartbeatMonitor`)
108
+
109
+ ### `npx checkly skills configure check-groups`
110
+ CheckGroupV2 construct (`CheckGroupV2`) for organizing checks
111
+
112
+ ### `npx checkly skills configure alert-channels`
113
+ Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels
114
+
115
+ ### `npx checkly skills configure supporting-constructs`
116
+ Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)
117
+
118
+ ## Testing and Debugging
119
+
120
+ - Test checks using the `npx checkly test` command. Pass environment variables with the `-e` flag, use `--record` to persist results, and use `--verbose` to see all errors.
77
121
 
78
122
  ### API Checks
79
123
 
@@ -121,7 +165,7 @@ new ApiCheck('example-api-check', {
121
165
  }),
122
166
  runParallel: true,
123
167
  request: {
124
- url: 'https://api.example.com/v1/products',
168
+ url: 'INSERT_URL',
125
169
  method: 'GET',
126
170
  },
127
171
  })
@@ -227,9 +271,7 @@ new MultiStepCheck('example-multi-step-check', {
227
271
  })
228
272
  ```
229
273
 
230
- ### Monitors
231
-
232
- #### TCP Monitor
274
+ ### TCP Monitor
233
275
 
234
276
  - Import the `TcpMonitor` construct from `checkly/constructs`.
235
277
  - When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
@@ -264,7 +306,7 @@ new TcpMonitor('example-tcp-monitor', {
264
306
  }),
265
307
  runParallel: true,
266
308
  request: {
267
- hostname: 'tcp.example.com',
309
+ hostname: 'INSERT_HOSTNAME',
268
310
  port: 4242,
269
311
  ipFamily: 'IPv4',
270
312
  assertions: [
@@ -275,7 +317,7 @@ new TcpMonitor('example-tcp-monitor', {
275
317
  })
276
318
  ```
277
319
 
278
- #### URL Monitor
320
+ ### URL Monitor
279
321
 
280
322
  - Import the `UrlMonitor` construct from `checkly/constructs`.
281
323
  - When adding `assertions`, always use `UrlAssertionBuilder`.
@@ -310,7 +352,7 @@ new UrlMonitor('example-url-monitor', {
310
352
  degradedResponseTime: 5000,
311
353
  maxResponseTime: 20000,
312
354
  request: {
313
- url: 'https://example.com',
355
+ url: 'INSERT_URL',
314
356
  ipFamily: 'IPv4',
315
357
  assertions: [
316
358
  UrlAssertionBuilder.statusCode().equals(200),
@@ -319,7 +361,7 @@ new UrlMonitor('example-url-monitor', {
319
361
  })
320
362
  ```
321
363
 
322
- #### DNS Monitor
364
+ ### DNS Monitor
323
365
 
324
366
  - Import the `DnsMonitor` construct from `checkly/constructs`.
325
367
  - Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
@@ -350,7 +392,7 @@ new DnsMonitor('example-dns-monitor', {
350
392
  retryStrategy: RetryStrategyBuilder.noRetries(),
351
393
  request: {
352
394
  recordType: 'AAAA',
353
- query: 'welcome.checklyhq.com',
395
+ query: 'INSERT_HOSTNAME',
354
396
  assertions: [
355
397
  DnsAssertionBuilder.responseCode().equals('NOERROR'),
356
398
  ],
@@ -358,7 +400,7 @@ new DnsMonitor('example-dns-monitor', {
358
400
  })
359
401
  ```
360
402
 
361
- ##### ICMP Monitor
403
+ ### ICMP Monitor
362
404
 
363
405
  - Import the `IcmpMonitor` construct from `checkly/constructs`.
364
406
  - Reference [the docs for ICMP monitors](https://www.checklyhq.com/docs/constructs/icmp-monitor/) before generating any code.
@@ -374,7 +416,7 @@ import { AlertEscalationBuilder, Frequency, IcmpAssertionBuilder, IcmpMonitor, R
374
416
  new IcmpMonitor('example-icmp-monitor', {
375
417
  name: 'Example ICMP Monitor',
376
418
  request: {
377
- hostname: '1.1.1.1',
419
+ hostname: 'INSERT_HOSTNAME',
378
420
  pingCount: 10,
379
421
  assertions: [
380
422
  IcmpAssertionBuilder.latency('avg').lessThan(100),
@@ -400,7 +442,7 @@ new IcmpMonitor('example-icmp-monitor', {
400
442
  })
401
443
  ```
402
444
 
403
- #### Heartbeat Monitor
445
+ ### Heartbeat Monitor
404
446
 
405
447
  - Import the `HeartbeatMonitor` construct from `checkly/constructs`.
406
448
 
@@ -619,7 +661,3 @@ export const examplePrivateLocation = new PrivateLocation('example-private-locat
619
661
  icon: 'location',
620
662
  })
621
663
  ```
622
-
623
- ## Testing and Debugging
624
-
625
- - Test checks using the `npx checkly test` command. Pass environment variables with the `-e` flag, use `--record` to persist results, and use `--verbose` to see all errors.
@@ -1,35 +1,87 @@
1
1
  export declare const REFERENCES: readonly [{
2
- readonly id: "api-checks";
3
- readonly linkText: "API Checks";
4
- readonly description: "ApiCheck construct, assertions, and authentication setup scripts";
2
+ readonly id: "configure-api-checks";
3
+ readonly description: "Api Check construct (`ApiCheck`), assertions, and authentication setup scripts";
5
4
  }, {
6
- readonly id: "browser-checks";
7
- readonly linkText: "Browser Checks";
8
- readonly description: "BrowserCheck construct with Playwright test files";
5
+ readonly id: "configure-browser-checks";
6
+ readonly description: "Browser Check construct (`BrowserCheck`) with Playwright test files";
9
7
  }, {
10
- readonly id: "playwright-checks";
11
- readonly linkText: "Playwright Checks";
12
- readonly description: "PlaywrightCheck construct for multi-browser test suites";
8
+ readonly id: "configure-playwright-checks";
9
+ readonly description: "Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites";
13
10
  }, {
14
- readonly id: "multistep-checks";
15
- readonly linkText: "MultiStep Checks";
16
- readonly description: "MultiStepCheck construct for complex user flows";
11
+ readonly id: "configure-multistep-checks";
12
+ readonly description: "Multistep Check construct (`MultiStepCheck`) for complex user flows";
17
13
  }, {
18
- readonly id: "uptime-monitors";
19
- readonly linkText: "Uptime Monitors";
20
- readonly description: "TCP (`TcpMonitor`), URL (`UrlMonitor`), DNS (`DnsMonitor`), ICMP (`IcmpMonitor`), and Heartbeat monitors (`HeartbeatMonitor`)";
14
+ readonly id: "configure-tcp-monitors";
15
+ readonly description: "TCP Monitor construct (`TcpMonitor`) with assertions";
21
16
  }, {
22
- readonly id: "check-groups";
23
- readonly linkText: "Check Groups";
24
- readonly description: "CheckGroupV2 construct for organizing checks";
17
+ readonly id: "configure-url-monitors";
18
+ readonly description: "URL Monitor construct (`UrlMonitor`) with assertions";
25
19
  }, {
26
- readonly id: "alert-channels";
27
- readonly linkText: "Alert Channels";
28
- readonly description: "Email, Phone, and Slack alert channels";
20
+ readonly id: "configure-dns-monitors";
21
+ readonly description: "DNS Monitor construct (`DnsMonitor`) with assertions";
29
22
  }, {
30
- readonly id: "supporting-constructs";
31
- readonly linkText: "Supporting Constructs";
32
- readonly description: "Status pages, dashboards, maintenance windows, and private locations";
23
+ readonly id: "configure-icmp-monitors";
24
+ readonly description: "ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions";
25
+ }, {
26
+ readonly id: "configure-heartbeat-monitors";
27
+ readonly description: "Heartbeat Monitor construct (`HeartbeatMonitor`)";
28
+ }, {
29
+ readonly id: "configure-check-groups";
30
+ readonly description: "CheckGroupV2 construct (`CheckGroupV2`) for organizing checks";
31
+ }, {
32
+ readonly id: "configure-alert-channels";
33
+ readonly description: "Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels";
34
+ }, {
35
+ readonly id: "configure-supporting-constructs";
36
+ readonly description: "Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)";
37
+ }];
38
+ export declare const SKILL: {
39
+ readonly name: "checkly";
40
+ readonly description: "Get all the information and context to let your agent initialize, set up, create, test and manage your monitoring checks using the Checkly CLI.";
41
+ };
42
+ export declare const ACTIONS: readonly [{
43
+ readonly id: "initialize";
44
+ readonly description: "Learn how to initialize and set up a new Checkly CLI project from scratch.";
45
+ }, {
46
+ readonly id: "configure";
47
+ readonly description: "Learn how to create and manage monitoring checks using Checkly constructs and the CLI.";
48
+ readonly references: readonly [{
49
+ readonly id: "configure-api-checks";
50
+ readonly description: "Api Check construct (`ApiCheck`), assertions, and authentication setup scripts";
51
+ }, {
52
+ readonly id: "configure-browser-checks";
53
+ readonly description: "Browser Check construct (`BrowserCheck`) with Playwright test files";
54
+ }, {
55
+ readonly id: "configure-playwright-checks";
56
+ readonly description: "Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites";
57
+ }, {
58
+ readonly id: "configure-multistep-checks";
59
+ readonly description: "Multistep Check construct (`MultiStepCheck`) for complex user flows";
60
+ }, {
61
+ readonly id: "configure-tcp-monitors";
62
+ readonly description: "TCP Monitor construct (`TcpMonitor`) with assertions";
63
+ }, {
64
+ readonly id: "configure-url-monitors";
65
+ readonly description: "URL Monitor construct (`UrlMonitor`) with assertions";
66
+ }, {
67
+ readonly id: "configure-dns-monitors";
68
+ readonly description: "DNS Monitor construct (`DnsMonitor`) with assertions";
69
+ }, {
70
+ readonly id: "configure-icmp-monitors";
71
+ readonly description: "ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions";
72
+ }, {
73
+ readonly id: "configure-heartbeat-monitors";
74
+ readonly description: "Heartbeat Monitor construct (`HeartbeatMonitor`)";
75
+ }, {
76
+ readonly id: "configure-check-groups";
77
+ readonly description: "CheckGroupV2 construct (`CheckGroupV2`) for organizing checks";
78
+ }, {
79
+ readonly id: "configure-alert-channels";
80
+ readonly description: "Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels";
81
+ }, {
82
+ readonly id: "configure-supporting-constructs";
83
+ readonly description: "Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)";
84
+ }];
33
85
  }];
34
86
  interface ExampleConfig {
35
87
  templateString: string;
@@ -1,46 +1,69 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EXAMPLE_CONFIGS = exports.REFERENCES = void 0;
3
+ exports.EXAMPLE_CONFIGS = exports.ACTIONS = exports.SKILL = exports.REFERENCES = void 0;
4
4
  exports.REFERENCES = [
5
5
  {
6
- id: 'api-checks',
7
- linkText: 'API Checks',
8
- description: 'ApiCheck construct, assertions, and authentication setup scripts',
6
+ id: 'configure-api-checks',
7
+ description: 'Api Check construct (`ApiCheck`), assertions, and authentication setup scripts',
9
8
  },
10
9
  {
11
- id: 'browser-checks',
12
- linkText: 'Browser Checks',
13
- description: 'BrowserCheck construct with Playwright test files',
10
+ id: 'configure-browser-checks',
11
+ description: 'Browser Check construct (`BrowserCheck`) with Playwright test files',
14
12
  },
15
13
  {
16
- id: 'playwright-checks',
17
- linkText: 'Playwright Checks',
18
- description: 'PlaywrightCheck construct for multi-browser test suites',
14
+ id: 'configure-playwright-checks',
15
+ description: 'Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites',
19
16
  },
20
17
  {
21
- id: 'multistep-checks',
22
- linkText: 'MultiStep Checks',
23
- description: 'MultiStepCheck construct for complex user flows',
18
+ id: 'configure-multistep-checks',
19
+ description: 'Multistep Check construct (`MultiStepCheck`) for complex user flows',
24
20
  },
25
21
  {
26
- id: 'uptime-monitors',
27
- linkText: 'Uptime Monitors',
28
- description: 'TCP (`TcpMonitor`), URL (`UrlMonitor`), DNS (`DnsMonitor`), ICMP (`IcmpMonitor`), and Heartbeat monitors (`HeartbeatMonitor`)',
22
+ id: 'configure-tcp-monitors',
23
+ description: 'TCP Monitor construct (`TcpMonitor`) with assertions',
29
24
  },
30
25
  {
31
- id: 'check-groups',
32
- linkText: 'Check Groups',
33
- description: 'CheckGroupV2 construct for organizing checks',
26
+ id: 'configure-url-monitors',
27
+ description: 'URL Monitor construct (`UrlMonitor`) with assertions',
34
28
  },
35
29
  {
36
- id: 'alert-channels',
37
- linkText: 'Alert Channels',
38
- description: 'Email, Phone, and Slack alert channels',
30
+ id: 'configure-dns-monitors',
31
+ description: 'DNS Monitor construct (`DnsMonitor`) with assertions',
39
32
  },
40
33
  {
41
- id: 'supporting-constructs',
42
- linkText: 'Supporting Constructs',
43
- description: 'Status pages, dashboards, maintenance windows, and private locations',
34
+ id: 'configure-icmp-monitors',
35
+ description: 'ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions',
36
+ },
37
+ {
38
+ id: 'configure-heartbeat-monitors',
39
+ description: 'Heartbeat Monitor construct (`HeartbeatMonitor`)',
40
+ },
41
+ {
42
+ id: 'configure-check-groups',
43
+ description: 'CheckGroupV2 construct (`CheckGroupV2`) for organizing checks',
44
+ },
45
+ {
46
+ id: 'configure-alert-channels',
47
+ description: 'Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels',
48
+ },
49
+ {
50
+ id: 'configure-supporting-constructs',
51
+ description: 'Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)',
52
+ },
53
+ ];
54
+ exports.SKILL = {
55
+ name: 'checkly',
56
+ description: 'Get all the information and context to let your agent initialize, set up, create, test and manage your monitoring checks using the Checkly CLI.',
57
+ };
58
+ exports.ACTIONS = [
59
+ {
60
+ id: 'initialize',
61
+ description: 'Learn how to initialize and set up a new Checkly CLI project from scratch.',
62
+ },
63
+ {
64
+ id: 'configure',
65
+ description: 'Learn how to create and manage monitoring checks using Checkly constructs and the CLI.',
66
+ references: exports.REFERENCES,
44
67
  },
45
68
  ];
46
69
  exports.EXAMPLE_CONFIGS = {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ai-context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ai-context/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ # Checkly CLI Agent Skill
2
+
3
+ This directory contains the agent skill for setting up, creating, and managing end-to-end testing, monitoring, & observability with an AI-native workflow using Checkly.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ skills/
9
+ └── checkly/
10
+ ├── README.md # Documentation about the skill
11
+ └── SKILL.md # Main skill instructions
12
+ ```
13
+
14
+ ## Why are there no `references`?
15
+
16
+ The Checkly CLI provides a `npx checkly skills` command which gives your agent all the tools to request the right information at the right time.
17
+
18
+ ## What is an Agent Skill?
19
+
20
+ Agent Skills are a standardized format for giving AI agents specialized knowledge and workflows. This skill teaches agents how to:
21
+
22
+ - Create and manage API checks, Browser Checks, URL monitors, and other monitors
23
+ - Set up Playwright-based Browser and Multistep checks and Playwright Check Suites
24
+ - Configure Heartbeat Monitors for cron jobs and scheduled tasks
25
+ - Define alert channels (email, Slack, phone, webhooks, etc.)
26
+ - Build dashboards and status pages
27
+ - Follow monitoring-as-code best practices with the Checkly CLI
28
+
29
+ ## Using This Skill
30
+
31
+ AI agents can load this skill to gain expertise in Checkly monitoring. The skill follows the [Agent Skills specification](https://agentskills.io) with:
32
+
33
+ - **SKILL.md**: Core instructions loaded when the skill is activated. It references the `npx checkly skills` command for detailed construct documentation and examples.
34
+
35
+ ## Learn More
36
+
37
+ - [Checkly CLI Documentation](https://www.checklyhq.com/docs/cli/overview/)
38
+ - [Checkly Constructs Reference](https://www.checklyhq.com/docs/constructs/overview/)
39
+ - [Agent Skills Specification](https://agentskills.io/specification.md)
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: checkly
3
+ description: Set up, create, test and manage monitoring checks using the Checkly CLI. Use when working with API Checks, Browser Checks, URL Monitors, ICMP Monitors, Playwright Check Suites, Heartbeat Monitors, Alert Channels, Dashboards, or Status Pages.
4
+ allowed-tools: Bash(npx:checkly:*) Bash(npm:create:checkly@latest) Bash(npm:install:*)
5
+ metadata:
6
+ author: checkly
7
+ ---
8
+
9
+ # Checkly
10
+
11
+ The Checkly CLI provides all the required information via the `npx checkly skills` command.
12
+
13
+ Use `npx checkly skills` to list all available actions, and `npx checkly skills <action>` to access up-to-date information on how to use the Checkly CLI for each action.
14
+
15
+ ## Progressive Disclosure via `npx checkly skills`
16
+
17
+ The skill is structured for efficient context usage:
18
+
19
+ 1. **Metadata** (~80 tokens): Name and description in frontmatter
20
+ 2. **Core Instructions** (~1K tokens): Main SKILL.md content with links to reference commands
21
+ 3. **Reference Commands** (loaded on demand): Detailed construct documentation with examples
22
+
23
+ Agents load what they need for each task.
24
+
25
+ ### `npx checkly skills initialize`
26
+ Learn how to initialize and set up a new Checkly CLI project from scratch.
27
+
28
+ ### `npx checkly skills configure`
29
+ Learn how to create and manage monitoring checks using Checkly constructs and the CLI.
30
+
31
+ #### `npx checkly skills configure api-checks`
32
+ Api Check construct (`ApiCheck`), assertions, and authentication setup scripts
33
+
34
+ #### `npx checkly skills configure browser-checks`
35
+ Browser Check construct (`BrowserCheck`) with Playwright test files
36
+
37
+ #### `npx checkly skills configure playwright-checks`
38
+ Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites
39
+
40
+ #### `npx checkly skills configure multistep-checks`
41
+ Multistep Check construct (`MultiStepCheck`) for complex user flows
42
+
43
+ #### `npx checkly skills configure tcp-monitors`
44
+ TCP Monitor construct (`TcpMonitor`) with assertions
45
+
46
+ #### `npx checkly skills configure url-monitors`
47
+ URL Monitor construct (`UrlMonitor`) with assertions
48
+
49
+ #### `npx checkly skills configure dns-monitors`
50
+ DNS Monitor construct (`DnsMonitor`) with assertions
51
+
52
+ #### `npx checkly skills configure icmp-monitors`
53
+ ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions
54
+
55
+ #### `npx checkly skills configure heartbeat-monitors`
56
+ Heartbeat Monitor construct (`HeartbeatMonitor`)
57
+
58
+ #### `npx checkly skills configure check-groups`
59
+ CheckGroupV2 construct (`CheckGroupV2`) for organizing checks
60
+
61
+ #### `npx checkly skills configure alert-channels`
62
+ Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels
63
+
64
+ #### `npx checkly skills configure supporting-constructs`
65
+ Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)
@@ -44,7 +44,7 @@ new ApiCheck('example-api-check', {
44
44
  }),
45
45
  runParallel: true,
46
46
  request: {
47
- url: 'https://api.example.com/v1/products',
47
+ url: 'INSERT_URL',
48
48
  method: 'GET',
49
49
  },
50
50
  })
@@ -0,0 +1,38 @@
1
+ # DNS Monitor
2
+
3
+ - Import the `DnsMonitor` construct from `checkly/constructs`.
4
+ - Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
5
+ - When adding `assertions`, always use `DnsAssertionBuilder` class.
6
+
7
+ **Reference:** https://www.checklyhq.com/docs/constructs/dns-monitor/
8
+
9
+ ```typescript
10
+ import { AlertEscalationBuilder, DnsAssertionBuilder, DnsMonitor, Frequency, RetryStrategyBuilder } from 'checkly/constructs'
11
+
12
+ new DnsMonitor('example-dns-monitor', {
13
+ name: 'Example DNS Monitor',
14
+ degradedResponseTime: 500,
15
+ maxResponseTime: 1000,
16
+ activated: true,
17
+ locations: [
18
+ 'eu-central-1',
19
+ 'eu-north-1',
20
+ ],
21
+ frequency: Frequency.EVERY_10M,
22
+ alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
23
+ amount: 0,
24
+ interval: 5,
25
+ }, {
26
+ enabled: false,
27
+ percentage: 10,
28
+ }),
29
+ retryStrategy: RetryStrategyBuilder.noRetries(),
30
+ request: {
31
+ recordType: 'AAAA',
32
+ query: 'INSERT_HOSTNAME',
33
+ assertions: [
34
+ DnsAssertionBuilder.responseCode().equals('NOERROR'),
35
+ ],
36
+ },
37
+ })
38
+ ```
@@ -0,0 +1,33 @@
1
+ # Heartbeat Monitor
2
+
3
+ - Import the `HeartbeatMonitor` construct from `checkly/constructs`.
4
+
5
+ **Reference:** https://www.checklyhq.com/docs/constructs/heartbeat-monitor/
6
+
7
+ ```typescript
8
+ import { AlertEscalationBuilder, Frequency, HeartbeatMonitor, RetryStrategyBuilder } from 'checkly/constructs'
9
+
10
+ new HeartbeatMonitor('example-heartbeat-monitor', {
11
+ name: 'Example Heartbeat Monitor',
12
+ period: 1,
13
+ periodUnit: 'hours',
14
+ grace: 30,
15
+ graceUnit: 'minutes',
16
+ activated: true,
17
+ frequency: Frequency.EVERY_10S,
18
+ alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
19
+ amount: 0,
20
+ interval: 5,
21
+ }, {
22
+ enabled: false,
23
+ percentage: 10,
24
+ }),
25
+ retryStrategy: RetryStrategyBuilder.linearStrategy({
26
+ baseBackoffSeconds: 60,
27
+ maxRetries: 2,
28
+ maxDurationSeconds: 600,
29
+ sameRegion: true,
30
+ }),
31
+ runParallel: true,
32
+ })
33
+ ```
@@ -0,0 +1,41 @@
1
+ # ICMP Monitor
2
+
3
+ - Import the `IcmpMonitor` construct from `checkly/constructs`.
4
+ - Reference [the docs for ICMP monitors](https://www.checklyhq.com/docs/constructs/icmp-monitor/) before generating any code.
5
+ - When adding `assertions`, always use `IcmpAssertionBuilder` class.
6
+ - Latency assertions require a property parameter: `'avg'`, `'min'`, `'max'`, or `'stdDev'`.
7
+ - Use `degradedPacketLossThreshold` and `maxPacketLossThreshold` for packet loss thresholds (percentages).
8
+
9
+ **Reference:** https://www.checklyhq.com/docs/constructs/icmp-monitor/
10
+
11
+ ```typescript
12
+ import { AlertEscalationBuilder, Frequency, IcmpAssertionBuilder, IcmpMonitor, RetryStrategyBuilder } from 'checkly/constructs'
13
+
14
+ new IcmpMonitor('example-icmp-monitor', {
15
+ name: 'Example ICMP Monitor',
16
+ request: {
17
+ hostname: 'INSERT_HOSTNAME',
18
+ pingCount: 10,
19
+ assertions: [
20
+ IcmpAssertionBuilder.latency('avg').lessThan(100),
21
+ IcmpAssertionBuilder.latency('max').lessThan(200),
22
+ ],
23
+ },
24
+ degradedPacketLossThreshold: 10,
25
+ maxPacketLossThreshold: 20,
26
+ activated: true,
27
+ locations: [
28
+ 'eu-central-1',
29
+ 'eu-north-1',
30
+ ],
31
+ frequency: Frequency.EVERY_10M,
32
+ alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
33
+ amount: 0,
34
+ interval: 5,
35
+ }, {
36
+ enabled: false,
37
+ percentage: 10,
38
+ }),
39
+ retryStrategy: RetryStrategyBuilder.noRetries(),
40
+ })
41
+ ```
@@ -0,0 +1,45 @@
1
+ # TCP Monitor
2
+
3
+ - Import the `TcpMonitor` construct from `checkly/constructs`.
4
+ - When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
5
+
6
+ **Reference:** https://www.checklyhq.com/docs/constructs/tcp-monitor/
7
+
8
+ ```typescript
9
+ import { AlertEscalationBuilder, Frequency, RetryStrategyBuilder, TcpAssertionBuilder, TcpMonitor } from 'checkly/constructs'
10
+
11
+ new TcpMonitor('example-tcp-monitor', {
12
+ name: 'Example TCP Monitor',
13
+ degradedResponseTime: 5000,
14
+ maxResponseTime: 5000,
15
+ activated: true,
16
+ locations: [
17
+ 'eu-central-1',
18
+ 'eu-west-2',
19
+ ],
20
+ frequency: Frequency.EVERY_1H,
21
+ alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
22
+ amount: 0,
23
+ interval: 5,
24
+ }, {
25
+ enabled: false,
26
+ percentage: 10,
27
+ }),
28
+ retryStrategy: RetryStrategyBuilder.linearStrategy({
29
+ baseBackoffSeconds: 60,
30
+ maxRetries: 2,
31
+ maxDurationSeconds: 600,
32
+ sameRegion: true,
33
+ }),
34
+ runParallel: true,
35
+ request: {
36
+ hostname: 'INSERT_HOSTNAME',
37
+ port: 4242,
38
+ ipFamily: 'IPv4',
39
+ assertions: [
40
+ TcpAssertionBuilder.responseTime().lessThan(200),
41
+ TcpAssertionBuilder.responseData().isEmpty(),
42
+ ],
43
+ },
44
+ })
45
+ ```