Core utilities including Accessor pattern, Collection, reactiveUtils, promiseUtils, intl (internationalization), and workers. Use for reactive programming, property watching, locale formatting, async operations, and background processing.
67
59%
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/5.0/skills/arcgis-core-utilities/SKILL.mdQuality
Discovery
77%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 does a good job listing specific utilities and their use cases, and includes an explicit 'Use for' trigger clause. However, it lacks context about which framework or SDK these utilities belong to (likely ArcGIS JS API), which reduces distinctiveness and could cause confusion with generic async/reactive programming skills. The trigger terms are somewhat technical and could benefit from more natural language variations.
Suggestions
Specify the framework or SDK these utilities belong to (e.g., 'ArcGIS Maps SDK for JavaScript core utilities...') to improve distinctiveness and reduce conflict risk.
Add more natural language trigger variations such as 'i18n', 'watch properties', 'promises', 'web workers', 'background tasks' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete utilities (Accessor pattern, Collection, reactiveUtils, promiseUtils, intl, workers) and concrete actions (reactive programming, property watching, locale formatting, async operations, background processing). | 3 / 3 |
Completeness | Clearly answers both 'what' (core utilities including Accessor, Collection, reactiveUtils, etc.) and 'when' ('Use for reactive programming, property watching, locale formatting, async operations, and background processing') with an explicit 'Use for' clause. | 3 / 3 |
Trigger Term Quality | Includes some relevant technical keywords like 'reactive programming', 'property watching', 'internationalization', 'async operations', and 'workers', but these are somewhat specialized terms. Missing common user-facing variations like 'watch properties', 'i18n', 'web workers', 'promises', or 'background tasks' that users might naturally say. | 2 / 3 |
Distinctiveness Conflict Risk | Terms like 'async operations', 'reactive programming', and 'background processing' are fairly broad and could overlap with other skills dealing with general JavaScript/framework utilities. The specific utility names (Accessor, reactiveUtils, promiseUtils) help narrow it, but the description doesn't specify which framework or SDK these belong to, reducing distinctiveness. | 2 / 3 |
Total | 10 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill excels at actionability with comprehensive, executable code examples and well-documented pitfalls with anti-patterns. However, it is far too verbose and monolithic—it tries to be a complete API reference rather than a concise skill guide, covering at least 10 distinct topics in a single file. Significant restructuring into a brief overview with references to detailed sub-files would dramatically improve its effectiveness as a skill.
Suggestions
Split the content into separate reference files (e.g., REACTIVE_UTILS.md, COLLECTION.md, PROMISE_UTILS.md, INTL.md) and keep SKILL.md as a concise overview with quick-start examples and links to each.
Remove exhaustive API listings (e.g., all Collection methods, all property type examples) that serve as reference documentation rather than actionable guidance—Claude can infer standard array-like methods.
Trim sections like Property Types and Collection Methods to show only the non-obvious or ArcGIS-specific patterns, linking to full API docs for completeness.
Add a brief 'When to use this skill' section at the top that helps Claude quickly determine which subsection is relevant, rather than requiring scanning the entire document.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~500+ lines, covering many topics that could be split into separate files. It includes extensive API surface documentation (Collection methods, property types, intl formatting) that reads more like reference docs than actionable skill guidance. Many sections explain concepts Claude would already know or could infer. | 1 / 3 |
Actionability | Nearly every section provides fully executable, copy-paste ready code examples with concrete imports, method calls, and realistic usage patterns. The Common Pitfalls section includes both anti-patterns and correct patterns with clear explanations of impact. | 3 / 3 |
Workflow Clarity | The Common Patterns section shows clear multi-step patterns like cleanup and debounced updates, and the Common Pitfalls section provides good guidance. However, there are no explicit validation checkpoints or feedback loops for operations like worker setup or handle management lifecycle. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content covering Accessor, Collection, reactiveUtils, Handles, promiseUtils, Workers, Error handling, URL utilities, Scheduling, intl, and coordinate formatting all in one file. The 'Related Skills' section at the bottom references other skills, but the vast majority of content that should be in separate reference files is inline. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (929 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
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.