Use when user says "send to Ray," "show in Ray," "debug in Ray," "log to Ray," "display in Ray," or wants to visualize data, debug output, or show diagrams in the Ray desktop application.
49
54%
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 ./config/claude/skills/ray-skill/SKILL.mdQuality
Discovery
44%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 excels at trigger terms and distinctiveness due to the specific 'Ray' application references, but critically fails to explain what the skill actually does. It reads entirely as a 'when to use' clause without any 'what it does' clause — a user or Claude selecting skills would know when to pick it but not what capabilities it provides (e.g., does it send HTTP requests to Ray? Generate ray() function calls? Format data for Ray's API?).
Suggestions
Add a 'what it does' clause before the trigger phrases, e.g., 'Generates PHP/Laravel ray() debugging calls to send variables, queries, exceptions, and visual output to the Ray desktop application.'
List specific concrete actions the skill performs, such as 'log variables, display collections, show queries, render diagrams, format debug output' to improve specificity.
Restructure to follow the pattern: '[Concrete actions]. Use when [triggers].' to ensure both halves of the description are clearly present.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lacks concrete actions describing what the skill actually does. It mentions 'visualize data, debug output, or show diagrams' but these are vague and appear only in the trigger clause, not as explicit capability statements. There is no 'what does this do' section listing specific actions. | 1 / 3 |
Completeness | While the 'when' is thoroughly covered with explicit trigger phrases, the 'what' is essentially missing. The description never explains what the skill actually does — it only says when to use it. There are no concrete capability statements about what actions the skill performs. | 1 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger phrases users would say: 'send to Ray,' 'show in Ray,' 'debug in Ray,' 'log to Ray,' 'display in Ray.' These are highly natural phrases and include good variation. Also includes broader terms like 'visualize data,' 'debug output,' and 'show diagrams.' | 3 / 3 |
Distinctiveness Conflict Risk | The repeated mention of 'Ray' as a specific desktop application creates a very clear niche. The trigger phrases are all anchored to 'Ray,' making it highly unlikely to conflict with other skills. This is a distinct, well-scoped domain. | 3 / 3 |
Total | 8 / 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 is a solid, highly actionable reference skill with complete JSON examples for every Ray payload type. Its main weaknesses are verbosity from repeated origin objects in every example and a monolithic structure that could benefit from splitting detailed payload references into a separate file. Adding an explicit workflow sequence (check availability → send → handle errors) would improve reliability.
Suggestions
Extract the repetitive origin object into a single 'every payload includes this origin object' note and omit it from subsequent examples, or use a shorthand like '"origin": { ... }' after the first full example.
Add an explicit workflow: 1) Check availability via GET, 2) Send payload via POST, 3) Handle connection errors (Ray not running), to cap workflow clarity at 3.
Move the detailed per-payload-type examples into a separate PAYLOADS.md reference file, keeping only the most common types (log, custom, table, color) in SKILL.md with a link to the full reference.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is largely reference material that Claude needs (payload types, JSON structures), but there's significant repetition — the origin object is repeated verbatim in every single payload example, and the payload type reference table at the end duplicates information already shown in detail above. The overview sentence explaining what Ray is could be trimmed. | 2 / 3 |
Actionability | Highly actionable with complete, copy-paste ready JSON payloads and a full curl command example. Every payload type has a concrete, executable example with exact field names and values. The availability check endpoint is also clearly specified. | 3 / 3 |
Workflow Clarity | The availability check is mentioned but not integrated into a clear workflow (e.g., 'check availability first, then send'). The combining payloads section explains the UUID reuse pattern well, but there's no explicit sequence like 'Step 1: Check availability, Step 2: Send payload, Step 3: Verify.' For a skill involving HTTP requests to a local server, a validation/error-handling step would strengthen this. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear headers and tables, but it's a monolithic document (~200+ lines) with no references to external files. The detailed payload examples for every type could be split into a reference file, keeping SKILL.md as a quick-start overview with the most common patterns. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 9 / 11 Passed | |
3974caa
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.