CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

kopai/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

91%

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

Overview
Quality
Evals
Security
Files

Quality

Content

78%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 highly actionable, competent body: executable code, exact commands and error strings, and a well-sequenced workflow with a create-time feedback loop. Weaknesses are a dangling `rules/<rule-name>.md` reference with no corresponding bundle file, fully inlined reference-grade material, some rule repetition, and a missing render-time verification step despite render failures being called out as a primary failure mode.

Suggestions

Ship the referenced `rules/workflow.md` file (or remove the "## Rules" section): the body tells the reader to "Read `rules/<rule-name>.md` for details" but no `rules/` directory exists in the bundle, so the only progressive-disclosure pointer is broken.

Add a post-create verification step to the workflow — e.g. open the dashboard URL and check for render-time errors, with a fix-and-retry loop mirroring the existing KopaiValidationError recovery — since the skill itself warns that trees can pass `createDashboard` but fail at render.

Consolidate the repeated guidance: state the raw-query rule and the null-for-unused-props rule once each (in "Two rules") and reference them elsewhere in one line, and deduplicate the identical CLI-error fallback string used in both `!` blocks.

DimensionReasoningScore

Conciseness

The body assumes Claude's competence (no explanations of OTel, dashboards, or TypeScript) and is dense with Kopai-specific gotchas, but the null-prop rule is stated three times ("Two rules" #2, workflow step 3, the Components sizing note), the raw-query rule is repeated across four sections, and the identical CLI-error fallback string is duplicated in both `!` blocks. Not 5: the repetition means not every token earns its place; not 3: there is no over-explanation of known concepts, only intentional-but-trimmable rule reiteration.

4 / 5

Actionability

A complete, copy-paste-ready `create-cpu-dashboard.mts` script, exact run commands (`npx tsx dashboard.mts`, `npm i @kopai/sdk`), per-tile executable `kq` query snippets in the components table, the exact render-time error strings to expect, and a concrete CLI fallback command. Not 4: the guidance is fully executable and the examples cover the common cases for every tile type.

5 / 5

Workflow Clarity

Five clearly sequenced steps with an explicit feedback loop ("On a KopaiValidationError/KopaiError, re-run discoverMetrics() to recheck names and types, fix the tree, and retry") plus try/catch and stdout-id guidance. Not 5: the doc itself identifies render-time failure as a key failure mode ("passes createDashboard but fails at render"), yet step 5 only opens the view URL — there is no checkpoint to verify the dashboard renders or a recovery loop for render-time errors, a minor validation gap.

4 / 5

Progressive Disclosure

Sections are well-organized and the `!` runtime blocks keep the backend schema out of context, but the body's only file reference — "Read `rules/<rule-name>.md` for details" for the `workflow` rule — is dangling: no `rules/` directory (nor references/, scripts/, assets/) exists in the bundle, so a reader following it finds nothing. Additionally, the full component/prop table and schema details are inlined in SKILL.md rather than split into a reference file. Not 4: a broken reference and wholesale inlining exceed "minor organization gaps"; not 2: the in-document structure itself is clear and navigable.

3 / 5

Total

16

/

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.

An exemplary description: concrete capabilities, comprehensive natural-language triggers including colloquialisms, explicit what/when guidance, and explicit negative triggers that disambiguate every adjacent skill (root-cause-analysis, otel-instrumentation, create-live-page, Grafana). Third-person voice is used consistently. The only nitpick is length, but every clause carries trigger or disambiguation value rather than padding.

DimensionReasoningScore

Specificity

"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" lists multiple specific concrete actions with comprehensive coverage of the tile types. Not 4: there are no gaps in the action coverage — every tile variety the skill handles is enumerated.

5 / 5

Completeness

Explicitly answers "what" (build Kopai dashboards by composing tiles from OTel metrics/logs/traces via the SDK) and "when" ("Use this skill whenever the user wants to visualize, chart, monitor... even if they don't say the word 'dashboard'... when another workflow needs to present telemetry visually") with concrete trigger phrases. Not 4: the "when" clause is fully explicit with example triggers rather than merely present.

5 / 5

Trigger Term Quality

Covers "visualize, chart, monitor, or 'keep an eye on'" plus concrete user phrasings like "'make a dashboard', 'monitoring view', 'KPI panel', 'chart request latency and throughput', 'an incident board with error logs and a trace viewer'" and explicitly targets users who "don't say the word 'dashboard'". Not 4: natural synonyms and colloquial variations are comprehensively covered; no common phrasing is missing.

5 / 5

Distinctiveness Conflict Risk

"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" gives a clear niche with explicit carve-outs naming every neighboring skill. Not 4: conflict risk is minimal, not minor — the disambiguation is exhaustive and directional.

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.

Reviewed

On this page