Agent skill

Token Pick

by aeonfun in aeonfun/aeon

One token recommendation and one prediction market pick - scored, quantified, with a skip branch when signals are weak

MITAuto-check passed

Install Token Pick

skills CLI
$ npx skills add aeonfun/aeon --skill token-pick -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aeonfun/aeon token-pick --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/token-pick .claude/skills/token-pick && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
token-pick
GitHub stars
767
Token cost
~2.4k tokens
SKILL.md length
901 words
Files
1
Skills in repo
82
Repo updated
First seen
Licence
MIT

At a glance

One token recommendation and one prediction market pick - scored, quantified, with a skip branch when signals are weak

  • Works in 6 steps: Fetch token data → Fetch prediction markets → Score every candidate token (0–10 scale) → …
  • SKILL.md covers Goal, Steps, Network note and Environment Variables, plus 1 more section
  • Calls curl; reaches api.coingecko.com and gamma-api.polymarket.com; needs COINGECKO_API_KEY

What it does

Token Pick is an agent skill from aeonfun/aeon. One token recommendation and one prediction market pick - scored, quantified, with a skip branch when signals are weak

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget… The licence is MIT.

Example prompts

  • “/token-pick”

Requirements

  • A credential in COINGECKO_API_KEY

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Fetch token data
  2. Fetch prediction markets
  3. Score every candidate token (0–10 scale)
  4. Score prediction markets — edge calculation
  5. Conviction tiers
  6. Log record

What it can do on your machine

Read from SKILL.md and the folder at commit f252074. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.coingecko.com
    • gamma-api.polymarket.com
    • api.dexscreener.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • COINGECKO_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Token Pick loads about 2.4k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 901 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~32
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aeonfun/aeon at commit f252074, republished under its MIT licence (© aeonfun). 901 words, ~2,357 tokens.

