GitHub Star Manager
/install github-star-manager-skill
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:
- Run
gh auth loginif not already authenticated - For read-only operations (export, stats): default token scopes are sufficient
- For Lists operations (create list, add to list): token needs
userscope — rungh auth refresh -s useror use a Classic token withuserscope
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'
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
- Export stars to JSON
- Analyze the JSON — suggest categories based on language, topics, purpose, domain
- Present suggestions to user for review
- Create Lists and add repos after confirmation
- Batch operations with delays between API calls
Cleanup Workflow
- Export stars to JSON
- Use jq to find archived, stale (2+ years no push), low-star, or deprecated repos
- Present candidates to user, confirm before unstarring
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install github-star-manager-skill - After installation, invoke the skill by name or use
/github-star-manager-skill - Provide required inputs per the skill's parameter spec and get structured output
What is GitHub Star Manager?
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/depre... It is an AI Agent Skill for Claude Code / OpenClaw, with 719 downloads so far.
How do I install GitHub Star Manager?
Run "/install github-star-manager-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is GitHub Star Manager free?
Yes, GitHub Star Manager is completely free (open-source). You can download, install and use it at no cost.
Which platforms does GitHub Star Manager support?
GitHub Star Manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created GitHub Star Manager?
It is built and maintained by cosformula (@cosformula); the current version is v0.1.2.