CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

create-dashboard

Build Kopai observability dashboards from OpenTelemetry metrics, logs, and traces by composing tiles — time-series charts, stat/KPI numbers, histograms, log timelines, and trace-detail views — into a dashboard via the Kopai SDK. Use this skill whenever the user wants to visualize, chart, monitor, or 'keep an eye on' telemetry — e.g. 'make a dashboard', 'monitoring view', 'KPI panel', 'chart request latency and throughput', 'an incident board with error logs and a trace viewer' — even if they don't say the word 'dashboard' — and when another workflow needs to present telemetry visually (e.g. after a root-cause analysis). This creates Kopai dashboards specifically. Do NOT use it to investigate or root-cause an issue (use root-cause-analysis), to add instrumentation (use otel-instrumentation), to build Grafana/Prometheus dashboards, or to code React/UI chart components. When the Kopai connector is attached, use create-live-page instead unless the user asks for a Kopai dashboard.

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is kopai/create-dashboard

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

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

A strong, highly actionable body: executable code, a sequenced workflow with error-recovery loops, and non-obvious gotchas (raw-query requirement, nullable-prop rule) that Claude could not infer. The weaknesses are a dangling generic reference to rules/<rule-name>.md with no bundle files present, and minor internal duplication of the MetricType guidance.

Suggestions

Fix the dangling reference: either ship rules/workflow.md in the bundle or name the concrete path (e.g. 'Read rules/workflow.md') instead of the generic 'rules/<rule-name>.md' placeholder, so the pointer resolves to a real file.

Consolidate the MetricType guidance (kq.metrics("<Type>") auto-pinning) into one section — it is currently repeated in rule 1, Backend caveats, and Workflow step 1 — to trim token overhead.

If the per-component props matrix grows, move the full prop reference into a bundled reference file and keep SKILL.md as the overview with a clearly signaled, one-level-deep link.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — no generic OTel/dashboard tutorials — but the MetricType guidance ('Choose the MetricType up front via kq.metrics("Gauge")') is stated three times (rule 1, Backend caveats, Workflow step 1) and rule #2 is restated in the Components section. This fits 'efficient; minor instances of over-explanation that could be trimmed' rather than 'every token earns its place'.

4 / 5

Actionability

Fully executable, copy-paste-ready guidance: a complete runnable Quick Example ('npx tsx create-cpu-dashboard.mts'), exact commands (npm i @kopai/sdk, the CLI fallback one-liner), concrete kq chains per tile type in the components table, and quoted render-time error messages that make failure modes actionable. Common cases are covered.

5 / 5

Workflow Clarity

The five-step workflow (discover → build queries → assemble uiTree → create → view) has an explicit error-recovery feedback loop: 'On a KopaiValidationError/KopaiError, re-run discoverMetrics() to recheck names and types, fix the tree, and retry', plus backend-connection error guidance embedded in the dynamic commands. Sequence and checkpoints are explicit.

5 / 5

Progressive Disclosure

The '## Rules' section points to 'Read rules/<rule-name>.md for details', but no rules/ directory (nor any references/scripts/assets bundle) exists, so the pointer is generic and dangling — a navigation dead-end that fits 'references present but not clearly signaled'. The rest of the structure (sections, table, dynamic schema/metrics injection) is reasonable, keeping it above anchor 2.

3 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

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

Excellent description: it explicitly states what the skill does, when to use it with concrete user-utterance triggers, and how it differs from adjacent skills (root-cause-analysis, otel-instrumentation, Grafana/Prometheus, create-live-page). Written in third person with no vague filler. The length is justified by functional trigger and boundary content rather than padding.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with comprehensive coverage: 'Build Kopai observability dashboards from OpenTelemetry metrics, logs, and traces by composing tiles — time-series charts, stat/KPI numbers, histograms, log timelines, and trace-detail views — into a dashboard via the Kopai SDK.' It names the domain, the specific tile types, the data sources, and the mechanism (Kopai SDK).

5 / 5

Completeness

Both 'what' and 'when' are explicitly answered with concrete trigger phrases: the what is the full tile-composition capability list, and the when is 'Use this skill whenever the user wants to visualize, chart, monitor... even if they don't say the word "dashboard" — and when another workflow needs to present telemetry visually (e.g. after a root-cause analysis).'

5 / 5

Trigger Term Quality

Comprehensive natural-language triggers users would actually say: 'visualize, chart, monitor, or "keep an eye on" telemetry', plus quoted example utterances ('make a dashboard', 'monitoring view', 'KPI panel', 'chart request latency and throughput', 'an incident board with error logs and a trace viewer'). Synonyms and phrasing variants are covered, including the no-'dashboard'-word case.

5 / 5

Distinctiveness Conflict Risk

A clear niche (Kopai dashboards specifically) with explicit exclusions that eliminate overlap risk: 'Do NOT use it to investigate or root-cause an issue (use root-cause-analysis), to add instrumentation (use otel-instrumentation), to build Grafana/Prometheus dashboards, or to code React/UI chart components. When the Kopai connector is attached, use create-live-page instead.' Adjacent-skill boundaries are all disambiguated.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

kopai-app/kopai-mono

Path

skills/create-dashboard/SKILL.md

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.