with one click
trending-skills
// Get skills.sh trending rankings with AI summaries, trend analysis, and category insights. Use when asking about skill rankings, trends, or skill details.
// Get skills.sh trending rankings with AI summaries, trend analysis, and category insights. Use when asking about skill rankings, trends, or skill details.
| name | trending-skills |
| description | Get skills.sh trending rankings with AI summaries, trend analysis, and category insights. Use when asking about skill rankings, trends, or skill details. |
Fetches the latest skills rankings from skills.sh/trending, provides AI-powered skill summaries, and analyzes ranking trends (rising, falling, new entries).
# View today's rankings
ไปๅคฉๆ่ฝๆ่กๆฆ
Top 10 skills
ๆ่ฝๆฆๅ
# View skill details
remotion-best-practices ๆฏไปไน
frontend-design ๆ่ฝไป็ป
# View trends
ๆ่ฝ่ถๅฟๅๆ
ๅชไบๆ่ฝไธๅไบ
ไปๅคฉๆๆฐๆ่ฝๅ
ๆฐๆๆฆๅ
| Type | Examples | Description |
|---|---|---|
| ไปๆฅๆฆๅ | "ไปๅคฉๆ่ฝๆ่กๆฆ" "Top 10" "ๆ่ฝๆฆๅ" | Get current rankings |
| ๆ่ฝ่ฏฆๆ | "xxxๆฏไปไน" "xxxๆ่ฝไป็ป" | Get AI summary of a skill |
| ่ถๅฟๅๆ | "ๆ่ฝ่ถๅฟ" "ๅชไบไธๅไบ" | Get trend analysis |
Progress:
- [ ] Step 1: Parse user query type
- [ ] Step 2: Fetch/Load ranking data
- [ ] Step 3: Format and display results
Determine what the user is asking for:
| User Input | Query Type | Action |
|---|---|---|
| "ไปๅคฉๆ่ฝๆ่กๆฆ" | rankings | Show top N rankings |
| "Top 10 skills" | rankings | Show top N rankings |
| "xxxๆฏไปไน" | detail | Show skill details |
| "ๅชไบๆ่ฝไธๅไบ" | trends | Show rising skills |
| "ๆฐๆๆฆๅ" | trends | Show new entries |
| "ๆ่ฝ่ถๅฟๅๆ" | trends | Show full trend report |
If data/trends.db exists and has recent data:
# Check available dates
sqlite3 data/trends.db "SELECT date FROM skills_daily ORDER BY date DESC LIMIT 1;"
# Get latest rankings
sqlite3 data/trends.db "SELECT rank, name, owner, installs, installs_delta, rank_delta FROM skills_daily WHERE date = '2026-01-23' ORDER BY rank LIMIT 20;"
If no database or data is stale:
# Run the fetcher
from src.skills_fetcher import SkillsFetcher
fetcher = SkillsFetcher()
skills = fetcher.fetch() # Returns Top 100
# ๐ Skills Trending - 2026-01-23
| # | ๆ่ฝ | ๆฅๆ่
| ๅฎ่ฃ
้ | ๅๅ |
|---|------|--------|--------|------|
| 1 | remotion-best-practices | remotion-dev/skills | 5.6K | โ 50 |
| 2 | vercel-react-best-practices | vercel-labs/agent-skills | 5.4K | - |
| 3 | web-design-guidelines | vercel-labs/agent-skills | 4.0K | โ 2 |
...
# remotion-best-practices
**ๆฅๆ่
**: remotion-dev/skills
**ๆๅ**: #1 (5.6K ๅฎ่ฃ
)
## ็ฎไป
็จ React ไปฃ็ ๅๅปบ่ง้ข็ๆไฝณๅฎ่ทต
## ่ฏฆ็ป่ฏดๆ
็จๅบๅ่ง้ข็ๆๆกๆถ Remotion ็ๆไฝณๅฎ่ทต้ๅ๏ผๅ
ๅซ 27 ไธช่งๅใ
## ่งฃๅณ้ฎ้ข
- ็จๅบๅ่ง้ข
- ๅญๅน็ๆ
- 3D ๅจๆ
- ้ณ้ขๅค็
## ไฝฟ็จๅบๆฏ
่ง้ข่ชๅจๅใไธชๆงๅ่ง้ข็ๆใๆฐๆฎๅฏ่งๅ่ง้ข
**ๅ็ฑป**: ่ง้ข/ๅจ็ป
๐ https://skills.sh/remotion-dev/skills/remotion-best-practices
# ๐ ๆ่ฝ่ถๅฟๅๆ - 2026-01-23
## ไธๅ Top 5
| # | ๆ่ฝ | ๅๅ |
|---|------|------|
| 7 | seo-audit | โ 38 |
| 15 | copywriting | โ 12 |
...
## ไธ้ Top 5
| # | ๆ่ฝ | ๅๅ |
|---|------|------|
| 10 | old-skill | โ 15 |
...
## ๆฐๆๆฆๅ
- new-skill (#82)
- another-new (#95)
## ่ทๅบๆฆๅ
- dropped-skill (ๆจๆฅ #75)
CREATE TABLE skills_daily (
date TEXT, -- YYYY-MM-DD
rank INTEGER, -- ๆๅ
name TEXT, -- ๆ่ฝๅ็งฐ
owner TEXT, -- ๆฅๆ่
installs INTEGER, -- ๅฎ่ฃ
้
installs_delta INTEGER, -- ๅฎ่ฃ
้ๅๅ
rank_delta INTEGER -- ๆๅๅๅ (ๆญฃ=ไธๅ)
);
CREATE TABLE skills_details (
name TEXT PRIMARY KEY,
summary TEXT, -- ไธๅฅ่ฏๆ่ฆ
description TEXT, -- ่ฏฆ็ปๆ่ฟฐ
use_case TEXT, -- ไฝฟ็จๅบๆฏ
solves TEXT, -- JSON: ่งฃๅณ็้ฎ้ข
category TEXT, -- ๅ็ฑป
category_zh TEXT, -- ไธญๆๅ็ฑป
rules_count INTEGER,
owner TEXT,
url TEXT
);
Environment variables (optional, for fetching):
# For AI summaries
ZHIPU_API_KEY=your_key
# For database
DB_PATH=data/trends.db
User Input: "ไปๅคฉๆ่ฝๆ่กๆฆ"
Process:
rankingsOutput:
# ๐ Skills Trending - 2026-01-23
| # | ๆ่ฝ | ๅฎ่ฃ
้ | ๅๅ |
|---|------|--------|------|
| 1 | remotion-best-practices | 5.6K | - |
| 2 | vercel-react-best-practices | 5.4K | - |
...
User Input: "remotion-best-practices ๆฏไปไน"
Process:
detailremotion-best-practicesOutput: (See Detail Output Format above)
User Input: "ๅชไบๆ่ฝไธๅไบ"
Process:
trends (filter: rising)rank_delta > 0rank_delta DESCOutput:
# ๐ ไธๅไธญ็ๆ่ฝ
| # | ๆ่ฝ | ไธๅ |
|---|------|------|
| 7 | seo-audit | โ 38 |
| 15 | copywriting | โ 12 |
...
If data/trends.db doesn't exist, fetch fresh data:
from src.skills_fetcher import SkillsFetcher
from src.database import Database
from datetime import datetime
today = datetime.now().strftime("%Y-%m-%d")
fetcher = SkillsFetcher()
skills = fetcher.fetch()
db = Database()
db.init_db()
db.save_today_data(today, skills)
If data is old, re-run main_trending.py or fetch fresh data.
# Run full trending analysis
python src/main_trending.py
# Query database
sqlite3 data/trends.db "SELECT * FROM skills_daily WHERE date = '2026-01-23' ORDER BY rank;"