CtrlK
BlogDocsLog inGet started
Tessl Logo

customerio-observability

Set up Customer.io monitoring and observability. Use when implementing metrics, structured logging, alerting, or Grafana dashboards for Customer.io integrations. Trigger: "customer.io monitoring", "customer.io metrics", "customer.io dashboard", "customer.io alerts", "customer.io observability".

80

Quality

77%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/saas-packs/customerio-pack/skills/customerio-observability/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

89%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a well-structured skill description with strong completeness and distinctiveness. It clearly identifies both what the skill does and when to use it, with explicit trigger terms. The main weakness is that the capability descriptions could be more concrete—listing specific actions rather than broad categories like 'metrics' and 'alerting'.

Suggestions

Make capabilities more concrete by specifying actions, e.g., 'Configure Prometheus metrics exporters, set up Grafana dashboards, create alerting rules, and implement structured logging for Customer.io webhook integrations.'

DimensionReasoningScore

Specificity

Names the domain (Customer.io monitoring/observability) and lists some actions (metrics, structured logging, alerting, Grafana dashboards), but these are more categories than concrete specific actions like 'create alert rules' or 'configure Prometheus exporters'.

2 / 3

Completeness

Clearly answers both 'what' (set up Customer.io monitoring and observability) and 'when' (explicit 'Use when' clause with specific scenarios plus a 'Trigger' list of terms). Both components are explicitly stated.

3 / 3

Trigger Term Quality

Includes explicit trigger terms that users would naturally say: 'customer.io monitoring', 'customer.io metrics', 'customer.io dashboard', 'customer.io alerts', 'customer.io observability'. These cover the main natural variations well.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive due to the specific combination of Customer.io + monitoring/observability. The niche is narrow enough (Customer.io-specific monitoring, not general monitoring or general Customer.io usage) that it's unlikely to conflict with other skills.

3 / 3

Total

11

/

12

Passed

Implementation

64%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill provides highly actionable, production-ready code for Customer.io observability with good coverage of metrics, logging, dashboards, and alerting. Its main weaknesses are the monolithic structure (all code inline rather than split into referenced files) and the lack of validation checkpoints between steps to verify the setup works correctly. The instrumented client section could be more concise by showing the pattern once rather than repeating it three times.

Suggestions

Add validation checkpoints after key steps, e.g., 'Verify metrics endpoint returns data: curl localhost:3000/metrics | grep cio_api' and 'Test an alert fires: temporarily lower threshold and trigger'

Extract the Grafana dashboard JSON and Prometheus alert rules into separate referenced files (e.g., grafana-dashboard.json, customerio-alerts.yml) to reduce the main file length

Condense the instrumented client by showing one fully implemented method, then noting 'Apply the same pattern (startTimer → try/catch → inc error counter) to identify, trackEvent, sendEmail'

DimensionReasoningScore

Conciseness

The skill is quite long (~250 lines of code) with some repetitive patterns across the instrumented client methods (identify, trackEvent, sendEmail all follow the same try/catch pattern). The metrics table and error handling table are efficient, but the full instrumented client code could be condensed by showing one method and noting the pattern applies to others.

2 / 3

Actionability

Every step provides fully executable TypeScript code with correct imports, proper types, and real library APIs (prom-client, pino, customerio-node, express). The Grafana dashboard JSON and Prometheus alerting YAML are copy-paste ready with real PromQL expressions.

3 / 3

Workflow Clarity

The 7 steps are logically sequenced (define metrics → instrument client → add logging → collect webhook metrics → expose endpoint → dashboard → alerts), but there are no validation checkpoints. No step verifies that metrics are being scraped correctly, that the dashboard loads, or that alerts fire as expected. For an observability setup involving multiple interconnected systems, verification steps are important.

2 / 3

Progressive Disclosure

The content is a monolithic wall of code that could benefit from splitting the Grafana dashboard JSON and Prometheus alert rules into separate referenced files. The reference to 'customerio-webhooks-events skill' and 'customerio-advanced-troubleshooting' shows some cross-referencing, but the main file is very long with inline content that could be externalized.

2 / 3

Total

9

/

12

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
jeremylongshore/claude-code-plugins-plus-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.