Database connector and explorer patterns for Gremlin, openCypher, and SPARQL, including the query template tag and escapeString usage.
35
31%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.kiro/skills/connectors/SKILL.mdQuality
Discovery
40%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 identifies a clear niche around graph database query languages and specific utility patterns, which makes it distinctive. However, it lacks a 'Use when...' clause entirely, and the capability description is more about patterns than concrete actions. Adding explicit trigger guidance and more natural user-facing keywords would significantly improve skill selection accuracy.
Suggestions
Add a 'Use when...' clause such as 'Use when the user needs to write or debug Gremlin, openCypher, or SPARQL queries, connect to graph databases, or safely construct parameterized graph queries.'
Include natural trigger terms users would say, such as 'graph database', 'Neptune', 'Neo4j', 'RDF', 'graph query', 'traversal', or 'triple store'.
List concrete actions instead of abstract 'patterns', e.g., 'Builds parameterized graph database queries, escapes user input for safe query construction, and provides connection patterns for Gremlin, openCypher, and SPARQL endpoints.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (database connector/explorer) and specific query languages (Gremlin, openCypher, SPARQL) plus mentions specific utilities (query template tag, escapeString), but doesn't list concrete actions like 'build queries', 'connect to graph databases', or 'traverse nodes'. | 2 / 3 |
Completeness | Describes what (database connector/explorer patterns for specific query languages) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, missing 'Use when' caps completeness at 2, and the 'what' is also only partially clear, so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant technical keywords like 'Gremlin', 'openCypher', 'SPARQL', 'escapeString', and 'query template tag' that users working with graph databases might use. However, it misses common natural terms like 'graph database', 'Neptune', 'Neo4j', 'RDF', 'graph query', or 'traversal'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Gremlin, openCypher, and SPARQL with specific utilities like 'query template tag' and 'escapeString' creates a very distinct niche that is unlikely to conflict with other skills. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
22%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads more like architectural documentation than actionable guidance. It describes what connectors and explorers are but never shows how to use them with concrete code examples. The `query` template tag and `escapeString()` are mentioned but never demonstrated, which is a significant gap for a skill meant to teach Claude how to work with these patterns.
Suggestions
Add executable code examples showing how to use the `query` template tag for each query language (Gremlin, openCypher, SPARQL) with actual import paths and usage patterns.
Add a concrete example of `escapeString()` usage within a Gremlin query to show proper string literal escaping.
Include a brief workflow for creating or extending a connector/explorer, such as which interface to implement and where to place files.
Remove descriptive sentences like 'They shield the application from query language specifics while providing consistent data structures' and replace with concrete interface signatures or usage examples.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient but includes some unnecessary explanatory text like 'Explorers handle query construction, execution, and result transformation' and 'They shield the application from query language specifics' which describe architecture rather than instruct. Could be tighter. | 2 / 3 |
Actionability | No concrete code examples, no executable commands, no import paths beyond vague references to `@/utils`. The skill describes patterns abstractly without showing how to actually use the `query` template tag or `escapeString()` with real code. | 1 / 3 |
Workflow Clarity | No sequenced steps, no workflow for creating or using connectors/explorers, and no validation checkpoints. The content is purely descriptive with no process guidance. | 1 / 3 |
Progressive Disclosure | There is a cross-reference to the TypeScript skill for branded types, which is good. However, there are no bundle files to support deeper references, and the content could benefit from linking to actual connector/explorer implementation examples or API references. | 2 / 3 |
Total | 6 / 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 |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
30587b0
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.