CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

portfolio-sync

Sync portfolio positions from Polymarket, Kalshi, and Manifold

55

Quality

69%

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 ./src/skills/bundled/portfolio-sync/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 content is highly actionable with real, executable sync code, but it is a monolithic inlined implementation lacking file separation, validation checkpoints, and the DB schema needed by the cron workflow.

Suggestions

Move the per-platform implementations into scripts/ files (e.g. scripts/polymarket_sync.py, scripts/kalshi_sync.py) and keep SKILL.md as an overview with one-level-deep references.

Add the SQLite positions table schema (CREATE TABLE) and validation/error-handling around the batch INSERT OR REPLACE in the cron job.

Drop one of the duplicate Polymarket approaches (on-chain vs Gamma API) or clearly justify when to use each, and trim the per-block example print snippets.

DimensionReasoningScore

Conciseness

The body is code-forward with little concept padding, but includes redundancy (two Polymarket methods — on-chain ERC-1155 and Gamma API) and per-block usage print snippets that could be trimmed.

3 / 5

Actionability

It provides fully executable, copy-paste-ready Python with real endpoints, contract addresses, auth flows, and unified aggregation covering the common cases across all three platforms.

5 / 5

Workflow Clarity

An implicit per-platform → unified → cron sequence exists, but the batch DB sync (INSERT OR REPLACE) has no validation and the positions table schema is never defined, capping workflow clarity at 3.

3 / 5

Progressive Disclosure

Roughly 460 lines of platform implementation code that clearly belongs in separate scripts/ files are inlined entirely into SKILL.md, with no bundle/reference files and no navigation out to supporting material.

2 / 5

Total

13

/

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.

The description is specific and distinctive thanks to the three named platforms, with a clear 'what', but it lacks any explicit 'when to use' trigger guidance and relies on a single action verb.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when the user wants to check or sync their prediction-market portfolio across Polymarket, Kalshi, or Manifold.'

Broaden the action set beyond 'Sync' to reflect concrete operations like 'fetch balances, positions, and PnL'.

Include common synonyms such as 'prediction markets' or 'portfolio tracking' for better trigger coverage.

DimensionReasoningScore

Specificity

It names the domain ('portfolio positions') and three concrete platforms plus one concrete action ('Sync'), but offers only a single action verb rather than a comprehensive action set.

3 / 5

Completeness

The 'what' is clear ('Sync portfolio positions from...'), but there is no 'Use when...' clause or explicit trigger guidance, capping completeness at 3 per the rubric.

3 / 5

Trigger Term Quality

The platform names (Polymarket, Kalshi, Manifold) and 'portfolio positions' are natural phrases users would say, though generic synonyms like 'prediction markets' or 'portfolio tracking' are absent.

4 / 5

Distinctiveness Conflict Risk

Naming three specific prediction-market platforms carves out a clear niche with distinct triggers and minimal overlap with other skills.

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

alsk1992/CloddsBot

Path

src/skills/bundled/portfolio-sync/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.