Initial commit: coin-hunter skill
This commit is contained in:
71
references/output-templates.md
Normal file
71
references/output-templates.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Output Templates
|
||||
|
||||
Use these templates to keep answers crisp and decision-first.
|
||||
|
||||
## Single-coin quick triage
|
||||
|
||||
**Verdict:** candidate runner | late / overheated | avoid / scam-risk
|
||||
**Radar score:** X/12
|
||||
**Spec setup quality:** high | medium | low
|
||||
|
||||
**Why it could run**
|
||||
- ...
|
||||
- ...
|
||||
- ...
|
||||
|
||||
**Why it could fail**
|
||||
- ...
|
||||
- ...
|
||||
- ...
|
||||
|
||||
**What confirms strength**
|
||||
- ...
|
||||
- ...
|
||||
|
||||
**What kills the thesis**
|
||||
- ...
|
||||
- ...
|
||||
|
||||
**Risk note:** This is speculative pattern recognition, not investment advice.
|
||||
|
||||
## Multi-coin shortlist
|
||||
|
||||
### 1. <coin>
|
||||
- **Verdict:**
|
||||
- **Radar score:** X/12
|
||||
- **Why it made the cut:**
|
||||
- **Biggest flaw:**
|
||||
|
||||
### 2. <coin>
|
||||
- **Verdict:**
|
||||
- **Radar score:** X/12
|
||||
- **Why it made the cut:**
|
||||
- **Biggest flaw:**
|
||||
|
||||
### 3. <coin>
|
||||
- **Verdict:**
|
||||
- **Radar score:** X/12
|
||||
- **Why it made the cut:**
|
||||
- **Biggest flaw:**
|
||||
|
||||
**Bottom line**
|
||||
- Most interesting now:
|
||||
- Worth watching only:
|
||||
- Avoid first:
|
||||
|
||||
## Scam-check format
|
||||
|
||||
**Verdict:** likely tradable speculation | fragile / high-risk | avoid / scam-risk
|
||||
|
||||
**Main warning signs**
|
||||
- ...
|
||||
- ...
|
||||
|
||||
**Any redeeming signs**
|
||||
- ...
|
||||
- ...
|
||||
|
||||
**Decision**
|
||||
- what a cautious user should do next
|
||||
|
||||
**Risk note:** Absence of red flags is not proof of safety.
|
||||
92
references/provider-playbook.md
Normal file
92
references/provider-playbook.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Provider Playbook
|
||||
|
||||
Use this reference when the user wants fresher crypto market data instead of relying only on web search.
|
||||
|
||||
## Source roles
|
||||
|
||||
### Bybit
|
||||
Use for:
|
||||
- real-time-ish price
|
||||
- 24h turnover / volume
|
||||
- tradability check
|
||||
- kline context for listed pairs
|
||||
|
||||
Prefer Bybit first when the coin has a clear CEX symbol like `BTCUSDT`, `ETHUSDT`, `BONKUSDT`, etc.
|
||||
|
||||
### DexScreener
|
||||
Use for:
|
||||
- meme-coin discovery
|
||||
- DEX liquidity / pair context
|
||||
- chain and pool identification
|
||||
- faster read on small-cap or newly-hot coins
|
||||
|
||||
Prefer DexScreener when:
|
||||
- the coin is meme-heavy
|
||||
- it may not be on major CEXs
|
||||
- you need pair/liquidity context more than exchange execution context
|
||||
|
||||
### Birdeye
|
||||
Use for:
|
||||
- Solana meme-coin discovery
|
||||
- Solana token activity and pair context
|
||||
- confirming whether a Solana coin has genuine participation
|
||||
|
||||
Birdeye is especially useful when Solana names appear early in discovery.
|
||||
|
||||
### CoinGecko
|
||||
Use for:
|
||||
- market-cap cross-check
|
||||
- ranking / metadata / basic overview
|
||||
- fallback verification when exchange or DEX data is messy
|
||||
|
||||
Use CoinGecko to sanity-check whether the coin is a real market object with broad coverage.
|
||||
|
||||
## Recommended order
|
||||
|
||||
### For a known Bybit-listed coin
|
||||
1. Bybit
|
||||
2. CoinGecko
|
||||
3. DexScreener if meme angle matters
|
||||
|
||||
### For a meme / 妖币 candidate
|
||||
1. DexScreener
|
||||
2. Birdeye if Solana
|
||||
3. CoinGecko
|
||||
4. Bybit only if it is also listed there
|
||||
|
||||
### For discovery mode
|
||||
1. web_search to gather candidate names
|
||||
2. DexScreener to confirm pair/liquidity reality
|
||||
3. Birdeye for Solana candidates
|
||||
4. CoinGecko for market-cap verification
|
||||
5. Bybit to see whether the name graduated into a major tradable venue
|
||||
|
||||
## What each source answers
|
||||
|
||||
- **Bybit** → "Can I trade it on a major venue, and what does the market look like right now?"
|
||||
- **DexScreener** → "Does it actually have live DEX flow and liquidity?"
|
||||
- **Birdeye** → "Is the Solana on-chain activity real enough to care about?"
|
||||
- **CoinGecko** → "How big is it, and is it broadly recognized?"
|
||||
|
||||
## Practical rule
|
||||
|
||||
Do not make conviction from a single source.
|
||||
|
||||
For high-risk coins, prefer at least two independent checks:
|
||||
- one trading/liquidity source
|
||||
- one metadata/market-cap source
|
||||
|
||||
## Token identity hygiene
|
||||
|
||||
DexScreener search can return clones, stale pairs, and same-name distractions.
|
||||
|
||||
Before treating a result as the real target, prefer the pair that has:
|
||||
- the strongest 24h volume and usable liquidity
|
||||
- a market cap / FDV that roughly matches CoinGecko or other broad coverage sources
|
||||
- a chain and venue context that fits the narrative you are checking
|
||||
|
||||
If search results show multiple same-name tokens, explicitly say which contract or pair you are treating as the primary one.
|
||||
|
||||
## Script usage
|
||||
|
||||
Use `scripts/market_probe.py` for deterministic lookups instead of redoing provider URLs by hand.
|
||||
63
references/radar-checklist.md
Normal file
63
references/radar-checklist.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Coin Radar Checklist
|
||||
|
||||
Use this checklist for fast triage.
|
||||
|
||||
## Fast scorecard
|
||||
|
||||
Score each dimension from 0 to 2.
|
||||
|
||||
- **Narrative**
|
||||
- 0 = no clear story or hook
|
||||
- 1 = understandable but weak
|
||||
- 2 = strong, simple, contagious
|
||||
|
||||
- **Attention acceleration**
|
||||
- 0 = stagnant / invisible
|
||||
- 1 = niche chatter rising
|
||||
- 2 = clearly spreading beyond niche
|
||||
|
||||
- **Liquidity**
|
||||
- 0 = poor / suspicious / hard to exit
|
||||
- 1 = usable but thin
|
||||
- 2 = solid enough for speculation
|
||||
|
||||
- **Distribution quality**
|
||||
- 0 = dangerous concentration
|
||||
- 1 = somewhat fragile
|
||||
- 2 = acceptable for a speculative trade
|
||||
|
||||
- **Timing / chart state**
|
||||
- 0 = broken or exhausted
|
||||
- 1 = unclear
|
||||
- 2 = early-to-mid expansion setup
|
||||
|
||||
- **Scam-risk cleanliness**
|
||||
- 0 = obvious warnings
|
||||
- 1 = mixed / uncertain
|
||||
- 2 = no major public red flags found
|
||||
|
||||
## Quick interpretation
|
||||
|
||||
- **10-12** → strong speculative candidate; timing still matters
|
||||
- **7-9** → watchlist material; interesting but incomplete
|
||||
- **4-6** → weak; only for high-risk curiosity
|
||||
- **0-3** → avoid
|
||||
|
||||
## Compact answer template
|
||||
|
||||
- **Verdict:**
|
||||
- **Radar score:** X/12
|
||||
- **Why it’s interesting:**
|
||||
- **Main flaws:**
|
||||
- **What would confirm it:**
|
||||
- **What would invalidate it:**
|
||||
- **Risk note:** speculative only, not investment advice
|
||||
|
||||
## Hard-stop red flags
|
||||
|
||||
If any of these appear, strongly consider overriding the score to avoid:
|
||||
- obvious inability to exit
|
||||
- strong public rug warnings
|
||||
- fake or unverifiable listing/partnership claims
|
||||
- extreme wallet concentration with live dump risk
|
||||
- chart structure that looks purely manipulated
|
||||
109
references/scam-signals.md
Normal file
109
references/scam-signals.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# Scam / Fake-Hype Signals
|
||||
|
||||
Use this reference when a user asks whether a coin is a rug, scam, fake narrative pump, or suspicious meme coin.
|
||||
|
||||
## Goal
|
||||
|
||||
Separate three different bad cases:
|
||||
- **obvious scam-risk** — high chance of rug, manipulation, or fabricated legitimacy
|
||||
- **fake-hype / low-quality pump** — may trade, but the story is mostly noise and exit liquidity risk is high
|
||||
- **messy but tradable** — ugly structure, but not enough evidence to call it a scam
|
||||
|
||||
Do not collapse all weak coins into "scam." Be precise.
|
||||
|
||||
## Primary red flags
|
||||
|
||||
### 1. Liquidity illusion
|
||||
Warning signs:
|
||||
- the coin appears tradable, but exits are unclear
|
||||
- volume looks large relative to real attention
|
||||
- spreads are erratic or suspiciously wide
|
||||
- price moves hard on small visible participation
|
||||
|
||||
Interpretation:
|
||||
- if buyers can enter more easily than they can exit, treat this as a severe warning
|
||||
|
||||
### 2. Holder concentration risk
|
||||
Warning signs:
|
||||
- a few wallets dominate supply
|
||||
- deployer/team wallets remain powerful
|
||||
- clustered wallets look related
|
||||
- unlock or dump overhang seems obvious
|
||||
|
||||
Interpretation:
|
||||
- concentration does not automatically mean scam, but it makes the coin structurally fragile
|
||||
- if concentration is extreme and active, classify closer to avoid / scam-risk
|
||||
|
||||
### 3. Legitimacy theater
|
||||
Warning signs:
|
||||
- loud claims of partnerships with no verifiable source
|
||||
- fake exchange-listing rumors
|
||||
- website looks polished but contains no falsifiable specifics
|
||||
- team bios are vague, recycled, or unverifiable
|
||||
- social posts overpromise and under-document
|
||||
|
||||
Interpretation:
|
||||
- fake credibility signals are often more important than weak fundamentals
|
||||
|
||||
### 4. Social proof distortion
|
||||
Warning signs:
|
||||
- comments feel repetitive or botted
|
||||
- follower count is high but engagement quality is low
|
||||
- shill accounts post identical talking points
|
||||
- the project feels ubiquitous inside its own bubble but invisible elsewhere
|
||||
|
||||
Interpretation:
|
||||
- hype quality matters more than hype quantity
|
||||
|
||||
### 5. Chart manipulation smell
|
||||
Warning signs:
|
||||
- repeated long wicks without stable follow-through
|
||||
- random explosive candles with no broader market pickup
|
||||
- price repeatedly returns to the same area after dramatic spikes
|
||||
- pattern looks designed to bait breakout traders
|
||||
|
||||
Interpretation:
|
||||
- manufactured excitement often looks different from organic expansion
|
||||
|
||||
## Secondary warning signs
|
||||
|
||||
These do not prove scam by themselves, but they weaken the case:
|
||||
- narrative changes every few days
|
||||
- too many sectors/themes stapled together
|
||||
- tokenomics explanation is confusing on purpose
|
||||
- everything depends on one influencer wave
|
||||
- no credible venue improvement despite heavy promotion
|
||||
|
||||
## Useful distinctions
|
||||
|
||||
### Scam-risk
|
||||
Use when one or more of these are true:
|
||||
- severe exit/liquidity concerns
|
||||
- strong public warnings from multiple independent places
|
||||
- fabricated legitimacy claims look credible
|
||||
- wallet concentration plus active dump risk is severe
|
||||
|
||||
### Fake-hype / low-quality pump
|
||||
Use when:
|
||||
- the coin may still trade, but most of the fuel is shallow attention
|
||||
- quality of discussion is poor
|
||||
- market structure looks weak
|
||||
- timing is bad and late buyers are likely exit liquidity
|
||||
|
||||
### Messy but tradable
|
||||
Use when:
|
||||
- structure is ugly, but not enough to call scam
|
||||
- there is still credible liquidity and real attention
|
||||
- risk is high, but the market is not obviously fake
|
||||
|
||||
## Output guidance
|
||||
|
||||
When scam risk is part of the analysis, include:
|
||||
- **Suspicion level:** low / medium / high
|
||||
- **Main red flags:** 2-5 bullets
|
||||
- **What would reduce suspicion:** specific evidence, not vibes
|
||||
- **Bottom line:** tradable speculation / watch-only / avoid
|
||||
|
||||
## Hard override rule
|
||||
|
||||
Even if the narrative and attention look strong, classify as **avoid / scam-risk** when exit risk or fabricated legitimacy is severe enough.
|
||||
90
references/search-workflow.md
Normal file
90
references/search-workflow.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# Search Workflow
|
||||
|
||||
Use this workflow when the user wants you to proactively discover meme-coin / 妖币 candidates instead of analyzing a known ticker.
|
||||
|
||||
## Goal
|
||||
|
||||
Produce a shortlist with enough evidence to answer:
|
||||
- what deserves attention now
|
||||
- what is merely noisy
|
||||
- what should be avoided
|
||||
|
||||
## Default search strategy
|
||||
|
||||
Unless the user specifies otherwise, search for **liquid speculative candidates** first and avoid ultra-microcaps.
|
||||
|
||||
Run search in this order:
|
||||
|
||||
1. **Theme scan**
|
||||
- Search current meme-coin themes by chain or narrative
|
||||
- Examples:
|
||||
- `Solana meme coins trending`
|
||||
- `Base meme coin watchlist`
|
||||
- `AI meme coin trending`
|
||||
- `new meme coin listed today`
|
||||
|
||||
2. **Candidate extraction**
|
||||
- Pull out repeated names that appear across multiple sources
|
||||
- Prefer coins that appear in both market-oriented and community-oriented sources
|
||||
|
||||
3. **Candidate verification**
|
||||
- For each candidate, search:
|
||||
- `<coin> market cap liquidity`
|
||||
- `<coin> holders tokenomics`
|
||||
- `<coin> rug risk`
|
||||
- `<coin> listed on exchange`
|
||||
|
||||
4. **Cross-check timing**
|
||||
- Search whether the coin is already broadly saturated:
|
||||
- `<coin> trending X`
|
||||
- `<coin> breakout volume`
|
||||
- `<coin> price surge`
|
||||
- If it is already universally discussed, consider classifying it as late rather than early
|
||||
|
||||
## Source preference
|
||||
|
||||
Prefer a mix of:
|
||||
- credible exchange announcements or listing pages
|
||||
- market data summaries
|
||||
- crypto news aggregation
|
||||
- community/trading discussion summaries
|
||||
|
||||
Do not rely entirely on project websites or obvious promotion pages.
|
||||
|
||||
## Discovery rules
|
||||
|
||||
### Good candidate signs during search
|
||||
- name appears repeatedly across different sources
|
||||
- tied to a live narrative or active chain
|
||||
- discussion suggests recent acceleration, not just old fame
|
||||
- accessible enough that the user can realistically trade it
|
||||
|
||||
### Weak candidate signs during search
|
||||
- only appears in promotional pages
|
||||
- only appears on tiny venues
|
||||
- no independent discussion or market data context
|
||||
- most results are already about an explosive move that happened days ago
|
||||
|
||||
## Shortlist size
|
||||
|
||||
Default to **3-5 candidates**.
|
||||
|
||||
If the search returns many names:
|
||||
- keep the most repeated
|
||||
- keep the ones with the clearest narrative
|
||||
- remove obviously illiquid or scammy names first
|
||||
|
||||
## Output shape for discovery mode
|
||||
|
||||
For each shortlisted candidate include:
|
||||
- ticker / name
|
||||
- chain / venue context if known
|
||||
- why it entered the shortlist
|
||||
- biggest risk
|
||||
- tentative bucket: candidate runner / watch-only / avoid
|
||||
|
||||
Then give a final rank order.
|
||||
|
||||
## Notes
|
||||
|
||||
When evidence is weak, say so. Discovery mode is for narrowing attention, not pretending certainty.
|
||||
143
references/user-data-layout.md
Normal file
143
references/user-data-layout.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# User Data Layout
|
||||
|
||||
Store private coin-hunter data outside the skill directory.
|
||||
|
||||
## Root directory
|
||||
|
||||
Use:
|
||||
|
||||
```text
|
||||
~/.coin-hunter/
|
||||
```
|
||||
|
||||
This keeps personal accounts, positions, and watchlists out of packaged skill artifacts.
|
||||
|
||||
## Layout
|
||||
|
||||
```text
|
||||
~/.coin-hunter/
|
||||
├── config.json
|
||||
├── accounts.json
|
||||
├── positions.json
|
||||
├── watchlist.json
|
||||
├── notes.json
|
||||
└── cache/
|
||||
```
|
||||
|
||||
## File roles
|
||||
|
||||
### config.json
|
||||
Store user-level defaults.
|
||||
|
||||
Suggested fields:
|
||||
- `default_exchange`
|
||||
- `default_quote_currency`
|
||||
- `timezone`
|
||||
- `preferred_chains`
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"default_exchange": "bybit",
|
||||
"default_quote_currency": "USDT",
|
||||
"timezone": "Asia/Shanghai",
|
||||
"preferred_chains": ["solana", "base"]
|
||||
}
|
||||
```
|
||||
|
||||
### accounts.json
|
||||
Store exchange accounts and balances.
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"accounts": [
|
||||
{
|
||||
"id": "bybit-main",
|
||||
"exchange": "bybit",
|
||||
"label": "Bybit Main",
|
||||
"currency": "USDT",
|
||||
"cash_balance": 0,
|
||||
"available_cash": 0,
|
||||
"updated_at": null,
|
||||
"note": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### positions.json
|
||||
Store coin positions.
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"positions": [
|
||||
{
|
||||
"account_id": "bybit-main",
|
||||
"symbol": "BTCUSDT",
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "USDT",
|
||||
"market_type": "spot",
|
||||
"quantity": 0,
|
||||
"avg_cost": 0,
|
||||
"opened_at": null,
|
||||
"updated_at": null,
|
||||
"note": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### watchlist.json
|
||||
Store watched coins.
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"watchlist": [
|
||||
{
|
||||
"symbol": "FARTCOIN",
|
||||
"chain": "solana",
|
||||
"contract_address": null,
|
||||
"source": "manual",
|
||||
"status": "watching",
|
||||
"added_at": null,
|
||||
"note": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### notes.json
|
||||
Store discretionary notes and thesis fragments.
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"notes": [
|
||||
{
|
||||
"symbol": "FARTCOIN",
|
||||
"title": "Why this stays on radar",
|
||||
"body": "Good liquidity, strong meme spread, only for high-risk observation.",
|
||||
"updated_at": null
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### cache/
|
||||
Store disposable API results or normalized snapshots. Never treat this as source-of-truth portfolio state.
|
||||
|
||||
## Rules
|
||||
|
||||
- Keep personal data only under `~/.coin-hunter/`
|
||||
- Never write personal account or position data into `skills/coin-hunter/`
|
||||
- Treat `cache/` as disposable
|
||||
- Prefer stable IDs for accounts like `bybit-main`
|
||||
- For meme coins, include `chain` and `contract_address` when known
|
||||
Reference in New Issue
Block a user