Download SKILL.mdSave it as .claude/skills/token-pick/SKILL.md (or your agent's skills folder).
name
token-pick
description
One token recommendation and one prediction market pick - scored, quantified, with a skip branch when signals are weak
metadata.title
Token Pick
metadata.mode
read-only
metadata.category
crypto
metadata.tags
crypto
metadata.requires
COINGECKO_API_KEY?
metadata.capabilities
external_api, sends_notifications
<!-- autoresearch: variation B — sharper output via signal scoring, edge calculation, conviction tiers, and a skip-day branch -->

${var} — Focus area or thesis (e.g. "AI tokens", "election markets", "contrarian bets"). If empty, scans broadly.

Read memory/MEMORY.md for context. Read the last 7 days of memory/logs/ and grep for prior Token Pick entries — extract the symbols and market questions already picked. Hard dedup gate: do not re-pick the same token or the same prediction market unless there is a materially new catalyst that you can name in one sentence.

Goal

Produce ONE token call and ONE prediction-market call per day, each with a numeric signal/edge score and a conviction tier. If neither qualifies for at least MEDIUM conviction, send a short "no picks today" message rather than forcing a weak pick.

Steps

1. Fetch token data
bash
# Optional demo key rides ./secretcurl's {COINGECKO_API_KEY} placeholder (never a bare
# $SECRET on the line); without a key the same public endpoint works at a lower rate limit.
CG_HDR=(); [ -n "${COINGECKO_API_KEY:+x}" ] && CG_HDR=(-H "x-cg-demo-api-key: {COINGECKO_API_KEY}")

# Trending coins
./secretcurl -s "${CG_HDR[@]}" "https://api.coingecko.com/api/v3/search/trending"

# Top 250 by market cap with 24h and 7d changes
./secretcurl -s "${CG_HDR[@]}" "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=1&sparkline=false&price_change_percentage=24h,7d"

# BTC + ETH 24h/7d for relative-strength benchmark (extract from the markets call above; no extra request needed)

# DEX-side cross-confirmation (no auth, optional but preferred)
curl -s "https://api.dexscreener.com/latest/dex/search?q=trending"

If any curl returns empty or errors, retry once with WebFetch for the same URL. Track per-source status (cg=ok|fail, dex=ok|fail) — surfaced in the output footer.

2. Fetch prediction markets
bash
# Top events by 24h volume (events group multi-outcome questions)
curl -s "https://gamma-api.polymarket.com/events?active=true&closed=false&order=volume_24hr&ascending=false&limit=30"

# Newer markets gaining traction
curl -s "https://gamma-api.polymarket.com/markets?closed=false&order=startDate&ascending=false&limit=20"

WebFetch fallback on failure. Track poly=ok|fail.

3. Score every candidate token (0–10 scale)

For each token in the top 250 (and the trending list), compute a signal score:

SignalPoints
24h price change > 0+1
7d price change > 0+1
Both 24h and 7d > +5%+2 (in addition to above)
Appears on CoinGecko trending list+2
Volume/MarketCap ratio ≥ 0.10+2
Volume/MarketCap ratio ≥ 0.20 (replaces above)+3
Outperforming BOTH BTC and ETH on the 7d+2
Confirmed on DexScreener trending/gainers (cross-source)+1
Matches ${var} thesis when set+1

Drop candidates with market cap < $20M (too pumpable) unless ${var} explicitly targets micro-caps. Drop any token already picked in the last 7 days (per dedup gate) unless you can name a fresh catalyst.

Pick the highest-scoring token. Use WebSearch to surface the most likely catalyst and at least one named risk (regulatory, unlock, narrative-faded, exchange listing, etc.).

4. Score prediction markets — edge calculation

For the top ~10 markets by 24h volume that pass the dedup gate (and ${var} filter when set), do this for each:

  1. Read the question and current YES price (price/outcomePrices).
  2. Use WebSearch to gather 1–3 recent data points relevant to the resolution.
  3. Estimate a fair YES probability as a single number (your best calibrated guess, not a range). State the 1–3 inputs you used.
  4. Compute edge = |fair − current_price| as percentage points.
  5. Liquidity gate: require 24h volume ≥ $50k AND market not resolving in < 24h (no last-minute mean-reversion roulette).

Pick the market with the largest edge that clears the gate. If you cannot defend a fair-value estimate within ±10% (insufficient public info), discard and try the next market.

5. Conviction tiers
TierToken criterionMarket criterion
HIGHsignal score ≥ 7edge ≥ 10pp
MEDIUMsignal score 4–6edge 5–10pp
SKIPsignal score < 4edge < 5pp

Skip-day branch: if BOTH the chosen token and the chosen market land in SKIP, do not synthesize a pick. Send the skip message (step 6b) and log accordingly. This is a feature — forcing low-conviction picks degrades the signal of the whole feed.

6a. Notification — normal day (under 4000 chars)

Send via ./notify:

*Daily Pick — ${today}*

*Token: SYMBOL*  [HIGH | MEDIUM]  signal X/10
Price: $X.XX (±X.X% 24h / ±X.X% 7d) | mcap $XB | vol $XM (vol/mcap X.XX)
Score breakdown: [trending+2, vol/mcap+3, RS vs BTC/ETH+2, narrative+1] = 8/10
Catalyst: [one sentence — what's driving this right now, named source/event]
Risk: [one sentence — concrete risk, not generic "could go down"]
Vs recent picks: [first time / repeat with new catalyst: ...]

*Market: "Question?"*  [HIGH | MEDIUM]  edge Xpp
Current: YES X¢ / NO Y¢ | 24h vol $Xm | resolves: DATE
Fair YES: ~Y% (inputs: [src1], [src2], [src3])
Thesis: [one sentence — why the market is wrong, action implied]
Risk: [one sentence — what could make your fair-value estimate wrong]

sources: cg=ok|fail, dex=ok|fail, poly=ok|fail
not financial advice — pattern-matching only

If only one of the two pick types qualifies, send just that one section (omit the other entirely — do not include a HIGH and a SKIP in the same message).

Show full SKILL.md (376 more words)Show less
6b. Notification — skip day
*Daily Pick — ${today}* — no picks

Token signals weak today (best: SYMBOL @ score 3/10).
Markets either thin liquidity or no defensible edge ≥ 5pp (best: "Question?" edge 2pp).

Tomorrow.
sources: cg=ok|fail, dex=ok|fail, poly=ok|fail

If all sources failed, send TOKEN_PICK_NO_DATA with the source-status line — do not invent picks from cached intuition.

6c. Offer a deep-dive (force-reply — normal-day only)

Only after a normal-day send (6a) — never on the skip-day (6b) or the no-data path (weak signals → no pick, so no offer). This skill is read-only, so it can't run the deep report itself; instead it offers to hand off to token-movers (write mode), which owns the single-token deep report and the deep-dive: handler. Because force_reply and inline buttons can't share one message, send this as a SEPARATE ./notify AFTER the 6a pick:

bash
./notify "Want a deeper report on a token? Reply with a ticker or contract." \
  --force-reply --placeholder "e.g. WIF" \
  --context "token-movers::deep-dive"

The token-movers::deep-dive marker routes the operator's reply to token-movers as var="deep-dive:<their text>"; token-movers strips the deep-dive: prefix and produces the single-token deep report.

Dedup. token-pick runs once daily, so one offer per run is already once-per-day. Being read-only, it can't write a FORCE_REPLY_OFFERED marker — but it already reads recent logs, so if today's log already carries a FORCE_REPLY_OFFERED: deep-dive line (e.g. token-movers offered earlier today), SKIP this offer to avoid double-nagging.

7. Log record

This skill is read-only, so the workflow's read-only guard writes its ### token-pick log entry from your captured output; a self-written entry would be a duplicate. Don't append to memory/logs/ yourself - put this record in your final output:

### token-pick
- **Token:** SYMBOL — $price (±X% 24h) — tier HIGH/MEDIUM/SKIP — score X/10
- **Token thesis:** [one line, including catalyst]
- **Market:** "Question?" — YES X¢ — tier HIGH/MEDIUM/SKIP — edge Xpp
- **Market thesis:** [one line, including fair-value estimate]
- **Sources:** cg=ok|fail, dex=ok|fail, poly=ok|fail
- **Notification sent:** yes (normal | skip | no-data)

Also include symbol + market question on a single line for easy grep next-day dedup, e.g.:

TOKEN_PICK_DEDUP: SYMBOL | "Will X happen by Y?"

Network note

There is no network sandbox — curl works, with WebFetch as the fallback for any URL fetch (CoinGecko, DexScreener, Polymarket all work without auth). For an auth'd API, call ./secretcurl with a {ENV_NAME} placeholder (the key is injected via requires:). On total source failure, send the no-data notification rather than silent fail.

Environment Variables

  • COINGECKO_API_KEY — CoinGecko API key (optional, increases rate limits)

Constraints

  • Never force a pick. If signals are weak, the skip message IS the output.
  • Never re-pick the same token or market within 7 days unless you can state a new catalyst in one sentence.
  • Show your work: every score must show the breakdown; every edge must show the inputs.
  • Liquidity gates (mcap ≥ $20M for tokens, 24h vol ≥ $50k for markets) are hard floors — ignoring them turns the feed into a degen casino.
  • One token + one market max. Never bundle "honorable mentions" — that defeats the discipline.

© aeonfun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/token-pick of aeonfun/aeon.

Open the folder on GitHubat commit f252074

Compare with similar skills

Token Pick next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Token Pick compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Token Pick this skillaeonfun/aeon767—~2.4kAutomated safety check: PassMIT
Footballbin Predictionsdavila7/claude-code-templates32k—~634Automated safety check: PassMIT
Content Topic RecommenderXBuilderLAB/cheat-on-content7.2k—~1.6kAutomated safety check: PassMIT
Harness Scoreruvnet/ruflo74k—~605Automated safety check: NotesMIT
Autopilot Predictruvnet/ruflo74k—~337Automated safety check: PassMIT
Score Evalsickn33/agentic-awesome-skills47k1 repos~304Automated safety check: PassMIT

Similar skills

  • Footballbin Predictions

    davila7/claude-code-templates

    Get AI-powered match predictions for Premier League and Champions League including scores, next goal, and corners.

    32k GitHub stars~634 tokensUpdated today
    Auto-check passed
  • Content Topic Recommender

    XBuilderLAB/cheat-on-content

    Ranks a pool of content topic candidates by composite score and recommends the top picks, each with a score breakdown, anchor comparison and a one-line reason.

    7.2k GitHub stars~1.6k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Harness Score

    ruvnet/ruflo

    5-dimension harness readiness scorecard from metaharness score <path.

    74k GitHub stars~605 tokensUpdated today
    DevelopmentAuto-check: notes
  • Autopilot Predict

    ruvnet/ruflo

    Use learned patterns and current state to predict the optimal next action

    74k GitHub stars~337 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Score Eval

    sickn33/agentic-awesome-skills

    Imported skill score-eval from upstream source. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~304 tokens
    EducationAuto-check passed
  • UI Score

    sickn33/agentic-awesome-skills

    Score a UI file's design quality 0-100 against StyleSeed's design language — per-category breakdown, the worst offenders, and a prioritized fix list.

    47k GitHub starsUsed in 1 repo~1.8k tokens
    Testing & QAAuto-check passed

More from aeonfun/aeon

All 82 skills in this repo
  • Browses open tasks on the TaskMarket agent-worker market and, with explicit operator approval, creates tasks, tracks submissions and submits finished work.

    767 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Sets up and manages an Aeon agent instance that runs skills on a schedule through GitHub Actions: starting, rescheduling, debugging, editing skills and mining chat history.

    767 GitHub stars~8.8k tokensUpdated yesterday
    Auto-check: warnings
  • Reads a Base Account's address, portfolio and transaction history through the Base MCP server, and stays strictly read-only in unattended Aeon runs, reporting only changes.

    767 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Audits every page of a site each day from its sitemap, scores on-page and technical SEO, checks duplicates across pages and reports what changed since the last run.

    767 GitHub stars~5.1k tokensUpdated yesterday
    Auto-check passed
  • Action Converter

    aeonfun/aeon

    5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates

    767 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Aeon Config Doctor

    aeonfun/aeon

    Static linter for an Aeon instance's configuration that catches silent failures such as unquoted schedules, duplicate keys, unconfigured skills and broken MCP references.

    767 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed

Questions about Token Pick

What does Token Pick do?

One token recommendation and one prediction market pick - scored, quantified, with a skip branch when signals are weak. Token Pick is an agent skill from aeonfun/aeon.

How do I install Token Pick in Claude Code?

Run `npx skills add aeonfun/aeon --skill token-pick -a claude-code`. Or copy the skill folder (skills/token-pick in aeonfun/aeon) into .claude/skills/token-pick in your project. Claude Code loads it when a task matches its description.

How do I install Token Pick in Codex?

Run `npx skills add aeonfun/aeon --skill token-pick -a codex`. Or copy the skill folder (skills/token-pick in aeonfun/aeon) into .agents/skills/token-pick in your project. Codex loads it when a task matches its description.

Can I use Token Pick in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aeonfun/aeon --skill token-pick -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/token-pick, .gemini/skills/token-pick, .github/skills/token-pick and .opencode/skills/token-pick in your project.

What does Token Pick need to run?

Going by SKILL.md and its folder, Token Pick needs the command-line tools its instructions call (curl) and credentials named COINGECKO_API_KEY. Our summary lists: A credential in COINGECKO_API_KEY.

Does Token Pick access the network?

SKILL.md names 3 domains. In commands or code: api.coingecko.com, gamma-api.polymarket.com and api.dexscreener.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Token Pick safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Token Pick use?

Token Pick is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Token Pick use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Token Pick?

Skills that share tags, products or a category with Token Pick: Footballbin Predictions (davila7/claude-code-templates, 32k stars), Content Topic Recommender (XBuilderLAB/cheat-on-content, 7.2k stars), Harness Score (ruvnet/ruflo, 74k stars) and Autopilot Predict (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Token Pick?

aeonfun (a GitHub organization) maintains it in aeonfun/aeon, which has 767 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on October 6, 2026.

Source: aeonfun/aeon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.