Skip to main content
skill CX Codex

picks-tracker — Claude Code skill: what it does, how to install

Review token calls and prediction-market positions from the past 30 days against current prices and market outcomes. The skill calculates a scorecard and records it for later review.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aeonfun/aeon --skill picks-tracker -a claude-code
Open on GitHub

What picks-tracker does

The skill scans memory/logs/ for token prices at pick time and prediction-market positions. It fetches current token prices from CoinGecko, calculates each pick’s return, and labels it a win, hold, or loss. Market positions are checked against the Polymarket API. Repeated picks for the same token are scored separately.

It writes a scorecard to output/articles/picks-scorecard-${today}.md, sends a notification with ./notify, and appends the result to the memory log. COINGECKO_API_KEY is optional; without it, the skill can use the free tier and fall back to WebFetch. No picks in the review window means it stops without sending a notification.

What it helps with

  • compare a token’s current price with its pick price
  • calculate returns for picks in the review window
  • check whether a Polymarket position was correct
  • summarize wins, holds, losses, and average return
  • save results to a scorecard and memory log

Example prompts for the agent

  • Review my token picks and market positions from the last 30 days, calculate the results, and save a scorecard.
  • Compare the picks in memory/logs/ with current CoinGecko prices and Polymarket outcomes.
  • Create the picks-tracker report and send its notification with ./notify.

How to install picks-tracker

1Skills CLI (Vercel)

npx skills add aeonfun/aeon --skill picks-tracker -a claude-code

2Manually: put the files in place

~/.claude/skills/picks-tracker/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/picks-tracker/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about picks-tracker

How do I install picks-tracker in Claude Code?

Run npx skills add aeonfun/aeon --skill picks-tracker -a claude-code. The skill file is installed at ~/.claude/skills/picks-tracker/SKILL.md.

What does picks-tracker do?

It reviews token picks and prediction-market positions recorded over the past 30 days, checks them against current prices and available outcomes, then writes a scorecard.

Do I need a CoinGecko API key?

No. COINGECKO_API_KEY is optional; the skill can use CoinGecko’s free tier and WebFetch as a fallback. The key increases request limits.

Source text

SKILL.md · MIT
---
name: picks-tracker
description: Retrospective on past token and prediction market picks - what hit, what flopped, what the score is
metadata:
  title: Picks Tracker
  category: crypto
  tags:
    - crypto
    - review
    - meta
  requires:
    - COINGECKO_API_KEY?
---

Today is ${today}. Your task is to audit the last 30 days of token picks and score them against current prices.

Read memory/MEMORY.md for context.

## Network note

`curl` works — there is no network sandbox. For every curl call, if it fails or returns empty/error, use **WebFetch** for the same URL as a fallback for a flaky public GET.

## Steps

### 1. Extract token picks from logs

Scan the last 30 days of `memory/logs/` for token picks. For each log file, grep for lines matching `**Token:**`. Extract:
- Symbol (e.g., XMR, HYPE, TAO)
- Date (from the filename, e.g., 2026-04-19)
- Pick price (the number after `$` on the same line, ignoring `~` approximations)

Also extract prediction market picks from lines matching `**Market:**`:
- The question text (in quotes)
- The position taken (YES or NO)
- The price/odds at pick time

Expected log format (written by token-pick and monitor-polymarket):
```
- **Token:** XMR — $350.52 (+1.17% 24h, +2.55% 7d)
- **Market:** "US x Iran permanent peace deal by April 30?" — NO $0.615 (YES 38.5%)
```

Focus on the last **30 days** of logs. If a token was picked multiple times, record each instance separately.

If zero picks are found in the window, log `PICKS_TRACKER_SKIP: no picks in last 30 days — enable token-pick / monitor-polymarket` and stop (no notification).

### 2. Fetch current token prices

For each unique token symbol, fetch the current price from CoinGecko.

First, try the search endpoint to get the coin ID. The optional demo key rides `./secretcurl`'s `{COINGECKO_API_KEY}` placeholder (never a bare `$SECRET` on the line); the header is only sent when a key is set:
```bash
CG_HDR=(); [ -n "${COINGECKO_API_KEY:+x}" ] && CG_HDR=(-H "x-cg-demo-api-key: {COINGECKO_API_KEY}")
./secretcurl -s "${CG_HDR[@]}" "https://api.coingecko.com/api/v3/search?query=SYMBOL"
```

Then fetch the price:
```bash
./secretcurl -s "${CG_HDR[@]}" "https://api.coingecko.com/api/v3/simple/price?ids=COIN_ID&vs_currencies=usd&include_24hr_change=true"
```

**Fallback:** If curl fails, use WebFetch for the same URL (drop the API key header).

**Common ID mappings** (use directly, skip search step):
- HYPE → hyperliquid
- XMR → monero
- TAO → bittensor
- ENJ → enjincoin
- DASH → dash
- ORDI → ordinals
- MORPHO → morpho
- RENDER → render-token
- JUP → jupiter-exchange-solana
- KAS → kaspa
- ENA → ethena
- ALGO → algorand
- APT → aptos
- FET → fetch-ai
- ZEC → zcash
- ETHFI → ether-fi

