CtrlK
BlogDocsLog inGet started
Tessl Logo

portfolio-sync

Sync portfolio positions from Polymarket, Kalshi, and Manifold

52

Quality

41%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./src/skills/bundled/portfolio-sync/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

40%

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 identifies a clear niche with specific platform names, making it distinctive, but it is too terse. It lacks a 'Use when...' clause and doesn't enumerate the full range of capabilities or natural trigger terms users might employ when needing this skill.

Suggestions

Add a 'Use when...' clause specifying triggers like 'Use when the user wants to check prediction market positions, sync bets, or view holdings from Polymarket, Kalshi, or Manifold.'

Include additional natural trigger terms such as 'prediction markets', 'bets', 'holdings', 'positions', and 'market portfolio'.

Expand the capability list beyond just 'sync' — e.g., 'Sync, display, and reconcile portfolio positions from Polymarket, Kalshi, and Manifold prediction markets.'

DimensionReasoningScore

Specificity

Names the domain (portfolio positions) and a specific action (sync), and lists three specific platforms (Polymarket, Kalshi, Manifold), but only describes one action rather than multiple concrete capabilities.

2 / 3

Completeness

Describes what it does (sync portfolio positions) but completely lacks a 'Use when...' clause or any explicit trigger guidance, which per the rubric should cap completeness at 2, and the 'what' is also fairly thin, placing this at 1.

1 / 3

Trigger Term Quality

Includes good platform-specific keywords (Polymarket, Kalshi, Manifold) that users would naturally mention, plus 'portfolio positions' and 'sync', but misses common variations like 'prediction markets', 'bets', 'holdings', or 'balance'.

2 / 3

Distinctiveness Conflict Risk

The combination of specific prediction market platforms (Polymarket, Kalshi, Manifold) and the specific action of syncing portfolio positions creates a very clear niche that is unlikely to conflict with other skills.

3 / 3

Total

8

/

12

Passed

Implementation

42%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill provides highly actionable, executable code for syncing positions from three prediction market platforms, which is its primary strength. However, it is excessively verbose—inlining hundreds of lines of code that should be split across referenced files—and lacks validation checkpoints for database operations and error recovery guidance. The content would benefit greatly from restructuring into a concise overview with references to platform-specific implementation files.

Suggestions

Split platform-specific sync code into separate referenced files (e.g., polymarket_sync.md, kalshi_sync.md, manifold_sync.md) and keep only a concise overview with the unified sync pattern in the main skill.

Add validation steps after database sync (e.g., verify row counts, check for stale positions, validate data integrity) to ensure the batch write operation succeeded.

Remove redundant print/output formatting code that Claude can trivially generate, and consolidate the two Polymarket methods (on-chain + Gamma API) with a brief note on when to use each.

Add error handling guidance: what to do when APIs are down, rate limits are hit, or authentication fails—especially important for a cron job context.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~300+ lines, with massive code blocks that could be significantly condensed. Much of the code is repetitive (e.g., similar position-fetching patterns repeated across platforms, redundant print statements, and the unified sync function largely duplicates logic already shown). The full class definition for Kalshi and extensive aggregation logic for Manifold could be referenced rather than inlined.

1 / 3

Actionability

The code is concrete, executable, and copy-paste ready with real API endpoints, contract addresses, and complete function implementations. Each platform has working code with proper authentication, data parsing, and output formatting.

3 / 3

Workflow Clarity

The sections are logically ordered (individual platforms → unified sync → cron job), but there are no validation checkpoints, no error handling guidance beyond basic raise_for_status, and no verification steps after syncing to the database. For a batch operation writing to a database, missing validation caps this at 2.

2 / 3

Progressive Disclosure

This is a monolithic wall of code with no references to external files. The individual platform sync functions, the unified sync, and the cron job could easily be split into separate files with a concise overview in the main skill. Everything is inlined with no navigation structure.

1 / 3

Total

7

/

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
alsk1992/CloddsBot
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.