CtrlK
BlogDocsLog inGet started
Tessl Logo

xai-sentiment

Real-time sentiment analysis on Twitter/X using Grok. Use when analyzing social sentiment, tracking market mood, or measuring public opinion on topics.

58

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/xai-sentiment/SKILL.md

The canonical home for this skill is xai-sentiment in fernandezbaptiste/Skrillz

SKILL.md
Quality
Evals
Security

Quality

Content

57%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.

The body delivers concrete, runnable prompt-recipe code for each sentiment task with no concept padding, but it is held back by verbatim boilerplate repeated across nine functions, a return-type/JSON-parsing mismatch, no output validation (including for the batch function), and no use of progressive disclosure to move specialized recipes into reference files. These are fixable structural issues rather than quality-of-guidance failures.

Suggestions

Show the client setup and a single request wrapper once, then present each subsequent recipe as just its prompt payload — removing the repeated `client.chat.completions.create` boilerplate would cut the file roughly in half.

Fix the return types and add output validation: either set `response_format={"type": "json_object"}` and `json.loads` the result (making `-> dict` truthful), or at minimum add a note to parse and verify the JSON before use — especially for `batch_sentiment`, where the response should be checked for complete coverage of all requested topics.

Move the financial, crypto, batch, and alert recipes into a `references/` file (e.g., `references/recipes.md`) linked from a short SKILL.md overview, keeping only Quick Start and the core functions inline.

DimensionReasoningScore

Conciseness

The client setup and `client.chat.completions.create` / `model="grok-4-1-fast"` boilerplate repeats verbatim across nine nearly identical functions when the wrapper could be shown once and only the prompt payloads varied. It is mostly efficient (no concept-padding) but clearly could be tightened, matching anchor 3 rather than 4.

3 / 5

Actionability

Quick Start is copy-paste runnable and every recipe is concrete executable code. Minor gaps: every function declares `-> dict` yet returns raw `response.choices[0].message.content` (a string), and despite prompts requesting JSON there is no response_format or parsing guidance, keeping it below the fully copy-paste-ready anchor 5.

4 / 5

Workflow Clarity

The recipes are organized clearly by use case with a Quick Start, but there is no validation of model output anywhere (e.g., checking the returned JSON parses), and batch_sentiment is a batch operation with no verification step — the rubric's batch-operation cap applies, holding this at 3.

3 / 5

Progressive Disclosure

Section headers are clear and navigation is easy, but ~250 lines of function templates are all inlined in SKILL.md with no bundle files; the financial/crypto/batch material would fit separate reference files. Structure exists but content that should be separate is inline, matching anchor 3; not 2 since the content is well-sectioned, not 4 since nothing is split out.

3 / 5

Total

13

/

20

Passed

Description

78%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.

A strong description that clearly and explicitly states both what the skill does and when to use it, with natural trigger phrases like "social sentiment" and "market mood". Its only weaknesses are a narrow action list relative to the body's full capability set and slight overlap risk with finance-specific sibling skills.

DimensionReasoningScore

Specificity

"Real-time sentiment analysis on Twitter/X using Grok" names the domain and one concrete action, but the description lists only a single capability (sentiment analysis) while the body covers comparison, timelines, alerts, and financial variants — not comprehensive, so anchor 3 fits better than 4.

3 / 5

Completeness

The description explicitly answers both: what ("Real-time sentiment analysis on Twitter/X using Grok") and when ("Use when analyzing social sentiment, tracking market mood, or measuring public opinion on topics") with concrete trigger phrases, mirroring the anchor-5 exemplar structure.

5 / 5

Trigger Term Quality

Natural user phrases like "social sentiment", "market mood", and "public opinion" are present and would be said verbatim, but common synonyms such as "tweets", "X posts", or "stock/crypto sentiment" are missing, matching the good-but-incomplete anchor 4.

4 / 5

Distinctiveness Conflict Risk

"sentiment analysis on Twitter/X using Grok" carves a clear niche with distinct triggers, but "market mood" overlaps slightly with the finance-specific sibling skills the body lists (xai-stock-sentiment, xai-crypto-sentiment), so minor overlap risk keeps it at 4 rather than 5.

4 / 5

Total

16

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
fernandezbaptiste/Skrillz
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.