CtrlK
BlogDocsLog inGet started
Tessl Logo

earnings-preview

Build a pre-earnings briefing for a stock from Yahoo Finance data (yfinance): the upcoming report date and timing, consensus EPS and revenue estimates with their range, the beat/miss track record, analyst ratings and price targets, and what to watch in the print. Use this skill whenever the user is preparing for an upcoming earnings report or asks what the street expects — consensus or whisper numbers, EPS expectations, whether a company will beat, an earnings setup, or an earnings-season preview — and whenever a ticker comes up in the context of upcoming earnings, even without the word "preview". For results that are already out, use earnings-recap.

72

Quality

87%

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

SKILL.md
Quality
Evals
Security

Quality

Content

75%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 well-constructed body: a tight four-step workflow, copy-paste-ready yfinance code, a data-source-to-fields map, and a clean one-level reference split with clear signaling. The residual weaknesses are the non-executable '!`...`' status-check block in Step 1, mild field-list duplication with the reference file, and error-handling guidance that the main workflow never points to.

Suggestions

Replace the non-executable '!`python3 -c ...`' environment-status block in Step 1 with a plain check (e.g. `python3 -c "import yfinance" || pip install -q yfinance`) so the whole step is runnable as written.

Trim the 'What to extract' table's Key Fields column to the fields that drive briefing judgments (e.g. surprisePercent, timing timestamp) and defer full field lists to references/api_reference.md, removing the duplication.

Add a try/except or empty-data fallback line to the Step 2 fetch script (or explicitly point to the reference's Error Handling section) so a failed or empty fetch has a defined recovery path in the workflow itself, and include a period="5d" fetch for the 1-week performance the briefing requires.

DimensionReasoningScore

Conciseness

The body is largely lean — executable code, a purpose-driven table, and a five-point briefing structure with no padding or explanations of concepts Claude already knows. It falls short of the level-5 'every token earns its place' anchor because of the odd '!`python3 -c ...`' pseudo-syntax block in Step 1 (noise a plain one-line check would replace) and because the 'What to extract' Key Fields column duplicates field lists already in references/api_reference.md. It is clearly above level 3, which expects unnecessary explanation.

4 / 5

Actionability

Step 2's fetch script is copy-paste ready with a clearly marked ticker placeholder, the table maps each source to concrete fields, and install instructions are executable — matching 'mostly executable guidance with minor gaps' (level 4). Not level 5: the Step 1 environment-status block is non-executable as written, the main script fetches only period="1mo" while the briefing requires 1-week performance too, and error handling for failed/empty fetches lives only in the reference file, not the main flow.

4 / 5

Workflow Clarity

Four clearly sequenced steps (install check → single-script data gather → build the five-part briefing → respond with caveats) with a checkpoint in Step 1 (skip install if present) and an explicit missing-data rule ('if the data for one is missing, say so in a line rather than dropping it'), matching level 4's 'clear sequence with most checkpoints present'. Not level 5: no validate/recover loop for data-fetch failures in the body itself — the try/except pattern is deferred to the reference file and never invoked from the workflow. No destructive or batch operations, so no level-3 cap applies.

4 / 5

Progressive Disclosure

Good structure: the main workflow is inline, one reference file (references/api_reference.md) is clearly signaled with its purpose and a when-to-read condition, it exists in the bundle, and it contains no further nested references — one level deep. It sits at level 4 rather than 5 because the 'What to extract' table's field lists partially inline content that the reference file already covers, a minor organization gap ('most content appropriately placed; references mostly clear; minor organization gaps').

4 / 5

Total

16

/

20

Passed

Description

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

An exemplary description: it states concrete capabilities in third person, gives exhaustive natural trigger phrasings including a ticker-context trigger and the implicit-trigger case, and cleanly hands off post-earnings requests to the sibling earnings-recap skill. No changes needed.

DimensionReasoningScore

Specificity

The description lists multiple concrete deliverables — 'the upcoming report date and timing, consensus EPS and revenue estimates with their range, the beat/miss track record, analyst ratings and price targets, and what to watch in the print' — naming the data source (yfinance) and covering the full briefing comprehensively. It matches the level-5 anchor ('lists multiple specific concrete actions; comprehensive coverage') and exceeds level 4, which allows 'minor gaps in coverage'.

5 / 5

Completeness

It explicitly answers both what (the five-part briefing built from yfinance data) and when ('Use this skill whenever the user is preparing for an upcoming earnings report or asks what the street expects...') with concrete trigger phrases, satisfying the level-5 anchor. It goes further than level 4 by adding boundary guidance ('For results that are already out, use earnings-recap').

5 / 5

Trigger Term Quality

Trigger coverage is comprehensive and natural: 'preparing for an upcoming earnings report', 'what the street expects', 'consensus or whisper numbers', 'EPS expectations', 'whether a company will beat', 'an earnings setup', 'an earnings-season preview', plus the meta-trigger 'whenever a ticker comes up in the context of upcoming earnings, even without the word "preview"'. This includes synonyms and phrasings users would actually say, matching the level-5 anchor; level 4 ('a few natural terms missing') does not apply.

5 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche (pre-earnings briefing from Yahoo Finance data) with distinct triggers, and explicitly disambiguates from the sibling skill ('For results that are already out, use earnings-recap'), minimizing wrong-skill triggering. This matches the level-5 anchor ('clear niche with distinct triggers; minimal conflict risk').

5 / 5

Total

20

/

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
himself65/finance-skills
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.