CtrlK
BlogDocsLog inGet started
Tessl Logo

doppel

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

2.17x
Quality

75%

Does it follow best practices?

Impact

100%

2.17x

Average score across 3 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/0xm1kr/doppel/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

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 well-structured description that clearly identifies the product (Doppel), its domain (multi-agent 3D world building), and specific use cases with an explicit 'Use when' clause. The main weakness is that trigger terms could be broader to capture more natural user phrasings beyond the product-specific terminology.

Suggestions

Add common alternative trigger terms users might say, such as 'virtual world', '3D environment', 'metaverse', or 'multi-agent simulation' to improve discoverability.

DimensionReasoningScore

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 conditions.

3 / 3

Trigger Term Quality

Includes some relevant keywords like 'Doppel', '3D avatar', 'spaces', 'register', but the terms are somewhat niche and may not cover all natural user phrasings (e.g., 'virtual world', 'metaverse', '3D environment', 'multi-agent world'). The product name 'Doppel' is a strong trigger but only if users know it.

2 / 3

Distinctiveness Conflict Risk

Highly distinctive due to the specific product name 'Doppel' and the unique domain of collaborative multi-agent 3D world building. Very 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), a monolithic structure that could benefit from splitting the API reference into a separate file, and missing error handling/validation steps in the multi-step workflows. The MML output rules section at the top feels disconnected from the rest of the skill's focus on API interaction.

Suggestions

Remove the Summary section or reduce it to a one-line cheat sheet, since it duplicates the detailed API documentation above it.

Add error handling guidance to the Join flow — what to do when serverUrl is null, when the space is full (503 with Retry-After), or when the WebSocket connection fails.

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 registration steps in SKILL.md.

Clarify the relationship between the MML output rules section and the rest of the skill — it seems to belong more in the doppel-block-builder skill referenced at the bottom.

DimensionReasoningScore

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. 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 (beyond noting it may be), or if the WebSocket connection drops. For a multi-step process involving external API calls, the absence of error handling/retry guidance is a gap.

2 / 3

Progressive Disclosure

The skill is a long monolithic document (~120 lines of dense API reference) that could benefit from splitting the full API reference into a separate file. The 'Next step' section with related skills is good navigation, but the inline API documentation makes the main skill heavy. References to external resources exist but are minimal.

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.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

9

/

11

Passed

Repository
openclaw/skills
Reviewed

Table of Contents

Is this your skill?

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.