CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

plannotator-annotate

Open Plannotator's annotation UI for a file, folder, or URL, then address the returned annotations.

61

Quality

77%

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 ./apps/vibe/skills/plannotator-annotate/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

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

This is a tight, well-structured instruction-only skill: an exact runnable command, a precise argument specification, and explicit handling of both the argument-resolution failure and the dismissed-session case with no wasted tokens. The only notable gap is that the body never says concretely what to do when annotations are returned, leaving the core action implicit. A single sentence covering the happy path would bring it to full strength.

Suggestions

Add one line covering the happy path, e.g. 'When annotations are returned, read each one, apply the requested change to the target file or content, and briefly confirm what you did.'

Include a concrete example invocation (e.g. 'plannotator annotate src/config.yaml') so the command pattern is unambiguous for the common case.

Clarify how results are delivered back (inline edits vs. a follow-up plannotator command), if the tool expects one, so the 'address' step is fully executable.

DimensionReasoningScore

Conciseness

The body is a lean executable command plus three short paragraphs (argument spec, error recovery, dismissed-case handling) with zero padding and no explanation of concepts Claude already knows. Every token earns its place, matching the top anchor.

5 / 5

Actionability

The command 'PLANNOTATOR_ORIGIN=mistral-vibe plannotator annotate $ARGUMENTS' is copy-paste ready, and both edge cases have concrete detection criteria ('output is empty, or a JSON object with "decision": "dismissed"'). It is not a 5 because the happy path — what concretely to do with returned annotations — is never instructed in the body, only implied by the title.

4 / 5

Workflow Clarity

The flow is coherent with explicit conditional branches (re-run with a resolved target when arguments fail; stop and do not begin work when dismissed), which serve as clear checkpoints. It is not a 5 because the main path's steps for actually addressing annotations are absent from the body; there are no destructive or batch operations, so no cap applies.

4 / 5

Progressive Disclosure

The skill is under 50 lines, self-contained with no bundle files, and well organized into a command block and clearly separated condition paragraphs. Per the simple-skill guideline, this earns the top score without external file references.

5 / 5

Total

18

/

20

Passed

Description

57%Weight 40%Scale 1-5

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 concise and names a distinct, niche tool with two concrete actions, giving it strong distinctiveness. However, it lacks any 'Use when...' trigger guidance and omits natural keyword variations, capping completeness and trigger-term quality at the midpoint. Adding explicit use-when triggers and spelling out what 'address the returned annotations' entails would lift it substantially.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks to annotate, review, or collect feedback on a config file, folder, or URL via Plannotator.'

Make the second action concrete: replace 'address the returned annotations' with something like 'read each returned annotation and apply or reply to it as appropriate'.

Include natural input variations or extensions users would say (e.g. 'config files (.md, .yaml, .json), folders, HTML pages, or URLs') to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

The description names the domain ('Plannotator's annotation UI') and two concrete actions ('Open... for a file, folder, or URL', 'address the returned annotations'), matching the '1-2 concrete actions but not comprehensive' anchor. It is not a 4 because 'address' is left vague and the action coverage is thin; not a 2 because the actions and input types are specific rather than generic.

3 / 5

Completeness

The 'what' is clear (open the annotation UI for a target, then address returned annotations), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which the judging guidelines cap at 3. It is not a 4 because 'when' is entirely absent rather than merely under-specified.

3 / 5

Trigger Term Quality

Relevant keywords are present ('Plannotator', 'annotation UI', 'file, folder, or URL', 'annotations'), but common variations, synonyms, and file extensions a user might say are missing, matching the 'some relevant keywords but missing variations' anchor. It is above a 2 because the keywords are domain-specific rather than generic filler.

3 / 5

Distinctiveness Conflict Risk

'Plannotator' is a uniquely named tool with a clear niche (annotation UI over files, folders, or URLs), so it is clearly distinguishable from any other skill with minimal conflict risk. Nothing in the description is generic enough to overlap with other skills.

5 / 5

Total

14

/

20

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

backnotprop/plannotator

Path

apps/vibe/skills/plannotator-annotate/SKILL.md

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.