For tokens not in the list, use the search endpoint. If a symbol is ambiguous or the token isn't found, mark as `N/A (not found)`.

### 3. Calculate performance

For each pick:
```
performance % = ((current_price - pick_price) / pick_price) * 100
```

Round to 1 decimal place. Use a `~` prefix if the pick price was approximate.

If the same token was picked multiple times, calculate performance from each individual pick date.

Classify each pick:
- 🟢 **Win** — +10% or better
- 🟡 **Hold** — between -10% and +10%
- 🔴 **Loss** — -10% or worse

### 4. Check prediction market pick resolution

For each prediction market pick, search the Polymarket API to check if the market resolved:
```bash
# Search by question text
curl -s "https://gamma-api.polymarket.com/markets?closed=true&limit=10&q=KEYWORDS_FROM_QUESTION"
```

If WebFetch is needed: `https://gamma-api.polymarket.com/markets?closed=true&limit=10&q=KEYWORDS_FROM_QUESTION`

For each market pick:
- If resolved: was the position correct? Mark ✅ (correct) or ❌ (wrong) or ⏳ (still open)
- Note the resolution price/outcome if available

Markets with no Polymarket equivalent (internal or experimental markets) — mark as ⏳ or skip.

### 5. Score summary

Tally the token picks:
- Total picks in window
- Wins / Holds / Losses count
- Average return across all picks (equally weighted)
- Best pick (highest % gain)
- Worst pick (biggest % loss)
- Hit rate: (wins / total_picks) * 100

Keep it honest. No cherry-picking dates.

### 6. Format and send notification

Send via `./notify` (inline multi-line literal — do NOT pipe or use `$(cat)`):

```
*picks scorecard — [START_DATE] → [TODAY]*

*token picks ([N] total)*
[SYMBOL] [DATE] — picked $[PICK] → now $[CURRENT] ([PERF]%) [EMOJI]
...sorted best to worst...

*score: [WINS]W [HOLDS]H [LOSSES]L | avg [AVG]% | hit rate [HIT_RATE]%*
*best: [SYMBOL] +[BEST]% | worst: [SYMBOL] [WORST]%*

*market picks*
[QUESTION_SNIPPET] — [POSITION] [STATUS_EMOJI]
...

no financial advice. just tracking the record.

read it: https://github.com/aeonfun/aeon/blob/main/output/articles/picks-scorecard-${today}.md
```

Keep the message under 3000 chars. If too long, truncate to the most recent 10 picks.

### 7. Save scorecard

Write a brief scorecard to `output/articles/picks-scorecard-${today}.md`:
```markdown
# Picks Scorecard — [DATE]

## Token Performance
| Symbol | Picked | Pick Price | Current | Change | Result |
|--------|--------|-----------|---------|--------|--------|
...

## Summary
- Window: last 30 days
- Total picks: N
- Wins / Holds / Losses: X / Y / Z
- Average return: X%
- Hit rate: X%

## Market Picks
| Question | Position | Status |
...
```

### 8. Log to memory

Append to `memory/logs/${today}.md`:
```
### picks-tracker
- **Window:** last 30 days (N picks)
- **Score:** [WINS]W [HOLDS]H [LOSSES]L | avg [AVG]% | hit rate [HIT_RATE]%
- **Best:** [SYMBOL] +[BEST]%
- **Worst:** [SYMBOL] [WORST]%
- **Notification sent:** yes
- PICKS_TRACKER_OK
```

## Environment Variables

- `COINGECKO_API_KEY` — optional, increases rate limits. Skill works without it via free tier + WebFetch fallback.

© aeonfun · MIT · aeonfun/aeon

Similar skills

All skills for Finance and business →

From the same set55

pr-triage First-touch triage for external pull requests via GitHub CLI. Evaluates diffs against a rubric, labels PRs, and leaves a verdict comment before deep review. CX Codex +1 ★ 783repo stars pr-review Review open pull requests with line-specific findings, or use a risk-ranked digest to sort them. The skill helps inspect proposed changes and decide what needs attention first. CX Codex +1 ★ 783repo stars posthog-errors Pulls a week of error-tracking issues from every PostHog project, ranks them by impact and sends one digest with a link to the full report. CX Codex +1 ★ 783repo stars pm-manipulation Detects suspected manipulation across prediction markets over the last 3 days by pairing price anomalies and bot activity with multilingual regional press checks. CX Codex +1 ★ 783repo stars pack-submit Turns one of your own skills into a standalone community pack and opens a PR against the aeon registry. Useful when you want other agents to install your work. CX Codex +1 ★ 783repo stars operator-scorecard Generates agent activity summaries: rolls up a weekly system health scorecard, drafts daily ops recaps, and inspects git push diffs. CX Codex +1 ★ 783repo stars onchain-monitor Track wallet and contract activity across selected chains, with alerts for transfers that meet your thresholds. Useful when you want a running watchlist instead of checking addresses by hand. CX Codex +1 ★ 783repo stars narrative-tracker This skill pulls crypto and tech narratives from X, scores their mindshare and velocity, and gives each one a position call: FRONT-RUN, RIDE, FADE, WATCH or IGNORE. CX Codex +1 ★ 783repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor