CtrlK
BlogDocsLog inGet started
Tessl Logo

surf

Use this skill — NOT browser or web_fetch — for ALL Surf crypto-data calls. 83 endpoints at localhost:8402/v1/surf/* covering CEX/DEX markets, on-chain SQL over 80+ ClickHouse tables (Ethereum, Base, Arbitrum, BSC, TRON, HyperEVM, Tempo), 100M+ labeled wallets, prediction markets (Polymarket + Kalshi), social/CT intelligence, news, project + DeFi metrics, token analytics, unified search, VC fund intelligence. Paid through ClawRouter — x402 USDC from the local wallet, or BlockRun account credit if an API key is configured. No Surf account or Surf API key required either way.

63

Quality

79%

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/surf/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is highly actionable, with exact paths, required params, and runnable curl examples covering the common cases, and multi-step workflows are well sequenced. It is weakened by verbose dated pricing narrative, two internal contradictions (stale $0.02 cost math and the blockrun_surf_* tool-name instruction), and a monolithic 250-line catalog that belongs in a reference file.

Suggestions

Move the 83-endpoint catalog into a references/ file (e.g. references/endpoints.md) and keep SKILL.md as an overview with the 'when to use' examples and a table of domains, so the catalog loads only when needed.

Trim the pricing section to the current flat rates plus the 'trust the 402 quote over the table' rule, and relocate the superseded $0.001/$0.005/$0.020 tier history and the 2026-09-05 verification narrative into a clearly labeled 'deprecated pricing' note.

Fix the internal contradictions: update the example-flow cost arithmetic to the measured $0.0075–$0.0085 per-call rates, and remove or correct the 'Use the OpenClaw tool name blockrun_surf_*' instruction that contradicts the 'No typed blockrun_surf_* tools are registered' statement.

DimensionReasoningScore

Conciseness

The endpoint catalog tables and curl examples are dense and efficient, but the pricing section carries dated narrative that could be tightened — 'Surf used to be tiered at $0.001 / $0.005 / $0.020. It is not any more', 'Verified 2026-09-05 by measurement, not from a price page', and the digression about when a Solana/Base price difference 'would be the bug worth reporting'. The rubric penalizes time-sensitive information (specific verification dates, superseded tier prices) that is not placed in a deprecated/old-patterns section.

3 / 5

Actionability

Guidance is largely copy-paste executable — full curl commands with real hosts, paths, and JSON bodies, exact required params per endpoint, and documented 400 pre-check behavior. Minor gaps: the example-flow cost line ('1 × $0.02 ... = $0.04 total') contradicts the flat $0.0075/$0.0085 pricing table, and line 277 instructs using tool name 'blockrun_surf_*' while line 274 says no such tools are registered — a stale/contradictory pair that leaves the agent unsure which figure or invocation path to trust.

4 / 5

Workflow Clarity

Multi-step flows are clearly sequenced: schema-then-SQL with 'cache it locally', search-then-mindshare with the correct param names called out, and the wallet-detail follow-up decision points. The pre-settlement 400 validation behavior is documented ('you get 400 { missing_params, all_required, docs } and you are NOT charged'), but there are no explicit error-recovery loops (what to do on timeout or unexpected 402 amounts), keeping it just below the top anchor.

4 / 5

Progressive Disclosure

Sections and tables are well organized, but the skill is a ~250-line monolith with no bundle files at all: the entire 83-endpoint catalog, per-domain param tables, and the multi-paragraph pricing-rail discussion are all inlined in SKILL.md. The rubric's structure expects an overview pointing to one-level-deep reference files for bulk API material, so the catalog 'content that should be separate is inline' — it has structure but the split into a references/ file is missing.

3 / 5

Total

14

/

20

Passed

Description

86%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: comprehensive concrete capability coverage, natural trigger vocabulary, and explicit disambiguation against the browser/web_fetch alternatives. Main deductions are the imperative 'Use this skill' voice and a 'when' clause framed as routing instruction rather than user-side trigger phrases.

DimensionReasoningScore

Specificity

The description lists many concrete capabilities ('83 endpoints at localhost:8402/v1/surf/* covering CEX/DEX markets, on-chain SQL over 80+ ClickHouse tables... 100M+ labeled wallets, prediction markets (Polymarket + Kalshi), social/CT intelligence, news, project + DeFi metrics, token analytics, unified search, VC fund intelligence'), which is comprehensive coverage. However, it opens with the imperative 'Use this skill — NOT browser or web_fetch — for ALL Surf crypto-data calls', which is second-person/imperative voice rather than third person, so the rubric's one-point voice penalty applies (5 → 4).

4 / 5

Completeness

Both 'what' (83 endpoints across markets, on-chain SQL, wallet labels, prediction markets, etc.) and 'when' ('Use this skill — NOT browser or web_fetch — for ALL Surf crypto-data calls') are explicit, and payment requirements are stated. It falls short of the top anchor because the 'when' is framed as routing guidance (which tool to call) rather than concrete user-side trigger phrases like 'when the user asks for crypto prices, wallet labels, or token holder distribution', so the when could be more explicit.

4 / 5

Trigger Term Quality

Excellent natural keyword coverage a user would actually say: 'crypto-data calls', 'CEX/DEX markets', 'on-chain SQL', 'prediction markets', 'token analytics', 'VC fund intelligence', plus synonymous phrasings and concrete protocol names (Polymarket, Kalshi, Ethereum, Base). Companion frontmatter triggers ('crypto mindshare', 'fear and greed index crypto', 'token holder distribution', 'vc fund portfolio') reinforce the same natural vocabulary.

5 / 5

Distinctiveness Conflict Risk

It has a clear niche (the Surf API at a specific localhost gateway) and even disambiguates against competing tools explicitly ('NOT browser or web_fetch'), so the risk of triggering the wrong skill is minimal.

5 / 5

Total

18

/

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
BlockRunAI/ClawRouter
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.