
Meme Scout
- 198 installs
- 31 repo stars
- Updated May 4, 2026
- kukapay/crypto-skills
Scan meme-token markets, liquidity, and social signals to spot trending coins and inform trading or launch timing decisions.
About
meme-scout from kukapay/crypto-skills helps agents monitor meme-coin ecosystems, surface emerging tokens, and interpret market and social signals for timely crypto trading or promotion decisions.
- Meme-token trend detection
- Liquidity and volume signals
- Social narrative scanning
- Trading opportunity alerts
- Crypto market recon
Meme Scout by the numbers
- 198 all-time installs (skills.sh)
- +4 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #98 of 479 Web3 & Blockchain skills by installs in the Skillselion catalog
- Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/kukapay/crypto-skills --skill meme-scoutAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 198 |
|---|---|
| repo stars | ★ 31 |
| Last updated | May 4, 2026 |
| Repository | kukapay/crypto-skills ↗ |
What it does
Scan meme-token markets, liquidity, and social signals to spot trending coins and inform trading or launch timing decisions.
Files
Meme Scout
This skill provides workflows for finding and analyzing trending meme coins on decentralized exchanges.
Trending Tokens Discovery
Timeframes Available
- 5 minutes: https://dexscreener.com/?rankBy=trendingScoreM5&order=desc
- 1 hour: https://dexscreener.com/?rankBy=trendingScoreH1&order=desc
- 6 hours (default): https://dexscreener.com/
- 24 hours: https://dexscreener.com/?rankBy=trendingScoreH24&order=desc
How to Fetch Trending Data
1. Use curl to fetch the HTML from the appropriate URL 2. Extract the __SERVER_DATA from the script tag using sed 3. Parse the JSON with Node.js VM to get the pairs array 4. Each pair contains: baseToken (name, symbol, address), priceUsd, priceChange (m5, h1, h6, h24), volume, liquidity, etc.
Example command for top 10 trending:
curl -s "https://dexscreener.com/?rankBy=trendingScoreH24&order=desc" | sed -n 's/.*window\.__SERVER_DATA\s*=\s*\(.*\);.*/\1/p' | node -e "
const fs = require('fs');
const input = fs.readFileSync(0, 'utf-8').trim();
const code = 'data = ' + input;
const vm = require('vm');
const sandbox = {data: null, URL: URL, Date: Date, undefined: undefined};
vm.runInNewContext(code, sandbox);
const pairs = sandbox.data.route.data.dexScreenerData.pairs.slice(0,10);
pairs.forEach(p => console.log(\`\${p.baseToken.name} | \${p.chainId} | $\${p.priceUsd} | \${p.priceChange.h24}% | \${p.baseToken.address}\`));
"Risk Assessment for Specific Tokens
Steps to Check Risk
1. DexScreener Audit: Visit the pair page (https://dexscreener.com/{chainId}/{pairAddress}) and check the "Audit" section 2. RugCheck.xyz: For Solana tokens, use https://rugcheck.xyz/tokens/{tokenAddress} 3. On-chain Analysis: Check creator wallet, liquidity locks, token distribution 4. General Red Flags: Anonymous teams, Pump.fun origin, extreme volatility, no utility
Risk Levels
- Low: Verified team, audited contracts, locked liquidity
- Medium: Some transparency, basic audit, moderate volatility
- High: Anonymous creator, no locks, Pump.fun token, high volatility
- Extreme: Recent creation, suspicious patterns, social hype without substance
References
See references/ for detailed guides:
- DEX Screener API
- Risk Assessment Guide
- Pump.fun Risks
Scripts
- scripts/fetch-trending.js: Node.js script for fetching trending data
- scripts/check-risk.sh: Bash script for basic risk checks</content>
<parameter name="filePath">./skills/meme-scout/SKILL.md
DexScreener API Reference
DexScreener provides trending data via embedded JSON in their web pages.
Trending Endpoints
The trending data is available by fetching the HTML and extracting window.__SERVER_DATA.
Timeframes
- 5m: ?rankBy=trendingScoreM5&order=desc
- 1h: ?rankBy=trendingScoreH1&order=desc
- 6h: (default)
- 24h: ?rankBy=trendingScoreH24&order=desc
Data Structure
The pairs array contains objects with:
- chainId: string (e.g., "solana")
- dexId: string (e.g., "pumpswap")
- baseToken: {name, symbol, address}
- quoteToken: {name, symbol, address}
- price: string
- priceUsd: string
- priceChange: {m5, h1, h6, h24} percentages
- volume: {m5, h1, h6, h24}
- liquidity: {usd, base, quote}
- marketCap, fdv
- pairAddress
- pairCreatedAt
Official API
DexScreener has an official API at https://docs.dexscreener.com/api/reference
But trending is not directly available; use the embedded data method.</content> <parameter name="filePath">./skills/meme-scout/references/dexscreener-api.md
Pump.fun Risks
Pump.fun is a platform for launching meme coins on Solana with a bonding curve mechanism.
Specific Risks
- 98.7% of tokens exhibit pump-and-dump characteristics (per research)
- Anonymous creators: No KYC or verification
- No liquidity locks: Creators can drain at any time
- Bonding curve manipulation: Prices can be manipulated
- High failure rate: Most tokens lose value quickly
- Exit scams: Creators disappear with funds
Mitigation
- Wait for migration to Raydium (more established DEX)
- Check creator renunciation
- Monitor for suspicious trading patterns
- Use tools like RugCheck before investing
- Start with small amounts
Pump.fun tokens are speculative and high-risk by nature. Most will fail.</content> <parameter name="filePath">./skills/meme-scout/references/pump-fun-risks.md
Risk Assessment Guide for Meme Coins
General Risks
- Volatility: Meme coins can experience extreme price swings
- Rug Pulls: Creators may drain liquidity or dump tokens
- Scams: Fake projects, pump-and-dump schemes
- Lack of Utility: No real-world value or use case
- Regulatory Risks: Potential bans or restrictions
Checking Risk
1. DexScreener Audit
- Visit pair page
- Check "Audit" section
- Look for "No issues" or specific warnings
2. RugCheck.xyz (Solana)
- Input token address
- Check for mint authority, freeze authority
- Look at top holders concentration
- Review liquidity locks
3. On-chain Analysis
- Creator wallet: Check if renounced or controlled
- Liquidity: Is it locked? Amount?
- Token distribution: Fair launch vs. pre-mine
- Social proof: Real community vs. bots
4. Red Flags
- Anonymous team
- No website/social links
- Extreme hype with no substance
- Recent creation with rapid growth
- Pump.fun origin (high risk)
Risk Levels
- Low: Audited, locked liquidity, transparent team
- Medium: Some checks pass, moderate market cap
- High: New token, Pump.fun, no locks
- Extreme: Suspicious patterns, insider dumping
Always DYOR and use at your own risk.</content> <parameter name="filePath">./skills/meme-scout/references/risk-assessment.md
#!/bin/bash
# Basic risk check script for meme coins
# Usage: ./check-risk.sh <token_address> <chain>
TOKEN=$1
CHAIN=$2
if [ -z "$TOKEN" ] || [ -z "$CHAIN" ]; then
echo "Usage: $0 <token_address> <chain>"
echo "Example: $0 EqbJLmrcip2T9ULueB1Lj4ew4YzUs9WatGWfh5opump solana"
exit 1
fi
echo "Risk Check for Token: $TOKEN on $CHAIN"
echo "======================================"
if [ "$CHAIN" = "solana" ]; then
echo "RugCheck.xyz: https://rugcheck.xyz/tokens/$TOKEN"
echo "Solana Tracker: https://www.solanatracker.io/token/$TOKEN"
fi
echo "DexScreener: Search for the token to find pair page"
echo "General checks:"
echo "- Creator wallet analysis"
echo "- Liquidity lock status"
echo "- Token distribution"
echo "- Social media presence"
echo ""
echo "WARNING: Always DYOR. Meme coins are high risk."const https = require('https');
const vm = require('vm');
const timeframe = process.argv[2] || 'h24';
const urlMap = {
m5: 'https://dexscreener.com/?rankBy=trendingScoreM5&order=desc',
h1: 'https://dexscreener.com/?rankBy=trendingScoreH1&order=desc',
h6: 'https://dexscreener.com/',
h24: 'https://dexscreener.com/?rankBy=trendingScoreH24&order=desc'
};
const changeKey = timeframe;
const url = urlMap[timeframe];
https.get(url, (res) => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
const match = data.match(/window\.__SERVER_DATA\s*=\s*(\{.*?\});/s);
if (match) {
const code = 'data = ' + match[1];
const sandbox = {data: null, URL: URL, Date: Date, undefined: undefined};
vm.runInNewContext(code, sandbox);
const pairs = sandbox.data.route.data.dexScreenerData.pairs.slice(0,10);
pairs.forEach(p => {
const change = p.priceChange[changeKey] || 0;
console.log(`${p.baseToken.name} | ${p.chainId} | $${p.priceUsd} | ${change}% | ${p.baseToken.address}`);
});
} else {
console.error('No __SERVER_DATA found');
}
});
}).on('error', err => console.error(err));</content>
<parameter name="filePath">./skills/meme-scout/scripts/fetch-trending.js