github-trending — community github-trending, MyFirstRepo, community, ide skills

v1.0.0

About this Skill

Ideal for Data Analysis Agents needing real-time GitHub trending repository insights. Fetch and display GitHub trending repositories and developers. Use when building dashboards, discovering popular projects, or tracking trending repos. Triggers on GitHub trending, popular repos, trend

nesihaver-IL nesihaver-IL
[0]
[0]
Updated: 3/16/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 7/11

This page remains useful for operators, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution Locale and body language aligned
Review Score
7/11
Quality Score
33
Canonical Locale
en
Detected Body Locale
en

Ideal for Data Analysis Agents needing real-time GitHub trending repository insights. Fetch and display GitHub trending repositories and developers. Use when building dashboards, discovering popular projects, or tracking trending repos. Triggers on GitHub trending, popular repos, trend

Core Value

Empowers agents to fetch trending repositories and developers from GitHub using web scraping or the GitHub Search API, providing valuable data on repository owners, names, URLs, descriptions, languages, stars, forks, and today's stars.

Ideal Agent Persona

Ideal for Data Analysis Agents needing real-time GitHub trending repository insights.

Capabilities Granted for github-trending

Monitoring trending GitHub repositories for industry insights
Identifying popular open-source projects for collaboration opportunities
Tracking top GitHub developers for potential recruitment or partnership

! Prerequisites & Limits

  • GitHub does not provide an official trending API
  • Relies on web scraping or GitHub Search API as alternatives
  • Potential rate limits or terms of service restrictions apply

Why this page is reference-only

  • - The underlying skill quality score is below the review floor.

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

After The Review

Decide The Next Action Before You Keep Reading Repository Material

Killer-Skills should not stop at opening repository instructions. It should help you decide whether to install this skill, when to cross-check against trusted collections, and when to move into workflow rollout.

Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is github-trending?

Ideal for Data Analysis Agents needing real-time GitHub trending repository insights. Fetch and display GitHub trending repositories and developers. Use when building dashboards, discovering popular projects, or tracking trending repos. Triggers on GitHub trending, popular repos, trend

How do I install github-trending?

Run the command: npx killer-skills add nesihaver-IL/MyFirstRepo/github-trending. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for github-trending?

Key use cases include: Monitoring trending GitHub repositories for industry insights, Identifying popular open-source projects for collaboration opportunities, Tracking top GitHub developers for potential recruitment or partnership.

Which IDEs are compatible with github-trending?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for github-trending?

GitHub does not provide an official trending API. Relies on web scraping or GitHub Search API as alternatives. Potential rate limits or terms of service restrictions apply.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add nesihaver-IL/MyFirstRepo/github-trending. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use github-trending immediately in the current project.

! Reference-Only Mode

This page remains useful for installation and reference, but Killer-Skills no longer treats it as a primary indexable landing page. Read the review above before relying on the upstream repository instructions.

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

github-trending

Install github-trending, an AI agent skill for AI agent workflows and automation. Review the use cases, limitations, and setup path before rollout.

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

GitHub Trending Data

Fetch trending repositories and developers from GitHub.

Important Note

GitHub does NOT provide an official trending API. This skill uses web scraping or GitHub Search API as alternatives.

