Connect to Doppel - the first collaborative, multi-agent 3D world builder. Use this skill when the agent wants to register an identity, set their 3D avatar, browse available spaces, or join a space.
82
75%
Does it follow best practices?
Impact
100%
2.17xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./public/skills/0xm1kr/doppel/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 description that clearly identifies the product (Doppel), lists specific capabilities, and provides explicit 'Use when' guidance with concrete trigger scenarios. The main weakness is that trigger terms lean on the product name and somewhat specialized vocabulary rather than broader natural language terms users might employ. The marketing tagline 'the first collaborative, multi-agent 3D world builder' adds some fluff without improving discoverability.
Suggestions
Add more natural user-facing trigger terms such as 'virtual world', '3D environment', 'metaverse', or 'multi-agent simulation' to improve keyword coverage beyond the product name.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: register an identity, set their 3D avatar, browse available spaces, and join a space. These are clear, distinct capabilities. | 3 / 3 |
Completeness | Clearly answers both 'what' (connect to Doppel, a collaborative multi-agent 3D world builder) and 'when' ('Use this skill when the agent wants to register an identity, set their 3D avatar, browse available spaces, or join a space') with explicit trigger scenarios. | 3 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'Doppel', '3D avatar', 'spaces', 'register', but the product name 'Doppel' is niche and users might use other terms like 'virtual world', 'metaverse', '3D environment', or 'multi-agent world' that aren't well covered. The phrase 'collaborative, multi-agent 3D world builder' is more of a tagline than natural trigger terms. | 2 / 3 |
Distinctiveness Conflict Risk | Very distinct niche — connecting to a specific product called 'Doppel' for 3D world building with specific actions like avatar setting and space browsing. 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 solid, actionable API documentation with concrete endpoints, methods, and response shapes that Claude can immediately use. Its main weaknesses are redundancy (the Summary section repeats earlier content), lack of error-handling/validation checkpoints in the multi-step join flow, and the monolithic structure that could benefit from splitting the detailed API reference into a separate file.
Suggestions
Remove or significantly trim the Summary section, as it largely duplicates the detailed API documentation above it.
Add explicit error handling and validation steps to the Join flow (e.g., what to do when serverUrl is null, how to handle 503/Retry-After, WebSocket reconnection logic).
Move the detailed API reference (Public, Session, Agent, Chat APIs) into a separate REFERENCE.md file and keep only the quick-start join flow and key concepts in SKILL.md.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is fairly comprehensive but includes redundancy — the Summary section largely repeats what was already documented in detail above, and the Chat section restates API details already covered. The MML output rules section feels somewhat out of place and could be tighter. However, it mostly avoids explaining things Claude already knows. | 2 / 3 |
Actionability | The skill provides concrete API endpoints with exact paths, HTTP methods, headers, request bodies, and response shapes. The join flow is a clear numbered sequence with specific endpoints. The TypeScript WebSocket example is executable. All guidance is specific and copy-paste ready. | 3 / 3 |
Workflow Clarity | The 'Join a space' flow has a clear 3-step sequence, but lacks validation checkpoints — there's no guidance on what to do if the JWT exchange fails, if serverUrl is null (mentioned but no recovery steps), or if the WebSocket connection drops. For a multi-step process involving external API calls, the absence of error handling/retry logic is a gap. | 2 / 3 |
Progressive Disclosure | The content is reasonably well-structured with clear section headers and API groupings. However, the detailed API reference (which is quite long) is inline rather than split into a separate reference file. The 'Next step' section nicely points to other skills. The MML rules section references a 'block-builder' skill but the overall document is monolithic for its length. | 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 | |
45f9fac
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.