CtrlK
BlogDocsLog inGet started
Tessl Logo

pine-script

Export backtest strategies to indicator/strategy code for major trading platforms — TradingView, 通达信, 同花顺, 东方财富, MT5.

60

Quality

76%

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

Fix and improve this skill with Tessl

tessl review fix ./agent/src/skills/pine-script/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 highly actionable, well-structured reference with complete executable templates and dense, genuinely non-obvious syntax tables for all three platform families. Its main weaknesses are the monolithic single-file layout — the per-platform references belong in separate bundle files — and the absence of an explicit error-recovery feedback loop around the quality checklist.

Suggestions

Split each platform section into a one-level-deep bundle file (e.g., references/pine-script.md, references/tdx-formula.md, references/mql5.md) and keep SKILL.md as the overview with the workflows, output format, and clear "See references/pine-script.md" pointers.

Turn the Quality Checklist into a validate→fix→retry loop: instruct Claude to re-check failed items against the relevant platform section and regenerate the file before returning output.

Trim tables of self-evident mappings (e.g., df['open'] → open, df['high'] → high) that Claude can infer, keeping only non-obvious translations like crossover semantics and platform limits.

DimensionReasoningScore

Conciseness

The bulk of the file is dense, non-obvious reference material Claude cannot be assumed to know (Pine v6 limits like "max 500 bars lookback", TDX's ":= for intermediate variables, ": for output", MQL5 handle-based API rules), so most tokens earn their place. Minor padding exists — e.g., the Data References table maps self-evident pairs like `df['open']` → `open` and `df['high']` → `high` that add little — which keeps it below anchor 5.

4 / 5

Actionability

Every platform gets a complete, executable template (full Pine `strategy()` header with commission/qty settings, a working TDX formula with color/DRAWTEXT statements, a compilable MQL5 `OnInit`/`OnCalculate` indicator), plus concrete Python→platform mapping tables and a copy-paste-ready combined output file layout. This is fully executable guidance covering the common cases.

5 / 5

Workflow Clarity

Two clearly sequenced numbered workflows (read config.json and code/signal_engine.py → translate → write artifacts/strategy.pine → return with usage instructions) plus a closing Quality Checklist that acts as a validation checkpoint. It falls short of anchor 5 because there is no validate→fix→retry feedback loop telling Claude what to do when a checklist item fails; it exceeds anchor 3 because a concrete checklist is present.

4 / 5

Progressive Disclosure

Headers, tables, and per-platform sections make the ~390-line file navigable, but no bundle files exist (references/, scripts/, assets/ are absent) and all per-platform reference material — each of which could stand alone as references/pine.md, references/tdx.md, references/mql5.md — is inlined in SKILL.md. That matches the anchor for content that should be separate being inline, while the strong section structure keeps it above anchor 2.

3 / 5

Total

16

/

20

Passed

Description

65%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 terse, concrete, third-person description with a clear niche and good platform-name triggers, but it omits any "Use when..." trigger clause and misses the language-level synonyms (Pine Script, MQL5, TDX) users commonly use. It also undersells the generate-from-description workflow that the body documents.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user wants to convert a backtested strategy into Pine Script, TDX 公式, or MQL5 code, or asks for a TradingView/通达信/MT5 indicator."

Include the language names ("Pine Script", "MQL5", "TDX 公式") alongside platform names, since users often say the language rather than the platform.

Mention the second workflow the body supports (generating code directly from a plain-language description, not just from a backtest) so the description covers both entry paths.

DimensionReasoningScore

Specificity

The description names one concrete action — "Export backtest strategies to indicator/strategy code" — plus an enumerated list of target platforms ("TradingView, 通达信, 同花顺, 东方财富, MT5"), which fits the anchor for naming a domain with 1-2 concrete actions. It does not list several distinct actions (e.g., export, translate, generate-from-description), so it falls short of anchor 4; it is far more concrete than the generic anchor 2.

3 / 5

Completeness

The "what" is clear (export backtest strategies to platform indicator/strategy code), but there is no "Use when..." clause or equivalent explicit trigger guidance — the rubric explicitly caps completeness at 3 for this. Anchor 4 is excluded because the "when" is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Natural user phrasing is well covered via platform names ("backtest strategies", "trading platforms", "TradingView", "MT5", "通达信", "同花顺", "东方财富"), which are terms users would actually say. A few natural synonyms are missing — the language names "Pine Script", "MQL5", and "TDX 公式" that many users would mention instead of platform names — which keeps it below anchor 5.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche — backtest-strategy export to a specific, enumerated set of trading platforms — with distinct trigger terms that no adjacent skill (e.g., generic coding or backtesting skills) would share, giving minimal conflict risk.

5 / 5

Total

15

/

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