CtrlK
BlogDocsLog inGet started
Tessl Logo

plugin-bundle-size

Optimise Grafana app plugin bundle size using React.lazy, Suspense, and webpack code splitting. Use when the user asks to reduce plugin bundle size, optimise module.js, add code splitting, improve initial plugin load performance, split plugin chunks, lazy load plugin pages, or help implement lazy loading in a Grafana app plugin. Triggers on phrases like "optimise plugin bundle size", "module.js is too large", "plugin is slow to load", "code split the plugin", "reduce initial JS payload", or "help me with Suspense in my plugin".

73

Quality

90%

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

SKILL.md
Quality
Evals
Security

Quality

Content

86%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 high-quality, actionable skill body with concrete code, a sequenced multi-step workflow, and well-organised progressive disclosure via real reference files. The main improvement areas are tightening the inline CI YAML and surfacing an inline error-recovery loop rather than deferring it to the troubleshooting reference.

Suggestions

Consider moving the two full bundle-size workflow YAMLs (Step 1) into a references file and keeping only the key snippets inline, to tighten conciseness.

Add an inline 'if module.js did not shrink, re-check module.tsx for direct/transitive feature imports (see troubleshooting)' feedback loop in Step 7 so error recovery does not require navigating to a separate file.

Trim explanatory asides like 'The smaller it is, the less impact the plugin has on Grafana's overall startup time' that restate the obvious motivation.

DimensionReasoningScore

Conciseness

Dense and assumes Claude's competence (no basic-concept padding), with each section earning its place; mildly held back by the long inline CI workflow YAML in Step 1 and a few explanatory asides that could be trimmed, so 4 rather than 5.

4 / 5

Actionability

Fully executable throughout — concrete bash probes, complete TSX examples, and pinned GitHub action SHAs ('grafana/plugin-actions/bundle-size@a66a1c96...') that are copy-paste ready and cover the common cases.

5 / 5

Workflow Clarity

A clear 8-step sequence with validation checkpoints (baseline measurement in Step 2, a target table and re-measure in Step 7, a runtime test checklist in Step 8), but the explicit 'if it fails, fix and retry' feedback loop is externalised to troubleshooting.md rather than stated inline, so 4 rather than 5.

4 / 5

Progressive Disclosure

SKILL.md is a well-structured overview that keeps the core flow inline and splits datasource-specific patterns and troubleshooting into two clearly-signalled, one-level-deep, real reference files (datasource-plugins.md, troubleshooting.md).

5 / 5

Total

18

/

20

Passed

Description

95%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.

A strong, third-person description with explicit 'what' and 'when' guidance and a rich set of natural trigger phrases. The only minor gap is that the core 'what' is a single optimisation goal expressed via techniques rather than a list of distinct capabilities.

DimensionReasoningScore

Specificity

Names the domain (Grafana app plugin bundle size) and concrete techniques ('React.lazy, Suspense, and webpack code splitting') plus several actions in the 'Use when' clause (reduce bundle size, optimise module.js, split chunks, lazy load pages); just shy of fully comprehensive, so 4 rather than 5.

4 / 5

Completeness

Explicitly answers both 'what' (optimise bundle size via React.lazy/Suspense/webpack splitting) and 'when' ('Use when...' plus 'Triggers on phrases like...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive natural phrases with synonyms — 'optimise plugin bundle size', 'module.js is too large', 'plugin is slow to load', 'code split the plugin', 'reduce initial JS payload', 'help me with Suspense in my plugin' — matching what a user would actually say.

5 / 5

Distinctiveness Conflict Risk

A clear niche (Grafana app plugin bundle optimisation) with distinct, domain-specific triggers that are unlikely to fire for unrelated skills.

5 / 5

Total

19

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
grafana/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.