GitHub Star Manager

👤 cosformula 📦 v0.1.2 ⭐ 4.1 ⬇️ 1.3K 下載
💻 開發程式設計 免費

📖 技能介紹


name: github-star-manager description: Manage GitHub stars with AI-powered categorization and cleanup. Use when a user wants to organize their starred repos into GitHub Lists, clean up stale/deprecated stars, export star data for analysis, or get stats about their GitHub stars. Supports semantic categorization via LLM and bulk operations (unstar, add-to-list). metadata: { "openclaw": { "emoji": "⭐", "requires": { "bins": ["gh", "jq"] }, "notes": "Requires gh auth login (authenticated GitHub CLI). For Lists operations (create/add), the token needs user scope — use a Classic token. The skill uses the existing gh auth session; no separate env var is needed.", "install": [ { "id": "brew-gh", "kind": "brew", "formula": "gh", "bins": ["gh"], "label": "Install GitHub CLI (brew)", }, { "id": "apt-gh", "kind": "apt", "package": "gh", "bins": ["gh"], "label": "Install GitHub CLI (apt)", }, { "id": "brew-jq", "kind": "brew", "formula": "jq", "bins": ["jq"], "label": "Install jq (brew)", }, { "id": "apt-jq", "kind": "apt", "package": "jq", "bins": ["jq"], "label": "Install jq (apt)", }, ], }, }


GitHub Star Manager

Requires gh (authenticated) + jq. For Lists operations: token needs user scope (Classic token recommended).

Authentication

This skill uses the gh CLI's existing auth session. Before using:

  1. Run gh auth login if not already authenticated
  2. For read-only operations (export, stats): default token scopes are sufficient
  3. For Lists operations (create list, add to list): token needs user scope — run gh auth refresh -s user or use a Classic token with user scope

No separate API key or environment variable is needed.

Export Stars

gh api user/starred --paginate --jq '.[] | {
  full_name, description, url: .html_url, language,
  topics, stars: .stargazers_count, forks: .forks_count,
  archived, updated_at, pushed_at
}' | jq -s '.' > stars.json

Slow for 1000+ stars (~1 min per 1000). Quick count: gh api user/starred --paginate --jq '. | length' | jq -s 'add'.

View Existing Lists

gh api graphql -f query='{
  viewer {
    lists(first: 100) {
      nodes { id name description isPrivate items { totalCount } }
    }
  }
}' --jq '.data.viewer.lists.nodes'

本技能來自小蔥技能站7w4.net。

Create a List

gh api graphql -f query='
mutation($name: String!, $desc: String) {
  createUserList(input: {name: $name, description: $desc, isPrivate: false}) {
    list { id name }
  }
}' -f name="LIST_NAME" -f desc="LIST_DESCRIPTION" --jq '.data.createUserList.list'

Save the returned id for adding repos.

Add Repo to List

REPO_ID=$(gh api repos/OWNER/REPO --jq '.node_id')

# Note: listIds is a JSON array, use --input to pass variables correctly
echo '{"query":"mutation($itemId:ID!,$listIds:[ID!]!){updateUserListsForItem(input:{itemId:$itemId,listIds:$listIds}){user{login}}}","variables":{"itemId":"'$REPO_ID'","listIds":["LIST_ID"]}}' \
  | gh api graphql --input -

Add ~300ms delay between calls to avoid rate limits.

Unstar

gh api -X DELETE user/starred/OWNER/REPO

Always confirm with user before unstarring.

Organize Workflow

  1. Export stars to JSON
  2. Analyze the JSON — suggest categories based on language, topics, purpose, domain
  3. Present suggestions to user for review
  4. Create Lists and add repos after confirmation
  5. Batch operations with delays between API calls

Cleanup Workflow

  1. Export stars to JSON
  2. Use jq to find archived, stale (2+ years no push), low-star, or deprecated repos
  3. Present candidates to user, confirm before unstarring

🤖 AI 評測

這個 Skill 質量中規中矩,文件寫得比較清楚,功能覆蓋也比較全面,能滿足基本的 GitHub stars 管理需求。但它本質上只是一份命令參考手冊,不是可以直接執行的自動化工具,用起來需要一定的動手能力。缺少對操作結果的自動檢查,批次操作時如果遇到網路問題容易失敗。總體來說有參考價值,但不夠好用,建議等待更完善的版本。

📊 多維度評分

適應性4
規範性4
有效性4.3
可靠性3.9
可信度4.3

📁 包含檔案 (2 個)

📄 SKILL.md 4 KB
📄 _meta.json 144 B