skills/gh-star-list/SKILL.md
Organize GitHub starred repositories into GitHub Lists using AI-assisted categorization. Supports full batch mode and selective mode (specific repos or latest N stars), proposes a plan, then applies it after user confirmation. Use when the user wants to organize, categorize, sort, or assign GitHub stars to Lists. Trigger phrases: organize my stars, categorize stars, GitHub Lists, 整理 stars, stars 分类, gh-star-list.
npx skillsauth add shiqkuangsan/oh-my-daily-skills tooyoung:gh-star-listInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Organize GitHub starred repos into GitHub Lists automatically.
Verify environment before starting. Run these checks and guide user through any failures:
# 1. Check gh CLI installed
gh --version || echo "MISSING"
# 2. Check gh authenticated with 'user' scope
gh auth status # must show 'user' in scopes
# 3. Check jq installed
jq --version || echo "MISSING"
Troubleshooting:
| Problem | Solution |
| -------------------- | ------------------------------------------------------------------------ |
| gh not installed | macOS: brew install gh. Others: https://cli.github.com |
| gh not logged in | gh auth login -h github.com -p https -w (opens browser) |
| user scope missing | gh auth refresh -s user -h github.com |
| jq not installed | macOS: brew install jq. Others: https://jqlang.github.io/jq/download |
All checks must pass before proceeding. The user scope is required for GitHub Lists API access.
All scripts are in scripts/ relative to this skill's directory.
| Script | Purpose |
| ----------------- | ------------------------------------------------------------------ |
| fetch_stars.sh | Fetch starred repos (paginated). Outputs one JSON object per line. |
| manage_lists.sh | CRUD for GitHub Lists: get, create, delete, add |
Categorize all starred repos at once. Trigger: "整理所有 stars", "organize all my stars".
Categorize specific repos or the latest N stars. Trigger: "整理最近 10 个 star", "把 xxx/yyy 加到合适的 list".
When no specific repos are mentioned and user says "整理一下" without "所有/全部/all", default to latest 10 stars.
Full batch mode:
bash scripts/fetch_stars.sh > /tmp/stars.jsonl
bash scripts/manage_lists.sh get > /tmp/lists.json
Selective mode (latest N):
bash scripts/fetch_stars.sh --limit N > /tmp/stars.jsonl
bash scripts/manage_lists.sh get > /tmp/lists.json
For specific repos, use gh api to fetch individual repo info:
gh api repos/{owner}/{repo} --jq '{id: .node_id, full_name: .full_name, description: (.description // ""), topics: (.topics // []), language: (.language // ""), url: .html_url}'
Tell user how many stars to process and how many existing lists found.
Read /tmp/stars.jsonl and /tmp/lists.json.
Analyze all repos and existing lists. Propose a categorization plan.
Use these as a starting template for full batch mode. Adjust based on user's actual star composition — skip empty categories, merge small ones, split large ones (>40 repos).
| Category | Description | Typical repos | | ------------------ | ---------------------------------------------------- | ----------------------------------- | | AI | LLMs, ML frameworks, AI apps, agents | langchain, ollama, stable-diffusion | | React | React ecosystem: frameworks, hooks, state management | next.js, react, zustand | | React Native | React Native core, navigation, UI libs | react-navigation, expo | | Vue | Vue ecosystem: frameworks, plugins, tools | nuxt, vueuse, element-plus | | Flutter | Flutter/Dart packages and apps | flutter, riverpod | | Mobile Native | iOS/Android native development | Kotlin/Swift libs, Jetpack | | WeChat | Mini programs, WeChat SDK, WePY | wepy, vant-weapp | | Backend | Server frameworks, databases, APIs | express, fastapi, prisma | | Build & DX | Bundlers, linters, dev tools, monorepo | vite, eslint, turborepo | | CLI & Tools | Desktop apps, CLI utilities, productivity | homebrew, raycast, warp | | UI & Design | Component libraries, CSS, animation | tailwindcss, shadcn, framer-motion | | Network & Proxy | HTTP clients, proxies, VPN, network tools | clash, axios, nginx | | DevOps & Docker | CI/CD, containers, infra, monitoring | docker, k8s, terraform | | Low-Code & Admin | Admin panels, low-code platforms, CMS | strapi, appsmith, refine | | Awesome & Learning | Curated lists, tutorials, books, courses | awesome-xxx, free-programming-books | | Misc | Repos that don't fit elsewhere | |
Present the plan as a table. Wait for user confirmation or adjustments.
After user confirms:
bash scripts/manage_lists.sh create "<name>" "<description>"bash scripts/manage_lists.sh add <repo_node_id> <list_id>Critical: The add command calls updateUserListsForItem which replaces all list memberships for a repo. The listIds param is the complete set of lists the repo should belong to. To preserve existing membership, include ALL list IDs (old + new) in a single call.
Full batch: process in batches, report progress every 50 repos. Selective: process all at once.
Run bash scripts/manage_lists.sh get and present a summary table showing list name, repo count, and whether each list is new or existing.
development
Show OpenAI Codex release highlights in Chinese. Fetch GitHub release notes, summarize feature-level changes, skip bug-fix/chore noise by default, and append a mandatory highlights section. Trigger words: Codex updates, Codex features, Codex 新功能, Codex 更新, OpenAI Codex releases
development
清理当前项目的 Claude Code 会话:列出 ~/.claude/projects 下最近会话,按序号或 sessionId 选择,经二次确认后删除对应 .jsonl 与同名附件目录。Trigger words: 清理 cc 会话, 删除历史会话, cc resume 会话, clean cc sessions, cc session cleaner
development
Create simple Three.js web apps with scene setup, lighting, geometries, materials, animations, OrbitControls, particles, and responsive rendering. Use for Three.js scenes, WebGL demos, 3D showcases, and interactive 3D web content. Trigger: threejs, Three.js, 3D scene, WebGL, 三维展示, 3D showcase, interactive 3D
development
为 Claude Code 定义个性化身份风格(人设)。触发词:定义人设、创建身份、persona、角色设定、CLAUDE.local.md