CtrlK
BlogDocsLog inGet started
Tessl Logo

geopolitical-risk

Geopolitical risk analysis: quantify crisis signals, identify precursors, and build event-driven strategies for war, sanctions, and supply disruption scenarios.

53

Quality

67%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

tessl review fix ./agent/src/skills/geopolitical-risk/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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 rich, domain-dense reference with genuinely specific quantitative hooks, executable code, and a clear three-phase strategy workflow. Its weaknesses are pervasive general-knowledge padding across the hotspot sections and a complete absence of progressive disclosure — all ~900 lines are inlined in SKILL.md with no reference files.

Suggestions

Split the six hotspot deep-dives, the data-sources/API section, and the asset-class impact tables into reference files (e.g. references/hotspots.md, references/data-sources.md) and keep a concise overview with GPR signal levels and the three-phase workflow in SKILL.md.

Cut general-knowledge padding such as 'Strategic significance' background Claude already knows (exporter rankings, safe-haven currency mechanics) and keep only the skill-specific facts (tickers, thresholds, empirical magnitudes).

Make the strategy code genuinely executable: replace the descriptive `crisis_vol_strategy` dict with parameterized logic, and derive or clearly flag the hardcoded gold-model coefficients instead of embedding rough guesses.

DimensionReasoningScore

Conciseness

The ~900-line body pads many sections with general knowledge Claude already has: "Russia is the world's largest natural gas exporter", "North Korea possesses nuclear weapons and ICBMs", "Gold (GLD/GC): geopolitical shock → immediate rally", and multi-paragraph 'Strategic significance' explanations for each hotspot. This matches the 2 anchor ('noticeably verbose; several unnecessary explanations or padded sections'); it is not a 3 because the padding is pervasive across all six hotspot sections rather than incidental.

2 / 5

Actionability

Most guidance is executable and specific: real code for loading the GPR Index (URL included), a Bayesian disruption-probability update, GDELT/ACLED queries with parameters, and concrete tickers, thresholds ("GPR > 75th percentile", ">30% rerouting is high alert"), and stop rules. It stops short of 5 because some examples are descriptive rather than runnable — `crisis_vol_strategy(underlying, option_chain)` ignores its arguments and returns a hardcoded dict, and the gold premium model hardcodes rough coefficients ("β1 ≈ 800, β2 ≈ 15") without a fitting step.

4 / 5

Workflow Clarity

The event-driven strategy is clearly sequenced as Phase 1 (early-warning signal detection with a GREEN/YELLOW/ORANGE/RED ladder and checklists), Phase 2 (crisis trading with triggers/stops), Phase 3 (mean reversion with explicit exit signals like "GPR Index falls >30% from the peak"), plus four numbered application scenarios. This matches the 4 anchor; it is not a 5 because there are no validation/feedback checkpoints (e.g., verifying data fetched correctly before trading on a signal), and not a 3 since sequence, triggers, and decision points are explicit throughout.

4 / 5

Progressive Disclosure

The body is well-sectioned with clear headers, but it is a ~900-line monolith with no bundle files: the six hotspot deep-dives, the data-source/API reference, and the asset-class impact tables clearly belong in separate reference files. This fits the 3 anchor ('some structure but could be better organized; content that should be separate is inline'); it is not a 2 because structure and navigation within the file are good, and not a 4 because none of the bulk content is offloaded to references.

3 / 5

Total

13

/

20

Passed

Description

66%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 solid, domain-specific description with several concrete actions and natural trigger keywords. Its main defect is the missing 'Use when...' trigger clause, which caps completeness and leaves the invocation context implicit.

Suggestions

Append an explicit trigger clause, e.g. 'Use when the user mentions geopolitical tension, war/conflict risk, sanctions, or supply-chain disruption scenarios, or asks about markets during a geopolitical crisis.'

Add the skill's most distinctive named hooks (GPR Index, chokepoints like the Strait of Hormuz/Taiwan Strait) to sharpen trigger-term coverage and distinctiveness.

Include a few common synonyms users actually say — 'geopolitical tension', 'conflict risk', 'trade war' — to round out keyword coverage.

DimensionReasoningScore

Specificity

The description lists several concrete actions — "quantify crisis signals", "identify precursors", "build event-driven strategies" — grounded in named scenarios ("war, sanctions, and supply disruption"). It falls short of the 5 anchor because the actions are process-level rather than fully concrete (no data sources, index, or artifact named), but exceeds the 3 anchor's '1-2 concrete actions'.

4 / 5

Completeness

The 'what' is clearly stated (quantify signals, identify precursors, build strategies), but there is no 'Use when...' clause or equivalent explicit trigger guidance; the scenario list only weakly implies when to use it. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3 — and it is not a 2 because the 'what' is clear and concrete.

3 / 5

Trigger Term Quality

Natural terms a user would say are present: "geopolitical risk", "war", "sanctions", "supply disruption", "crisis signals". It misses common variations such as "geopolitical tension", "conflict", "trade war", or specific regions/chokepoints, so it fits the 4 anchor ('good keyword coverage; a few natural terms missing') rather than the comprehensive 5 anchor.

4 / 5

Distinctiveness Conflict Risk

"Geopolitical risk analysis" is a clear niche with domain-specific triggers (war, sanctions, supply disruption) unlikely to collide with other skills, matching the 4 anchor 'mostly distinct; minor overlap risk' — it could overlap with general market-analysis or macro skills since it stops short of naming its unique artifacts (GPR Index, hotspot monitoring).

4 / 5

Total

15

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (917 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
HKUDS/Vibe-Trading
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.