CtrlK
BlogDocsLog inGet started
Tessl Logo

3d-camera-interaction

Three.js 中处理 3D 模型拖拽、缩放、边界检测的正确方法。解决鼠标移动与模型移动不同步、缩放后只能看到模型一部分等问题。

56

Quality

62%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agent/skills/3d-interaction/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is concise and assumes competence, with a strong first solution, but the boundary-detection solution is left incomplete with pseudocode placeholders and vague correction logic, and the workflow lacks verification checkpoints.

Suggestions

Complete the boundary-detection code: replace "/* 8个顶点 */" with an explicit bounding-box corner enumeration and fill in the "将模型拉回可见区域" correction logic so the block is copy-paste ready.

Add a brief verification step for each fix, e.g. "Confirm a 100px mouse move now produces a ~100px on-screen model move" and "Confirm the model stays at least MIN_VISIBLE_PIXELS visible after clamping".

Consider splitting the full reference solution into a referenced file (e.g. SOLUTIONS.md) so SKILL.md stays a lean overview with one-level-deep pointers.

DimensionReasoningScore

Conciseness

The body is lean and well-organized with no generic concept padding; the "为什么发生" rationale conveys the non-obvious core insight (pixel-to-world mapping depends on camera distance) rather than restating things Claude already knows.

3 / 3

Actionability

The first solution provides executable code, but the boundary-detection block uses placeholders ("/* 8个顶点 */", "// 更新边界...") and leaves the actual correction as a vague "// 将模型拉回可见区域" comment, so it is not copy-paste ready.

2 / 3

Workflow Clarity

The symptom→cause→solution diagnosis structure is clear, but there are no validation/verification checkpoints (e.g. confirming 100px mouse move equals 100px model move) and the boundary-correction step is left unspecified.

2 / 3

Progressive Disclosure

There are no bundle files and the body is a ~100-line monolithic inline guide with clear sections but no overview→detail file split; it exceeds the 50-line simple-skill threshold where well-organized sections alone would warrant a 3.

2 / 3

Total

9

/

12

Passed

Description

60%

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 is specific and names a clear domain with concrete actions, but lacks an explicit "Use when" trigger clause and only partially covers natural trigger-term variations, which limits completeness and distinctiveness.

Suggestions

Add an explicit trigger clause, e.g. "Use when 3D model dragging/zooming feels desynced or the model is clipped after zooming in Three.js."

Broaden trigger terms to include common variations users would say, such as 相机/camera, 平移/pan, and English keywords like "Three.js drag zoom".

Sharpen distinctiveness by framing the trigger around the specific symptoms (mouse-model desync, partial visibility after zoom) rather than only the capability.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "拖拽、缩放、边界检测" — naming a specific domain and several specific capabilities, matching the anchor that rewards listing multiple specific concrete actions.

3 / 3

Completeness

The "what" is clearly stated, but there is no explicit "Use when…" trigger clause; the "when" is only implied via symptom language, which caps completeness at 2 per the judging guidelines.

2 / 3

Trigger Term Quality

It includes relevant domain keywords and symptom phrasings a user might say ("鼠标移动与模型移动不同步", "只能看到模型一部分"), but misses common variations like 相机/camera, 平移/pan, and English equivalents.

2 / 3

Distinctiveness Conflict Risk

The Three.js camera-interaction niche is fairly specific, but without an explicit trigger clause it could still overlap with a more general Three.js skill, so it is not a clear, conflict-free niche.

2 / 3

Total

9

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
Project-N-E-K-O/N.E.K.O
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.