Write Arcade expressions for dynamic calculations in popups, renderers, labels, and field calculations. Use for data-driven styling, custom labels, and computed fields.
80
75%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./contexts/4.34/skills/arcgis-arcade/SKILL.mdQuality
Discovery
85%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid skill description that clearly identifies a specific niche (Arcade expressions) with concrete actions and explicit use-case triggers. Its main weakness is that it assumes the user already knows the term 'Arcade expressions' and doesn't include broader ecosystem terms (like ArcGIS) that users might naturally use when seeking this skill. The description is concise and uses proper third-person voice.
Suggestions
Add broader ecosystem keywords like 'ArcGIS', 'Esri', or 'map expressions' to capture users who may not use the term 'Arcade' directly.
Consider adding file format or context triggers such as 'web maps', 'feature layers', or 'attribute expressions' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: writing Arcade expressions for dynamic calculations in popups, renderers, labels, and field calculations, plus data-driven styling, custom labels, and computed fields. | 3 / 3 |
Completeness | Clearly answers 'what' (write Arcade expressions for dynamic calculations in popups, renderers, labels, and field calculations) and 'when' ('Use for data-driven styling, custom labels, and computed fields'). The 'Use for' clause serves as an explicit trigger guidance. | 3 / 3 |
Trigger Term Quality | Includes domain-specific terms like 'Arcade expressions', 'popups', 'renderers', 'labels', 'field calculations', 'data-driven styling', and 'computed fields', but misses common user variations like 'ArcGIS', 'Esri', 'map symbology', or 'attribute expressions' that users might naturally say. | 2 / 3 |
Distinctiveness Conflict Risk | Arcade expressions are a very specific niche (ArcGIS/Esri ecosystem), and the combination of terms like 'Arcade expressions', 'popups', 'renderers', and 'field calculations' creates a distinct trigger profile unlikely to conflict with other skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides excellent actionable code examples covering all major Arcade use cases in ArcGIS, making it highly practical for implementation. However, it suffers from being overly long due to inline function reference tables that could be extracted to a separate file, and it lacks explicit workflow guidance for debugging or iterating on expressions. The content would benefit from trimming the reference sections and adding error handling patterns.
Suggestions
Extract the 'Common Arcade Functions' section (~60 lines of function reference) into a separate ARCADE_REFERENCE.md file and link to it from the main skill
Add a brief debugging workflow with explicit steps: write expression → test with Console() → check for null values → validate output format
Remove the introductory 'Arcade is an expression language for ArcGIS' section and bullet list of uses — Claude already knows this from context
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary content like listing basic Arcade concepts Claude would already know (e.g., explaining what Arcade is used for, basic variable syntax). The function reference tables are extensive and border on reference documentation that could be linked rather than inlined. However, the code examples themselves are reasonably tight. | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste ready code examples across all major use cases: popups, renderers, labels, programmatic execution, and TypeScript usage. Each example is concrete with realistic field names and complete configuration objects. | 3 / 3 |
Workflow Clarity | The skill is organized by use case (popups, renderers, labels, etc.) which provides implicit sequencing, but there are no explicit workflows for multi-step processes like debugging expressions or iterating on complex Arcade logic. The 'Execute Arcade Programmatically' section has a clear sequence but lacks validation/error handling steps. | 2 / 3 |
Progressive Disclosure | The skill is largely monolithic at ~250 lines with extensive inline function reference tables that would be better in a separate REFERENCE.md file. There is one cross-reference to the arcgis-core-maps skill and reference samples are mentioned, but the bulk of content (especially Common Arcade Functions) bloats the main file unnecessarily. | 2 / 3 |
Total | 9 / 12 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 — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
d84407b
Table of Contents
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.