CtrlK
BlogDocsLog inGet started
Tessl Logo

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).

72

Quality

89%

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.

The body is an unusually strong piece of reference writing: entirely novel, non-inferable Maple specifics with executable JSON/SQL examples, explicit trap callouts, and a real verification feedback loop. Its main weakness is structural — ~616 lines of inlined reference material with no progressive disclosure into bundle files, plus some repetition of the query-boilerplate JSON blocks.

Suggestions

Split the self-contained reference tables into one-level-deep bundle files (e.g. references/panel-types.md, references/units.md, references/raw-sql.md, references/funnels-paths.md) and keep SKILL.md as a lean overview with the silent failures, verification loop, and links — this addresses the lowest-scoring dimension, progressive_disclosure.

De-duplicate the repeated addOns/boilerplate query JSON: show one full query draft once, then in later examples show only the fields that differ ({ 'addOns': … unchanged }, 'groupBy': ['service.name']) to reclaim ~100 lines of token budget.

Add a short explicit numbered build procedure at the top (choose panel type → pick data source kind → assemble or use add_dashboard_widget → read the inspect_chart_data verdict → fix and resubmit) so the workflow does not have to be reconstructed from section order.

DimensionReasoningScore

Conciseness

The body is dense and trap-focused with no explanation of concepts Claude already knows — every line carries Maple-specific facts ('percent means a 0–1 fraction; percent_100 means 0–100', 'there is no last'). It falls short of 5 because the full addOns boilerplate query block is repeated near-verbatim in ~4 JSON examples (~40 lines each) and the groupBy/percent traps are restated across multiple sections, which could be tightened. It is above 3 because none of the content is generic filler or re-teaching.

4 / 5

Actionability

Fully executable guidance: complete copy-paste JSON for each data-source kind, exact valid-token tables for aggregations and group-bys ('traces: count, avg_duration, p50_duration, p95_duration…'), the complete assembled-widget example, an executable ClickHouse SQL sample, and per-panel-type alias rules ('a DateTime bucket as the FIRST column (alias bucket)'). Score 5 rather than 4 because the examples are copy-paste ready and cover the common cases; not lower because there is no pseudocode or hand-waving.

5 / 5

Workflow Clarity

There is a clear decision flow (prefer the simplified widgets array, reach for raw JSON only when needed), explicit validation checkpoints ('Call describe_warehouse_tables first', 'query_funnel to try a definition before pinning it'), and a feedback loop ('suspicious or broken means fix and resubmit'). Score 4 rather than 5 because the overall build sequence (choose panel type → choose data source → assemble → verify) is implied by section order rather than stated as an explicit ordered procedure with recovery steps; rather than 3 because verification is explicit and prominent, not merely implicit.

4 / 5

Progressive Disclosure

The skill is a single ~616-line monolithic file with no references/, scripts/, or assets/ directories; large reference blocks (the panel-type table, the units table, the raw-SQL conventions, the funnel and paths specs) are inlined in SKILL.md when they clearly belong in separate one-level-deep reference files. Headers and navigation within the file are good, which keeps it above 2, but per the anchor, content that should be separate is inline with no external references at all, which prevents a 4.

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.

The description is exemplary: it states what the skill does, exactly when to use it with concrete trigger phrases, and a comprehensive topic inventory, all in third person without padding or over-claims. Every dimension lands on the top anchor.

DimensionReasoningScore

Specificity

The description names concrete actions ('Build, repair, or review Maple dashboard widgets via the MCP') and comprehensively enumerates 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; it is not score 4 because there are no minor gaps — every major capability area is named.

5 / 5

Completeness

It explicitly answers both questions: what ('Build, repair, or review Maple dashboard widgets via the MCP… Covers the panel-type table…') and when ('Triggers on phrases like … or any session that submits widget JSON to the maple MCP'). This matches the anchor for clearly and explicitly answering both with concrete trigger phrases; score 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

Trigger terms include the natural tool-name phrases an agent session would actually surface: 'create_dashboard', 'add_dashboard_widget', 'update_dashboard_widget', 'dashboard widget JSON', 'panel_type', 'QueryDraft', plus 'any session that submits widget JSON to the maple MCP'. Coverage spans tool names, schema terms, and loose phrasings; it is not score 4 because no obvious common variation is missing.

5 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — Maple dashboard widgets via the maple MCP — with distinct trigger tokens ('mcp__maple' tool names, 'panel_type', 'QueryDraft') that no general charting or dashboarding skill would claim. Conflict risk is minimal; it is not score 4 because the domain and triggers are uniquely identifying, not merely 'mostly distinct'.

5 / 5

Total

20

/

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 (616 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
MapleTechLabs/maple
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.