CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

shopify-pos-ui

Build retail point-of-sale applications using Shopify's POS UI components. These components provide a consistent and familiar interface for POS applications. POS UI Extensions also supports scaffolding new POS extensions using Shopify CLI commands. Keywords: POS, Retail, smart grid

55

Quality

69%

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-pos-ui/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

62%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 delivers strongly on workflow clarity and actionability — the search/write/validate retry loop and scaffolding steps are explicit and executable. Its weaknesses are token efficiency and structure: the core workflow is repeated three times and the 34-target catalog, while accurate, is inline reference material that should live in a separate file.

Suggestions

Move the 34-target catalog to references/extension-targets.md and keep a short summary (surfaces, target families, how to pick) inline, linking to it from the body.

State the search → write → validate → retry-3 workflow once and remove the duplicate 'MANDATORY: Search' and 'MANDATORY: Validate' sections that restate the 'Required Tool Calls' list.

Collapse the near-identical per-target paragraphs into a shared pattern note (e.g. one explanation that most surfaces expose action.render / block.render / menu-item.render variants) and list only target names with their unique capabilities.

DimensionReasoningScore

Conciseness

The body is noticeably verbose: the search/validate workflow is stated three times (the 'Required Tool Calls' list, the 'MANDATORY: Search Before Writing Code' section, and the 'MANDATORY: Validate Before Returning Code' section), and the 34-target catalog repeats near-identical paragraph templates ('Renders a full-screen modal interface launched from...', 'Menu items typically invoke shopify.action.presentModal()') dozens of times. This fits score 2 (several unnecessary/padded sections) rather than 1, because the content is API-specific and not merely explaining concepts Claude already knows.

2 / 5

Actionability

Concrete, executable commands with exact flags (search_docs.mjs and validate.mjs invocations, shopify app init/generate extension with template options), working import code, and ✅/❌ web-component attribute examples make the guidance mostly copy-paste ready. It falls short of 5 because the placeholders (YOUR_MODEL_NAME, YOUR_ARTIFACT_ID, etc.) require assembly and there is no complete end-to-end extension code example showing a full shopify.extend() registration and component.

4 / 5

Workflow Clarity

The sequence is explicit with a full feedback loop: search before writing → write → validate with required flags → on failure read the error, search for the named type, fix exactly the reported error, re-validate, max 3 retries, then return the best attempt with an explanation. The scaffolding flow is a numbered, nested step list with stop conditions. This matches the score-5 anchor: clear sequence, explicit validation steps, and error-recovery loops.

5 / 5

Progressive Disclosure

There is structure (clear ## and ### headers, real referenced scripts in ./scripts/), but the ~200-line catalog of 34 extension targets is exactly the kind of API reference that belongs in a separate file, and it is fully inlined. This lands on the score-3 anchor (some structure, content that should be separate is inline) rather than 2, since sections and script references are clearly signaled, but not 4 because the bulk of the file is reference data rather than overview.

3 / 5

Total

14

/

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 clearly states what the skill does and includes an explicit keyword list for triggering, but it lacks any 'use when' guidance and leans on a filler sentence instead of enumerating capabilities. It is serviceable but below the standard of the good examples, which pair an action list with an explicit trigger clause.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building or scaffolding Shopify POS UI extensions, or when the user mentions POS, point-of-sale, retail checkout, or smart grid tiles.'

Replace the filler sentence 'These components provide a consistent and familiar interface for POS applications' with concrete capabilities (e.g. rendering tiles/blocks/modals, searching docs, validating code via CLI).

Expand the keyword list with natural user phrasings such as 'point of sale', 'POS app', 'receipt', and 'cash register' to improve trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain and two concrete actions — "Build retail point-of-sale applications using Shopify's POS UI components" and "scaffolding new POS extensions using Shopify CLI commands" — but coverage stops there (no mention of validation, target selection, or component usage). This matches the score-3 anchor (domain plus 1-2 concrete actions, not comprehensive); it does not reach 4 because the middle sentence "These components provide a consistent and familiar interface for POS applications" is filler rather than an additional action.

3 / 5

Completeness

The 'what' is clear (build POS apps with POS UI components; scaffold extensions via CLI), but there is no 'Use when...' clause or equivalent trigger guidance anywhere. Per the judging guidelines, a missing 'Use when' clause caps completeness at 3, which is exactly where this lands — clear what, absent when.

3 / 5

Trigger Term Quality

Explicit "Keywords: POS, Retail, smart grid" plus "point-of-sale" in the first sentence gives good natural-term coverage users would actually say. It sits at score 4 (good coverage, a few natural terms missing) rather than 5 because common variations like "checkout", "receipt", "register", or "POS extension" phrasing are absent; it is clearly above 3 since multiple relevant keywords are present.

4 / 5

Distinctiveness Conflict Risk

"Shopify's POS UI components" and "POS UI Extensions" carve a clear niche distinct from generic UI or app skills. Minor overlap risk remains with other Shopify skills (e.g., general Shopify CLI or app-development skills), fitting the score-4 anchor 'mostly distinct; minor overlap risk with closely related skills' rather than 5's minimal-conflict bar.

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-pos-ui/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.