CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

maple-dashboard-widgets

Build, repair, or review Maple dashboard widgets via the MCP. Triggers on phrases like 'create_dashboard', 'add_dashboard_widget', 'update_dashboard_widget', 'dashboard widget JSON', 'panel_type', 'QueryDraft', or any session that submits widget JSON to the maple MCP. Covers the panel-type table, the kind-discriminated data source, the percent vs percent_100 unit rule, valid aggregations and group-by tokens per source, the custom whereClause grammar, the scalar reduceToValue transform, and the verification step (MCP success != chart correctness).

Quality

87%

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

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.

An exceptionally actionable, Maple-specific reference with almost no wasted tokens and a genuine verification feedback loop. Its main weakness is structure across files: everything lives inline in one very long SKILL.md, so the per-topic detail (funnels, paths, display config, raw SQL) is always in context even when irrelevant to the task at hand.

Suggestions

Split the rarely-needed deep-dives into one-level-deep reference files (e.g. references/funnels-paths.md, references/display-config.md, references/raw-sql.md) and keep SKILL.md as the panel-type table, silent failures, data-source shapes, and verification loop, linking out for the details.

Deduplicate the three near-identical full query-draft JSON blocks: show the complete object once and thereafter show only the fields that differ (resultShape, transform, groupBy, limit).

In the funnel example, show the steps definition once and note that add_dashboard_widget derives the route data source from display.funnel.steps, rather than repeating the steps array in both dataSource params and display.

DimensionReasoningScore

Conciseness

The body is dense with Maple-specific facts Claude cannot know (the percent/percent_100 inversion, the addOns all-five-keys decode rule, PascalCase columns and Title-Case enum values, "Duration is nanoseconds") with essentially no padding or generic explanation. It falls short of lean-perfection because three near-identical ~30-line full query-draft JSON blocks are repeated and the funnel example duplicates its steps array in both dataSource and display, which could be trimmed. This matches 'efficient; minor instances of over-explanation that could be trimmed' rather than the noticeably-verbose anchor 3.

4 / 5

Actionability

Everything is executable: complete copy-paste JSON templates for each data-source kind and the assembled widget, exhaustive tables of valid aggregation and group-by tokens per source, exact SQL with macros and required column aliases ("a DateTime bucket as the FIRST column (alias bucket)", "one scalar aliased value"), and named discovery tools ("Call describe_warehouse_tables first", "query_funnel to try a definition before pinning it"). This matches the fully-executable top anchor.

5 / 5

Workflow Clarity

The path is well guided: "When to use this skill" gives the simplified-spec-vs-raw-JSON decision, "The three silent failures" front-loads the traps, and verification is explicit with a feedback loop ("Read the verdict: suspicious or broken means fix and resubmit") plus pre-write checkpoints like describe_warehouse_tables and query_funnel. It stops short of anchor 5 because the end-to-end sequence (choose panel type → build data source → display config → verify) is implied by section order rather than given as an explicit ordered procedure with recovery steps.

4 / 5

Progressive Disclosure

Section headers and internal navigation are good, but the skill is a single ~620-line file with zero references: the funnel and paths deep-dives, the full display-config table, and the raw-SQL conventions are detail that belongs in one-level-deep reference files loaded only when needed. This matches 'some structure but could be better organized; content that should be separate is inline'; it is not anchor 2 because the inlined content is well-sectioned and navigable, and the under-50-line simple-skill exception to score 5 does not apply.

3 / 5

Total

16

/

20

Passed

Description

92%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 description: it states concrete capabilities, explicitly enumerates what domain knowledge it covers, and provides both literal trigger phrases and a behavioral trigger condition. Its only weakness is that a few natural trigger variations (e.g. replace_dashboard_widgets, dashboard_json) are absent.

DimensionReasoningScore

Specificity

"Build, repair, or review Maple dashboard widgets via the MCP" names three concrete actions, and the description enumerates comprehensive coverage: "the panel-type table, the kind-discriminated data source, the percent vs percent_100 unit rule, valid aggregations and group-by tokens per source, the custom whereClause grammar, the scalar reduceToValue transform". This matches the anchor for multiple specific concrete actions with comprehensive coverage, not the level below where gaps in coverage exist.

5 / 5

Completeness

Both questions are answered explicitly: the "what" is "Build, repair, or review Maple dashboard widgets via the MCP" with an enumerated coverage list, and the "when" is "Triggers on phrases like 'create_dashboard', 'add_dashboard_widget', ... or any session that submits widget JSON to the maple MCP" — concrete trigger phrases exactly matching the top anchor. Not 4, because the 'when' is fully explicit rather than improvable.

5 / 5

Trigger Term Quality

Triggers on concrete terms an agent session would naturally emit ('create_dashboard', 'add_dashboard_widget', 'update_dashboard_widget', 'panel_type', 'QueryDraft', 'dashboard widget JSON') plus the behavioral trigger "any session that submits widget JSON to the maple MCP". A few natural terms are missing (e.g. 'replace_dashboard_widgets', 'dashboard_json', plain phrases like "add a chart to the Maple dashboard"), which fits the 'good keyword coverage; a few natural terms missing' anchor rather than the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

"Maple dashboard widgets via the MCP" is a clear niche, and every trigger term is Maple-specific (maple MCP tool names, 'panel_type', 'QueryDraft'), so overlap with generic dashboard/chart/Grafana skills is minimal. This is the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

19

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (629 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

MapleTechLabs/maple

Path

skills/maple-dashboard-widgets/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.