CtrlK
BlogDocsLog inGet started
Tessl Logo

xai-financial-integration

Integrate xAI Grok sentiment with FinnHub, Twelve Data, Alpha Vantage, and FMP financial APIs. Use when combining social sentiment with price data, fundamentals, and news for comprehensive analysis.

60

Quality

75%

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-financial-integration/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.

Concrete, near-executable code covering the main integration patterns, but the body is a monolithic wall of seven duplicated functions with no validation of external API responses, and it fails to reference the existing 509-line bundle script it duplicates. Restructuring around scripts/financial_sentiment.py would fix both the disclosure and the conciseness issues.

Suggestions

Replace the seven inlined near-duplicate functions with a brief overview that points to scripts/financial_sentiment.py (e.g., '## Quick start — python scripts/financial_sentiment.py AAPL' plus 1-2 illustrative examples), moving the full pattern library into the script or a references/ file.

Add validation checkpoints: check API responses for error payloads/empty quotes before use, and parse/verify Grok's JSON output (e.g., json.loads with a retry or jsonschema check) since every function requests JSON but returns raw text.

De-duplicate the fetch → prompt → call pattern into one helper and show variants as payload differences, cutting the body to a fraction of its current length while retaining coverage.

DimensionReasoningScore

Conciseness

The body avoids concept explanations Claude already knows, but seven near-identical functions (price_sentiment, technical_sentiment, fundamental_sentiment, news_sentiment, multi_asset, earnings_reaction, full_dashboard) each repeat the same fetch-data → f-string prompt → Grok call → return pattern across ~40 lines. That is more than the 'minor instances of over-explanation' of anchor 4, fitting anchor 3's 'could be tightened', though not anchor 2 since there is no padded prose.

3 / 5

Actionability

Real executable code with actual endpoints ('https://finnhub.io/api/v1/quote...', 'financialmodelingprep.com/stable/key-metrics'), a concrete model ('grok-4-1-fast'), and env-var setup — mostly copy-paste runnable. Minor gaps keep it from anchor 5: prompts instruct Grok to 'Search X' without passing any live-search parameters, functions annotated '-> dict' return the raw message string, nested quotes in f-strings ('- ' + h) fail before Python 3.12, and there is no error handling for empty quote responses (KeyError on price['c']).

4 / 5

Workflow Clarity

A rough sequence is present (numbered steps in Quick Start; each function is a coherent fetch → prompt → call flow), but there are zero validation checkpoints: no checks of API error payloads, rate limits, or empty responses, and no verification that Grok returned valid JSON. Fits anchor 3 'sequence present but checkpoints missing'; not anchor 4 since no checkpoints exist at all.

3 / 5

Progressive Disclosure

The body has section headers and per-use-case organization, but ~450 lines of code are inlined in SKILL.md while the provided bundle file scripts/financial_sentiment.py (509 lines, a FinancialSentimentAnalyzer class) is never referenced anywhere in the body — the inline code duplicates it. Fits anchor 3 'content that should be separate is inline'; not anchor 4 because the one existing bundle file is completely unsignaled, and not anchor 2 because headers give real structure.

3 / 5

Total

13

/

20

Passed

Description

83%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 with an explicit third-person 'what' and a concrete 'Use when' trigger clause, naming the specific providers and data types involved. Its main weaknesses are a single-verb action set and overlap risk with the per-API skills it names.

Suggestions

Enumerate the concrete analysis actions the skill performs (e.g., 'correlate price action with sentiment, combine technical indicators with social signals, validate news against X reaction') instead of the single verb 'Integrate' to lift specificity.

Drop 'Alpha Vantage' or add a natural synonym like 'stock sentiment analysis' / 'market data' to reduce conflict with the per-API skills and improve trigger coverage.

DimensionReasoningScore

Specificity

Names the domain and four concrete integration targets ('FinnHub, Twelve Data, Alpha Vantage, and FMP financial APIs') plus data types ('price data, fundamentals, and news'), giving several specific elements with minor coverage gaps. It stays below anchor 5 because the action set reduces to a single verb ('Integrate... with') rather than multiple distinct concrete actions, and above anchor 3 because four named services plus data categories exceed '1-2 concrete actions'.

4 / 5

Completeness

Explicitly answers both: 'what' = 'Integrate xAI Grok sentiment with... financial APIs' and 'when' = 'Use when combining social sentiment with price data, fundamentals, and news for comprehensive analysis', with concrete trigger phrases in third-person voice. Matches anchor 5 exactly; anchor 4 would require the 'when' to be less explicit or specific, which it is not.

5 / 5

Trigger Term Quality

Includes natural terms users would say in this domain ('xAI Grok sentiment', 'social sentiment', 'price data', 'fundamentals', 'news') plus all four API names, but misses common variations like 'stock', 'trading', 'market data', or 'technical indicators'. Fits 'good keyword coverage; a few natural terms missing' rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The Grok-sentiment-plus-financial-APIs combination carves a clear niche, but the description names the same APIs as the standalone 'finnhub-api', 'twelvedata-api', and 'fmp-api' skills listed in the body, so a query about e.g. 'FinnHub quotes' could route here. Minor overlap with closely related skills fits anchor 4; not anchor 5 given that real conflict surface.

4 / 5

Total

17

/

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.