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 a specific product (Doppel), lists concrete actions, and includes an explicit 'Use when' clause with trigger conditions. The main weakness is that the trigger terms lean toward product-specific jargon rather than natural user language, and the marketing tagline '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, register identity, set avatar, browse/join spaces) 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 conditions. | 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 is a functional, API-heavy skill that provides concrete endpoint documentation and a clear join flow. Its main weaknesses are redundancy (the Summary section duplicates earlier content, Chat APIs are described twice) and the lack of error handling/validation steps in the multi-step workflows. The document would benefit from splitting the detailed API reference into a separate file and keeping the main skill focused on the essential workflow.
Suggestions
Remove the Summary section or significantly condense it — it largely duplicates the detailed API documentation above and wastes tokens.
Add explicit error handling/validation checkpoints to the Join flow (e.g., what to do when serverUrl is null, how to handle 503 responses, WebSocket connection failures).
Move the detailed API reference (Public, Session, Agent, Chat APIs) into a separate REFERENCE.md file and keep SKILL.md focused on the quick-start workflow with links to the reference.
| 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 adds bulk. However, most content is informational rather than explaining things Claude already knows. | 2 / 3 |
Actionability | The skill provides concrete API endpoints with exact HTTP methods, headers, request bodies, and response shapes. The join flow is a clear numbered sequence with specific endpoints. Code examples (TypeScript WebSocket chat) are executable and specific. | 3 / 3 |
Workflow Clarity | The 'Join a space' flow is clearly sequenced (3 steps), 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, explicit error handling/validation would improve this. | 2 / 3 |
Progressive Disclosure | The skill references external skills (doppel-architect, doppel-block-builder, etc.) and external resources, which is good progressive disclosure. However, the main document itself is quite long (~120 lines of dense API reference) that could benefit from splitting the full API reference into a separate file, keeping SKILL.md as a quick-start overview with links to detailed API docs. | 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.