Automated cross-platform arbitrage detection and monitoring
34
18%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./src/skills/bundled/arbitrage/SKILL.mdQuality
Discovery
22%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 is too terse and abstract, reading more like a feature headline than a functional skill description. It lacks concrete actions, explicit trigger guidance ('Use when...'), and natural user-facing keywords. While 'arbitrage' provides some domain specificity, the description fails to communicate what the skill actually does or when Claude should select it.
Suggestions
Add a 'Use when...' clause specifying trigger scenarios, e.g., 'Use when the user asks about price differences across exchanges, arbitrage opportunities, or cross-platform price monitoring.'
List specific concrete actions the skill performs, such as 'Compares prices across trading platforms, identifies arbitrage opportunities, calculates potential profit margins, and monitors real-time price spreads.'
Include natural trigger terms users would say, such as 'price difference', 'exchange spread', 'crypto arbitrage', 'trading opportunity', or specific platform/asset types.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description uses abstract language ('automated cross-platform arbitrage detection and monitoring') without listing any concrete actions. It names a domain but doesn't specify what actions are performed, such as comparing prices, alerting on spreads, or executing trades. | 1 / 3 |
Completeness | The description only vaguely addresses 'what' (arbitrage detection and monitoring) and completely lacks any 'when' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the weak 'what' brings it down to 1. | 1 / 3 |
Trigger Term Quality | It includes some relevant keywords like 'arbitrage', 'cross-platform', 'detection', and 'monitoring' that users in this domain might use. However, it misses common variations like specific platform names, 'price difference', 'spread', 'crypto', 'trading', or other natural terms users would say. | 2 / 3 |
Distinctiveness Conflict Risk | The term 'arbitrage' provides some niche specificity, but 'cross-platform monitoring' and 'detection' are generic enough to potentially overlap with other monitoring, trading, or analytics skills. Without more specific triggers, there's moderate conflict risk. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
14%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads as a comprehensive API reference document rather than an actionable skill file. It is excessively long, lacks workflow sequencing and validation steps, and dumps all content into a single monolithic file. The code examples are reasonably concrete but the overall structure fails to leverage progressive disclosure or guide Claude through any clear process.
Suggestions
Restructure SKILL.md as a concise overview (under 50 lines) with quick-start examples, moving the full API reference, arbitrage type explanations, and configuration details into separate referenced files (e.g., API_REFERENCE.md, ARBITRAGE_TYPES.md).
Add a clear workflow section with sequenced steps for the primary use case (e.g., 1. Configure credentials → 2. Start monitoring → 3. Validate matches → 4. Review opportunities) with explicit validation checkpoints.
Remove explanations of arbitrage concepts (cross-platform price differences, internal arbitrage) that Claude already understands, keeping only the platform-specific implementation details.
Add error handling guidance and validation steps, especially for credential setup, API connectivity checks, and match verification before acting on detected opportunities.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is extremely verbose at ~200+ lines, functioning as a full API reference document rather than a concise skill. It includes extensive code examples for every possible method, redundant patterns (multiple nearly identical console.log formatting blocks), and explanations of arbitrage types that Claude already understands. Much of this belongs in separate reference files. | 1 / 3 |
Actionability | The code examples are concrete and appear executable with specific TypeScript snippets and CLI commands. However, it's unclear if 'clodds/arbitrage' is a real package or hypothetical, and there's no guidance on setup, installation, or prerequisites. The examples look complete but may not be copy-paste ready without knowing the actual library. | 2 / 3 |
Workflow Clarity | There is no clear workflow or sequenced process. The content is organized as an API reference catalog rather than a guided workflow. There are no validation checkpoints, no error handling guidance, no feedback loops for when scans fail or API credentials are invalid, and no sequenced steps for setting up and running arbitrage monitoring. | 1 / 3 |
Progressive Disclosure | This is a monolithic wall of content with everything inlined — chat commands, full TypeScript API reference, arbitrage type explanations, configuration, and best practices all in one file. The API reference, arbitrage type explanations, and configuration details should be split into separate referenced files, with the SKILL.md serving as a concise overview. | 1 / 3 |
Total | 5 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
e71a5f6
Table of Contents
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.