Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add kayzaa/k.i.t.-bot --skill news-trackergit clone --depth 1 https://github.com/kayzaa/k.i.t.-botWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kayzaa/k.i.t.-bot/news-tracker)<a href="https://agentmods.dev/skills/kayzaa/k.i.t.-bot/news-tracker"><img src="https://agentmods.dev/badge/skills/kayzaa/k.i.t.-bot/news-tracker/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kayzaa/k.i.t.-bot/news-tracker"><img src="https://agentmods.dev/badge/skills/kayzaa/k.i.t.-bot/news-tracker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00022 | $0.02400 |
| Opus 5 | $0.00011 | $0.01200 |
| Sonnet 5 | $0.00004 | $0.00480 |
| Haiku 4.5 | $0.00002 | $0.00240 |
Grade C, and why
news-tracker scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s "https://api.whale-alert.io/v1/status" | python3 -c " Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
"requires": { "bins": ["python3", "curl"], "pip": ["requests", "feedparser", "beautifulsoup4"] } This is a copy
100% identical to news-tracker — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 344 lines — stays where its author put it; the contents beside it link to each section on GitHub.
News Tracker
Stay informed on crypto news and market sentiment.
Overview
- News Aggregation - Top crypto news sources
- Sentiment Analysis - Bullish/bearish signals from headlines
- Event Calendar - Upcoming launches, forks, etc.
- Social Monitoring - Twitter, Reddit trends
News Sources
| Source | URL | Focus |
|---|---|---|
| CoinDesk | coindesk.com | General crypto |
| CoinTelegraph | cointelegraph.com | News & analysis |
| The Block | theblock.co | Institutional |
| Decrypt | decrypt.co | DeFi, NFTs |
| CryptoSlate | cryptoslate.com | Market data |
Commands
Fetch Latest Crypto News
python3 -c "
import feedparser
feeds = [
('CoinDesk', 'https://www.coindesk.com/arc/outboundfeeds/rss/'),
('CoinTelegraph', 'https://cointelegraph.com/rss'),
]
print('📰 LATEST CRYPTO NEWS')
print('=' * 60)
for source, url in feeds:
try:
feed = feedparser.parse(url)
print(f'\\n📌 {source}')
for entry in feed.entries[:3]:
print(f' • {entry.title[:60]}...')
print(f' {entry.link}')
except Exception as e:
print(f' ⚠️ Error: {e}')
"
Search News for Specific Coin
python3 -c "
import requests
from bs4 import BeautifulSoup
coin = 'bitcoin'
url = f'https://cryptonews.com/news/{coin}-news/'
print(f'📰 NEWS SEARCH: {coin.upper()}')
print('=' * 60)
try:
response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}, timeout=10)
soup = BeautifulSoup(response.text, 'html.parser')
# Find news items (structure may vary)
articles = soup.find_all('article', limit=5)
for article in articles:
title = article.find(['h2', 'h3', 'a'])
if title:
print(f'• {title.get_text().strip()[:70]}')
except Exception as e:
print(f'⚠️ Error fetching news: {e}')
"
Simple Sentiment Analysis
python3 -c "
import feedparser
import re
# Simple keyword-based sentiment
bullish_words = ['surge', 'rally', 'breakout', 'bullish', 'soar', 'jump', 'gain', 'rise', 'ATH', 'moon', 'pump']
bearish_words = ['crash', 'dump', 'bearish', 'plunge', 'fall', 'drop', 'fear', 'sell-off', 'decline', 'tank']
feed = feedparser.parse('https://cointelegraph.com/rss')
bullish_count = 0
bearish_count = 0
headlines = []
for entry in feed.entries[:20]:
title = entry.title.lower()
headlines.append(entry.title)
for word in bullish_words:
if word.lower() in title:
bullish_count += 1
break
for word in bearish_words:
if word.lower() in title:
bearish_count += 1
break
total = bullish_count + bearish_count
if total > 0:
bullish_pct = (bullish_count / total) * 100
bearish_pct = (bearish_count / total) * 100
else:
bullish_pct = bearish_pct = 50
print('📊 NEWS SENTIMENT ANALYSIS')
print('=' * 60)
print(f'Headlines analyzed: {len(headlines)}')
print(f'Bullish signals: {bullish_count}')
print(f'Bearish signals: {bearish_count}')
print()
# Visual bar
bar_len = 40
bull_bar = int(bullish_pct / 100 * bar_len)
print(f'🟢 Bullish [{\"█\" * bull_bar}{\"░\" * (bar_len - bull_bar)}] {bullish_pct:.0f}%')
print(f'🔴 Bearish [{\"█\" * (bar_len - bull_bar)}{\"░\" * bull_bar}] {bearish_pct:.0f}%')
print()
if bullish_pct > 60:
print('📈 Overall Sentiment: BULLISH')
elif bearish_pct > 60:
print('📉 Overall Sentiment: BEARISH')
else:
print('⚪ Overall Sentiment: NEUTRAL')
"
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 344 lines · 22 tokens per session scan C db9ccb9a8f2f
news-tracker is a skill published in the GitHub repository kayzaa/k.i.t.-bot (5 stars, last pushed 6mo ago), licensed MIT. It adds 22 tokens to every session and 2,400 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). It is 100% identical to news-tracker, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
BytesAgain Crypto Toolkit — 200+ Technical Indicators, Real-Time Market Data
Use when you need real-time crypto prices, technical indicators (RSI, MACD, Bollinger, 50+), market rankings, on-chain data, or trading signals. Zero API key required.
trading-futures
Trade perpetual futures on Binance, Bybit, Hyperliquid, MEXC with up to 200x leverage.
pump-swarm
Coordinated multi-wallet trading on Pump.fun.
trading-solana
Trade tokens on Solana DEXes - Jupiter, Raydium, Orca, Meteora, Pump.fun.
copy-trading
Automatically copy trades from successful wallets on Polymarket and crypto.
execution
Execute trades on prediction markets with slippage protection and order management.