CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

shopify-polaris-customer-account-extensions

Build custom functionality that merchants can install at defined points on the Order index, Order status, and Profile pages in customer accounts. Customer Account UI Extensions also supports scaffolding new customer account extensions using Shopify CLI commands.

60

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./plugins/shopify/skills/shopify-polaris-customer-account-extensions/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%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 excels at actionability and workflow discipline — mandatory search and validation steps with a bounded, well-specified retry loop, backed by real bundle scripts. Its weaknesses are duplication: the search/validate instructions are fully restated later in the file, and the entire component prop catalog is inlined rather than split into a references file. Deduplicating the tool-call instructions and moving the component catalog to a references file would lift both conciseness and progressive disclosure.

Suggestions

Deduplicate the tool-call instructions: keep the numbered 5-step workflow at the top as the single source of truth, and reduce the later 'MANDATORY: Search/Validate' sections to one-line reminders instead of restating flag syntax and retry policy in full.

Move the ~200-line component catalog (all s-* examples with props) into a references/ file (e.g. references/components.md) and link to it, keeping only a handful of the most common components inline.

Trim the literal duplication of the CLI scaffold command explanation and target list context by cross-referencing the earlier section rather than restating it.

DimensionReasoningScore

Conciseness

Much of the body is dense, framework-specific reference material Claude genuinely lacks (s- component catalog, extension targets, attribute rules), which earns its place — but the search/validate instructions are stated twice in near-full detail ('Required Tool Calls (do not skip)' at the top, then 'MANDATORY: Search Before Writing Code' and 'MANDATORY: Validate Before Returning Code' further down), and the target list and instrumentation-flag explanations are also repeated. That duplication is unnecessary padding, fitting 'Mostly efficient but includes some unnecessary explanation or could be tightened' rather than the lean 5, but the unique material is not generic fluff, so it stays above a 2.

3 / 5

Actionability

The body gives exact executable commands (scripts/search_docs.mjs and scripts/validate.mjs with full flag syntax), a real CLI scaffold command, complete runnable component examples with props, and concrete attribute rules with ✅/❌ examples. Commands are copy-paste ready once identity placeholders (YOUR_MODEL_NAME etc.) are filled, which the text explicitly explains. This matches 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'; it is not a 4 because there is no material gap in executable detail.

5 / 5

Workflow Clarity

A numbered 1–5 workflow is stated up front ('search before writing code' → 'write the code' → 'validate before returning' → retry loop → 'return code only after validation passes'), with an explicit validation checkpoint, a bounded retry policy (max 3 retries with revision incrementing), and an error-driven fix loop that says to search for the exact reported type and fix exactly the reported error. This matches the top anchor: clear sequence, explicit validation steps, and feedback loops for error recovery.

5 / 5

Progressive Disclosure

The bundle contains real scripts (search_docs.mjs, validate.mjs) that are correctly referenced and one level deep, and the body has clear section headers — but the ~200-line inline component catalog ('Components available for customer account UI extensions... these examples have all the props available') is exactly the content that belongs in a references file, and there is no references/ directory at all. This fits 'Some structure but could be better organized; content that should be separate is inline' rather than 2, because the structure present is not minimal and navigation within the file is easy.

3 / 5

Total

16

/

20

Passed

Description

61%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 concrete, domain-specific, and written in appropriate third person, but it omits any 'use when' trigger guidance, which limits both completeness and how reliably a user would reach for this skill. Trigger-term coverage is good though not exhaustive of natural synonyms. Adding an explicit 'Use when...' sentence with common user phrasings would move it from solid to strong.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when a developer asks to customize Shopify customer account pages — Order index, Order status, or Profile — or to scaffold a customer account UI extension.'

Include natural trigger synonyms users would actually say (e.g. 'customer account page', 'Shopify app', 'customer accounts order status page') to strengthen trigger-term coverage.

Briefly enumerate one or two more concrete capabilities (e.g. using Polaris web components like s-banner/s-button, validating code against extension targets) so specificity reaches comprehensive coverage.

DimensionReasoningScore

Specificity

The description names the domain ("customer accounts" on Order index, Order status, and Profile pages) and two concrete actions — "Build custom functionality that merchants can install at defined points" and "scaffolding new customer account extensions using Shopify CLI commands" — but stops short of comprehensive coverage (no mention of components, targets, validation, or the search tooling). This matches the anchor 'Names domain and 1-2 concrete actions, but not comprehensive' rather than 4, which requires several specific actions with only minor gaps.

3 / 5

Completeness

The 'what' is clearly stated (build installable custom functionality at named extension points, plus CLI scaffolding), but there is no 'Use when...' clause or equivalent trigger guidance anywhere. Per the judging guidelines, a missing 'when' clause caps completeness at 3; it is not a 2 because the 'what' is concrete and specific, and not a 4 because 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Natural phrases a developer would say are present — "customer accounts", "Order index", "Order status", "Profile pages", "Shopify CLI", "scaffolding" — giving good keyword coverage. It misses some natural synonyms and variations ("customer account page", "checkout" vs "customer account" distinction, "Shopify app"), so it fits 'Good keyword coverage; a few natural terms missing' rather than the comprehensive synonym coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

The scope is a clear niche — Shopify customer account extension points — with page-level specificity ("Order index, Order status, and Profile pages") that distinguishes it from sibling Shopify extension skills. There is minor overlap risk with other Shopify extension flavors (e.g., checkout/admin extensions also "build custom functionality that merchants can install at defined points"), matching 'Mostly distinct; minor overlap risk with closely related skills' rather than the minimal-conflict clarity of a 5.

4 / 5

Total

14

/

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

openai/plugins

Path

plugins/shopify/skills/shopify-polaris-customer-account-extensions/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.