← Back to Skills Marketplace
cosformula

GitHub Star Manager

by cosformula · GitHub ↗ · v0.1.2
cross-platform ✓ Security Clean
719
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install github-star-manager-skill
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/depre...
README (SKILL.md)

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'

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
Usage Guidance
This skill looks coherent for managing GitHub stars, but before installing: ensure you have gh installed and authenticated (gh auth login); back up your stars (run the export command and save stars.json) before bulk changes; note that Lists creation and mutation require a token with 'user' scope (Classic tokens are more powerful—only use if you understand the permissions); confirm that your agent or environment will prompt you before destructive actions (unstarring/removing items) or disable autonomous invocation if you don't want the agent to act without explicit consent; and prefer installing gh/jq from your system package manager (brew/apt) as shown. The only minor issue is an install-metadata inconsistency (brew vs apt) in documentation — not a security problem but worth checking.
Capability Analysis
Type: OpenClaw Skill Name: github-star-manager-skill Version: 0.1.2 The OpenClaw skill 'github-star-manager' is classified as benign. All operations described in SKILL.md, such as exporting GitHub stars, managing lists, and unstarring repositories, are directly aligned with its stated purpose. The skill exclusively uses the official GitHub CLI (`gh`) and `jq` for data processing, writing only public GitHub data to a local file (`stars.json`). There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts designed to mislead the AI agent into performing unauthorized actions. While the skill notes that 'user' scope on a GitHub Classic token is required for list operations (a broader permission), this is explicitly stated as necessary for functionality and relies on the user's existing `gh` authentication session, not a new token request or storage.
Capability Assessment
Purpose & Capability
Name/description (manage and categorize GitHub stars) matches the declared dependencies (gh, jq) and the SKILL.md commands (gh api, GraphQL mutations, jq). There are no unrelated binaries or secrets requested.
Instruction Scope
SKILL.md instructs the agent to run gh CLI commands that read/export stars, create lists, add repos, and delete (unstar) repos. That scope is appropriate for the stated purpose, but several operations are destructive (unstar, mutations) and rely on the user's gh auth session — the skill does instruct to confirm before destructive actions, so the scope is reasonable if confirmations are enforced.
Install Mechanism
Install entries use standard package managers (brew and apt) for gh and jq, which is low risk. Minor inconsistency: the registry's top-level install metadata listed only brew formulas, while the SKILL.md's embedded metadata also lists apt packages; this is likely benign but inconsistent.
Credentials
The skill requests no environment variables and uses the existing gh auth session. It documents that Lists operations require a token with 'user' scope (or a Classic token), which is a broader permission than read-only but justified for creating/managing Lists. Requesting the gh session instead of asking for raw tokens is appropriate and limits direct exposure of secrets in env vars.
Persistence & Privilege
always is false and the skill does not request persistent system-wide changes. The agent may be allowed to invoke the skill autonomously (platform default); because the skill can perform destructive actions, users should ensure confirmation steps are enforced when granting autonomous invocation, but the skill itself does not demand elevated persistent privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install github-star-manager-skill
  3. After installation, invoke the skill by name or use /github-star-manager-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.2
Release v0.1.2
v0.1.1
Release v0.1.1
v0.1.0
Initial release with core features for managing and organizing GitHub stars. - Export starred repositories with detailed metadata using the GitHub CLI. - View, create, and manage GitHub Lists for organizing repositories. - Categorize starred repositories with AI-powered suggestions based on language, topics, and usage. - Bulk unstar and batch-add repositories to Lists with user confirmation and rate limit protection. - Identify and clean up stale, archived, or deprecated starred repositories. - Provides CLI workflows and jq examples for efficient automation and review.
Metadata
Slug github-star-manager-skill
Version 0.1.2
License
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

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.

💬 Comments