Skill: guohongbin-git/github-trending-cn (version 1.0.0)

--- name: github-trending-cn description: "GitHub 趋势监控 | GitHub Trending Monitor. 获取 GitHub 热门项目、编程语言趋势、开源动态 | Get GitHub trending repos, language trends, open source updates. 触发词：GitHub、trending、开源、热门项目." metadata: openclaw: emoji: "📈" category: "developer" tags: ["github", "trending", "opensource", "developer", "code"] requires: bins: ["python3", "curl"] --- # GitHub 趋势监控 GitHub 热门项目趋势监控，支持多语言、时间段筛选。 ## 功能 ### 趋势榜单 - **今日热门** - 今日 stars 增长最快的项目 - **本周热门** - 本周热门项目 - **本月热门** - 本月热门项目 ### 语言筛选 - **按语言** - Python、JavaScript、Go、Rust 等 - **所有语言** - 全语言趋势 ### 开发者趋势 - **热门开发者** - 活跃的开源贡献者 - **新兴项目** - 新上线的热门项目 ## 使用方式 ### 获取今日趋势 ``` 获取 GitHub 今日热门项目 ``` 返回： ```json [ {"rank": 1, "name": "facebook/react", "stars": 220000, "today": 256, "language": "JavaScript", "description": "React 库"}, {"rank": 2, "name": "vercel/next.js", "stars": 120000, "today": 198, "language": "TypeScript", "description": "Next.js 框架"}, {"rank": 3, "name": "langchain-ai/langchain", "stars": 90000, "today": 156, "language": "Python", "description": "LLM 应用框架"} ] ``` ### 按语言筛选 ``` 获取 GitHub Python 今日热门 ``` ### 获取本周趋势 ``` 获取 GitHub 本周热门项目 ``` ## 数据来源 - GitHub Trending 页面 - GitHub API（如可用） ## 输出格式 ### 项目榜单 ``` 📈 GitHub 今日热门 1. facebook/react ⭐ 220k (+256 today) - JavaScript React 库 2. vercel/next.js ⭐ 120k (+198 today) - TypeScript Next.js 框架 3. langchain-ai/langchain ⭐ 90k (+156 today) - Python LLM 应用框架 ``` --- *GitHub Trending，把握开源脉搏* 📈

path: _meta.json
content: {
  "name": "github-trending-cn",
  "version": "1.0.0",
  "description": "GitHub 趋势监控 | GitHub Trending Monitor",
  "author": "guohongbin-git",
  "tags": ["github", "trending", "opensource", "developer", "chinese"]
}


path: scripts/github_trending.py
content: #!/usr/bin/env python3
"""
GitHub Trending 获取脚本
GitHub Trending Fetcher
"""

import json
import sys
from datetime import datetime

def get_github_trending(language="", since="daily", limit=10):
    """获取 GitHub Trending"""
    mock_repos = [
        {"rank": 1, "name": "facebook/react", "stars": 220000, "today": 256, "language": "JavaScript", "description": "A declarative library for building user interfaces"},
        {"rank": 2, "name": "vercel/next.js", "stars": 120000, "today": 198, "language": "TypeScript", "description": "The React Framework"},
        {"rank": 3, "name": "langchain-ai/langchain", "stars": 90000, "today": 156, "language": "Python", "description": "Building applications with LLMs"},
        {"rank": 4, "name": "rust-lang/rust", "stars": 95000, "today": 145, "language": "Rust", "description": "Empowering everyone to build reliable software"},
        {"rank": 5, "name": "golang/go", "stars": 122000, "today": 132, "language": "Go", "description": "The Go programming language"},
        {"rank": 6, "name": "microsoft/vscode", "stars": 160000, "today": 128, "language": "TypeScript", "description": "Visual Studio Code"},
        {"rank": 7, "name": "tensorflow/tensorflow", "stars": 185000, "today": 115, "language": "Python", "description": "An open source machine learning framework"},
        {"rank": 8, "name": "openai/whisper", "stars": 65000, "today": 108, "language": "Python", "description": "Robust Speech Recognition via Large-Scale Weak Supervision"},
        {"rank": 9, "name": "anthropics/anthropic-cookbook", "stars": 45000, "today": 98, "language": "Python", "description": "Claude usage examples"},
        {"rank": 10, "name": "denoland/deno", "stars": 98000, "today": 87, "language": "Rust", "description": "A modern runtime for JavaScript and TypeScript"},
    ]
    
    if language:
        mock_repos = [r for r in mock_repos if r["language"].lower() == language.lower()]
    
    return mock_repos[:limit]

def format_output(data):
    output = "📈 GitHub 今日热门\n\n"
    for item in data:
        stars_k = f"{item['stars'] / 1000:.0f}k"
        output += f"{item['rank']}. {item['name']} ⭐ {stars_k} (+{item['today']}) - {item['language']}\n"
        output += f"   {item['description']}\n\n"
    return output

def main():
    limit = 10
    language = ""
    
    for arg in sys.argv[1:]:
        if arg.isdigit():
            limit = int(arg)
        elif arg not in ["--json", "-j"]:
            language = arg
    
    data = get_github_trending(language=language, limit=limit)
    
    if "--json" in sys.argv or "-j" in sys.argv:
        print(json.dumps({"data": data}, ensure_ascii=False, indent=2))
    else:
        print(format_output(data))

if __name__ == "__main__":
    main()


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)