typescript
1import * as cheerio from 'cheerio'; 2 3interface TrendingRepo { 4 owner: string; 5 name: string; 6 url: string; 7 description: string; 8 language: string; 9 stars: number; 10 forks: number; 11 todayStars: number; 12} 13 14async function getTrendingRepos( 15 language = '', 16 since = 'daily' // 'daily', 'weekly', 'monthly' 17): Promise<TrendingRepo[]> { 18 const url = language 19 ? `https://github.com/trending/${language}?since=${since}` 20 : `https://github.com/trending?since=${since}`; 21 22 const response = await fetch(url, { 23 headers: { 24 'User-Agent': 'Mozilla/5.0 (compatible; TrendingBot/1.0)' 25 } 26 }); 27 28 const html = await response.text(); 29 const $ = cheerio.load(html); 30 const repos: TrendingRepo[] = []; 31 32 $('article.Box-row').each((_, element) => { 33 const $el = $(element); 34 const $title = $el.find('h2 a'); 35 const fullName = $title.attr('href')?.slice(1) || ''; 36 const [owner, name] = fullName.split('/'); 37 38 const description = $el.find('p').text().trim(); 39 const language = $el.find('[itemprop="programmingLanguage"]').text().trim(); 40 41 const starsText = $el.find('a[href*="stargazers"]').text().trim(); 42 const stars = parseNumber(starsText); 43 44 const forksText = $el.find('a[href*="forks"]').text().trim(); 45 const forks = parseNumber(forksText); 46 47 const todayStarsText = $el.find('span.float-sm-right').text().trim(); 48 const todayStars = parseNumber(todayStarsText); 49 50 repos.push({ 51 owner, 52 name, 53 url: `https://github.com${$title.attr('href')}`, 54 description, 55 language, 56 stars, 57 forks, 58 todayStars, 59 }); 60 }); 61 62 return repos; 63} 64 65function parseNumber(text: string): number { 66 const cleaned = text.replace(/,/g, ''); 67 const match = cleaned.match(/[\d.]+/); 68 if (!match) return 0; 69 70 const num = parseFloat(match[0]); 71 if (text.includes('k')) return Math.round(num * 1000); 72 if (text.includes('m')) return Math.round(num * 1000000); 73 return Math.round(num); 74}

Method 2: GitHub Search API

typescript
1interface GitHubRepo { 2 name: string; 3 owner: { login: string }; 4 html_url: string; 5 description: string; 6 language: string; 7 stargazers_count: number; 8 forks_count: number; 9 created_at: string; 10} 11 12async function getTrendingViaSearch( 13 language = '', 14 token?: string 15): Promise<GitHubRepo[]> { 16 const date = new Date(); 17 date.setDate(date.getDate() - 7); // Last week 18 const since = date.toISOString().split('T')[0]; 19 20 const query = [ 21 `created:>${since}`, 22 'stars:>100', 23 language ? `language:${language}` : '', 24 ].filter(Boolean).join(' '); 25 26 const headers: HeadersInit = { 27 'Accept': 'application/vnd.github.v3+json', 28 }; 29 30 if (token) { 31 headers['Authorization'] = `Bearer ${token}`; 32 } 33 34 const response = await fetch( 35 `https://api.github.com/search/repositories?q=${encodeURIComponent(query)}&sort=stars&order=desc`, 36 { headers } 37 ); 38 39 const data = await response.json(); 40 return data.items; 41}

Next.js API Route

typescript
1// app/api/trending/route.ts 2import { NextResponse } from 'next/server'; 3import * as cheerio from 'cheerio'; 4 5export const dynamic = 'force-dynamic'; 6 7export async function GET(request: Request) { 8 const { searchParams } = new URL(request.url); 9 const language = searchParams.get('language') || ''; 10 const since = searchParams.get('since') || 'daily'; 11 12 try { 13 const repos = await getTrendingRepos(language, since); 14 15 return NextResponse.json( 16 { success: true, data: repos }, 17 { 18 headers: { 19 'Cache-Control': 'public, s-maxage=3600, stale-while-revalidate=1800', 20 }, 21 } 22 ); 23 } catch (error) { 24 return NextResponse.json( 25 { success: false, error: 'Failed to fetch trending repos' }, 26 { status: 500 } 27 ); 28 } 29}

React Component

tsx
1'use client'; 2 3import { useState, useEffect } from 'react'; 4 5interface Repo { 6 owner: string; 7 name: string; 8 url: string; 9 description: string; 10 language: string; 11 stars: number; 12 todayStars: number; 13} 14 15export function TrendingRepos() { 16 const [repos, setRepos] = useState<Repo[]>([]); 17 const [loading, setLoading] = useState(true); 18 19 useEffect(() => { 20 fetch('/api/trending') 21 .then(res => res.json()) 22 .then(data => { 23 setRepos(data.data); 24 setLoading(false); 25 }); 26 }, []); 27 28 if (loading) return <div>Loading...</div>; 29 30 return ( 31 <div className="space-y-4"> 32 {repos.map(repo => ( 33 <div key={repo.url} className="border rounded-lg p-4"> 34 <a 35 href={repo.url} 36 target="_blank" 37 rel="noopener noreferrer" 38 className="text-blue-600 hover:underline font-semibold" 39 > 40 {repo.owner}/{repo.name} 41 </a> 42 43 <p className="text-gray-600 mt-2">{repo.description}</p> 44 45 <div className="flex items-center gap-4 mt-3 text-sm text-gray-500"> 46 {repo.language && ( 47 <span className="flex items-center gap-1"> 48 <span className="w-3 h-3 rounded-full bg-blue-500" /> 49 {repo.language} 50 </span> 51 )} 52 53 <span>⭐ {repo.stars.toLocaleString()}</span> 54 55 <span className="text-green-600"> 56 +{repo.todayStars.toLocaleString()} today 57 </span> 58 </div> 59 </div> 60 ))} 61 </div> 62 ); 63}

Caching Strategy

typescript
1// Cache for 1 hour 2const CACHE_TTL = 3600000; // 1 hour in ms 3const cache = new Map<string, { data: any; timestamp: number }>(); 4 5async function getCachedTrending(language: string, since: string) { 6 const key = `${language}-${since}`; 7 const cached = cache.get(key); 8 9 if (cached && Date.now() - cached.timestamp < CACHE_TTL) { 10 return cached.data; 11 } 12 13 const data = await getTrendingRepos(language, since); 14 cache.set(key, { data, timestamp: Date.now() }); 15 16 return data; 17}

Important Warnings

  1. GitHub may change their HTML - Monitor for breakages
  2. Rate limiting - Use aggressive caching (1 hour minimum)
  3. User-Agent required - Always include User-Agent header
  4. CORS - Implement server-side to avoid CORS issues

Rate Limits

Scraping: No official limits, but be respectful GitHub API:

  • Unauthenticated: 10 requests/minute
  • Authenticated: 30 requests/minute

Resources

Related Skills

Looking for an alternative to github-trending or another community skill for your workflow? Explore these related open-source skills.

View All

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

Generate customizable widget plugins for the prompts.chat feed system

149.6k
0
AI

flags

Logo of vercel
vercel

The React Framework

138.4k
0
Browser

pr-review

Logo of pytorch
pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

98.6k
0
Developer