CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

coinapi

CoinAPI integration. Manage data, records, and automate workflows. Use when the user wants to interact with CoinAPI data.

Quality

66%

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

Quality

Content

67%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 a solid, command-first integration guide: executable CLI examples, a well-handled connection state machine (READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR with concrete next actions), and useful best practices. Weak spots are an explanatory intro Claude does not need, a "Popular actions" section that names no actions, and broken step numbering ("skip to Step 2" with no Step 2 ever defined). No end-to-end worked example ties the pieces together.

Suggestions

Cut the "CoinAPI provides cryptocurrency market data..." intro paragraph and the bare "CoinAPI Overview" bullet list — Claude knows what a crypto market-data API is; keep only the official docs link.

Fix the workflow numbering: label the connection step "Step 1" (so "1b" makes sense) and either label "Searching for actions" as "Step 2" or remove the "skip to Step 2" references.

Populate "Popular actions" with 2-3 concrete examples (e.g. fetching latest BTC/USD trades or daily OHLCV candles) with real action ids and --input payloads, or drop the heading.

DimensionReasoningScore

Conciseness

The bulk of the body is executable commands, but there is real padding: the intro paragraph explaining what CoinAPI is and who uses it ("It's used by developers, traders, and researchers to access real-time and historical data for building trading algorithms..."), the bare "CoinAPI Overview" name-list, and prose like "This will burn less tokens". Matches anchor 3 (mostly efficient with some unnecessary explanation); not 2, because the padding is confined to the intro and filler lines rather than pervasive; not 4, because the intro and overview list clearly should be trimmed.

3 / 5

Actionability

Concrete, copy-paste-ready commands throughout — "npm install -g @membranehq/cli@latest", "membrane login complete <code>", "membrane connection ensure ... --json", "membrane action run <actionId> --input '{\"key\": \"value\"}'", plus a proxy flag table. Matches anchor 4; not 5, because "Popular actions" lists zero actual actions, there is no worked end-to-end example with real parameter values, and invocations alternate between "membrane" and "npx @membranehq/cli" without explanation.

4 / 5

Workflow Clarity

Install → login → connection ensure → poll with --wait → handle CLIENT_ACTION_REQUIRED (show uiUrl, follow agentInstructions) → check the error field on failure → search → run → proxy is a clear sequence with explicit checkpoints. Matches anchor 4; not 5, because there is no validate/fix/retry feedback loop after a failed action run; not 3, because the checkpoints (poll until state changes, inspect clientAction and error) are explicit — though the dangling "skip to **Step 2**" reference points at a step that is never labeled, and "1b" has no labeled "1a".

4 / 5

Progressive Disclosure

A single-file skill with no bundle files (no references/, scripts/, or assets/ exist) and well-organized, scannable sections, each appropriately sized for inline placement. Matches anchor 4; not 5, because the under-50-line simple-skill exception does not apply and generic Membrane material (login flow, proxy flag table, agent types) that would serve a shared reference file is inlined; not 3, because nothing is buried and the structure is clean.

4 / 5

Total

15

/

20

Passed

Description

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

The description has the right structural shape — an explicit "Use when" clause, third-person voice, and concise length — and the brand name anchors its identity. However, the "what" is unfilled template text ("Manage data, records, and automate workflows") with no concrete CoinAPI capabilities or natural crypto-market-data trigger terms, so it will only fire when the user already names CoinAPI. Recall for the many users who would ask about "crypto prices" or "bitcoin market data" is effectively zero.

Suggestions

Replace "Manage data, records, and automate workflows" with concrete CoinAPI actions, e.g. "Fetch real-time and historical cryptocurrency prices, OHLCV candles, trades, order books, and news via CoinAPI".

Add natural trigger phrases users would actually say, e.g. "Use when the user asks about crypto prices, bitcoin or ethereum market data, exchange rates, or historical OHLCV candles".

Remove "records" — it is not a CoinAPI concept and reads as leftover boilerplate.

DimensionReasoningScore

Specificity

Names the domain ("CoinAPI integration") but the stated actions — "Manage data, records, and automate workflows" — are generic template phrases rather than concrete CoinAPI capabilities (no prices, OHLCV, quotes, trades, or order books are mentioned), and "records" is not even a CoinAPI concept. This matches anchor 2 (domain named, actions minimal or generic); not 3, because no 1-2 concrete actions are actually listed.

2 / 5

Completeness

Both "what" ("Manage data, records, and automate workflows") and "when" ("Use when the user wants to interact with CoinAPI data") are explicitly present in third person, matching anchor 4. Not 5: the "what" is vague boilerplate and the "when" is circular (it only fires if the user already says CoinAPI) with no concrete trigger phrases. Not 3: the "Use when" clause is explicit, not missing or weakly implied.

4 / 5

Trigger Term Quality

The only substantive keyword is the brand name "CoinAPI" (plus the generic "data" and "integration"), while the natural phrases a user would say for this need — crypto prices, bitcoin, market data, exchange rates, OHLCV — are entirely absent. Matches anchor 2 (one or two generic keywords, missing the natural phrases); not 3, because common synonyms and variations are wholly missing, so it only triggers when the user already names CoinAPI.

2 / 5

Distinctiveness Conflict Risk

The CoinAPI brand name gives this a clear niche that is unlikely to trigger for the wrong skill, matching anchor 4. Not 5: the generic "Manage data, records, and automate workflows" tail overlaps with any data-management skill and there are no distinctive action-based triggers; not 3: the dominant trigger is a distinct named product.

4 / 5

Total

12

/

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

membranedev/application-skills

Path

skills/coinapi/SKILL.md

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.