CtrlK
BlogDocsLog inGet started
Tessl Logo

xai-stock-sentiment

Real-time stock sentiment analysis using Twitter/X data via Grok. Use when analyzing stock ticker sentiment, tracking retail investor mood, or gauging market reaction to events.

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 ./skills/xai-stock-sentiment/SKILL.md
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.

A code-centric skill with genuinely executable, copy-paste-ready Grok prompt templates covering the main stock-sentiment use cases. Its weaknesses are repetition (seven copies of the same client-call boilerplate), no JSON parsing or error handling despite '-> dict' annotations, and everything inlined in one long file instead of split across reference files.

Suggestions

Consolidate the seven near-identical client.chat.completions.create wrappers into one shared helper (model, messages) and keep only the per-task prompt templates, then parse the response with json.loads so functions actually return the annotated dict.

Add brief validation guidance: check for malformed/empty Grok output before using results, and note error handling for API failures (e.g., invalid XAI_API_KEY, rate limits).

Move the specialized function templates (earnings, sector, watchlist, unusual activity) into references/ files and keep SKILL.md as a compact overview with one-level-deep, clearly signaled links.

DimensionReasoningScore

Conciseness

Prose is lean and assumes Claude's competence (e.g., "Focus on verified accounts and high-follower influencers"), but the seven near-identical function blocks each repeat the full 'client.chat.completions.create(model="grok-4-1-fast", ...)' wrapper and JSON scaffolding — a shared helper with per-task prompt templates would cut the ~380 lines substantially. This fits 'Mostly efficient but... could be tightened'; it is not anchor 2 because there is no conceptual over-explanation or prose padding.

3 / 5

Actionability

The Quick Start is copy-paste runnable (explicit api_key from XAI_API_KEY, base_url 'https://api.x.ai/v1', model 'grok-4-1-fast') and every function is complete executable Python. Minor gaps keep it below anchor 5: functions are annotated '-> dict' but return the raw 'response.choices[0].message.content' string without json.loads, and 'finnhub.get_quote' / 'fmp.get_financials' appear without imports or setup. It is above anchor 3 because the code is genuinely executable, not pseudocode.

4 / 5

Workflow Clarity

Use cases are well organized (single stock → comparison → earnings → sector → unusual activity → price integration → watchlist), but there is no sequencing guidance (e.g., when detect_unusual_activity should feed analyze_single_stock) and no validation or error-handling checkpoints for malformed or empty Grok responses. This matches 'Steps listed but validation gaps; sequence present but checkpoints missing'; the operations are read-only so the destructive/batch cap is not triggered, and the simple-skill exception does not apply to this multi-function skill.

3 / 5

Progressive Disclosure

The single SKILL.md has clear section headers, but no bundle files exist — all seven prompt-template function definitions (~300 lines) are inlined where they could live in references/ with SKILL.md as a concise overview. This fits 'Some structure but could be better organized; content that should be separate is inline'; not anchor 2 because structure and section headers are present, and the external References links are one level deep.

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, concise description in third person that clearly states the capability and gives three explicit 'Use when...' trigger phrases. Its main weakness is modest action specificity — it names one overall capability rather than the several concrete analysis functions the skill provides.

DimensionReasoningScore

Specificity

The description names the domain and one concrete action — "Real-time stock sentiment analysis using Twitter/X data via Grok" — but does not enumerate the several distinct capabilities the skill actually provides (multi-stock comparison, earnings reaction, watchlist monitoring). It matches 'Names domain and 1-2 concrete actions, but not comprehensive'; it falls short of anchor 4 ('Lists several specific actions').

3 / 5

Completeness

It explicitly answers both: what ("Real-time stock sentiment analysis using Twitter/X data via Grok") and when ("Use when analyzing stock ticker sentiment, tracking retail investor mood, or gauging market reaction to events") with three concrete trigger phrases, mirroring the anchor-5 example pattern. It is not anchor 4 because the 'when' clause is already explicit and specific.

5 / 5

Trigger Term Quality

Natural trigger phrases like "stock ticker sentiment", "tracking retail investor mood", and "gauging market reaction to events" cover what a user would plausibly say. A few natural synonyms are missing (e.g., 'market mood', 'social media sentiment', 'bullish/bearish'), so it fits 'Good keyword coverage; a few natural terms missing' rather than anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The stock-ticker/Twitter-X niche with phrases like "stock ticker sentiment" is mostly distinct from general sentiment or crypto-sentiment skills, giving 'minor overlap risk with closely related skills' — the body itself lists a sibling 'xai-sentiment - General sentiment' skill, confirming a small overlap risk that keeps it below anchor 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.