github about
npx skills add https://github.com/alfredang/skills --skill GitHub About
Skill 文档
GitHub About
Command
/github-about or github-about
Navigate
Git & Repository
Keywords
github about, repo description, github topics, live site url, homepage url, repo setup, github metadata, repo settings, github description, add topics, set homepage, repo about, github profile, project metadata
Description
Automatically update your GitHub repository’s About section â description, live site URL, and topics â by analyzing your codebase. No manual repo settings needed.
Execution
This skill runs using Claude Code with subscription plan. Do NOT use pay-as-you-go API keys. All AI operations should be executed through the Claude Code CLI environment with an active subscription.
Response
I’ll update your GitHub repo’s About section!
The workflow includes:
| Step | Description |
|---|---|
| Auth Check | Verify gh CLI and auto-authenticate if needed |
| Repo Info | Extract owner/repo from git remote |
| Description | Generate and set a compelling repo description |
| Live Site | Detect and set the live site URL |
| Topics | Analyze tech stack and add relevant topics |
Instructions
When executing /github-about, follow this workflow:
Phase 1: Pre-flight
1.1 Verify GitHub CLI
gh --version
If not installed, inform the user:
ERROR: GitHub CLI (gh) not found.
Install: https://cli.github.com/
1.2 Auto-Authenticate
gh auth status
If not authenticated, automatically initiate browser-based login:
gh auth login --hostname github.com --git-protocol https --web
If authentication still fails after the browser flow:
ERROR: GitHub CLI authentication failed.
Please try again or run manually: gh auth login
1.3 Extract Owner/Repo
REMOTE_URL=$(git remote get-url origin)
OWNER=$(echo "$REMOTE_URL" | sed -E 's#.*(github\.com)[:/]([^/]+)/([^/.]+)(\.git)?$#\2#')
REPO=$(echo "$REMOTE_URL" | sed -E 's#.*(github\.com)[:/]([^/]+)/([^/.]+)(\.git)?$#\3#')
1.4 Get Current Repo Metadata
gh repo view --json description,homepageUrl,repositoryTopics
Store the current values so we know what needs updating.
Phase 2: Repository Description
2.1 Check Current Description
If the description is already set, skip unless user explicitly asks to update it.
2.2 Generate Description
Analyze the project to generate a short, compelling description (max 350 characters):
Sources to analyze (in priority order):
README.mdâ project title, first paragraph, featurespackage.jsonâdescriptionfieldpyproject.tomlâ[project] descriptionCargo.tomlâdescriptionsetup.pyorsetup.cfgâ description- Main source files â understand what the project does
Description guidelines:
- Start with a verb or noun (e.g., “A fast…”, “Build…”, “CLI tool for…”)
- Be specific about what the project does
- Mention key technology if relevant
- Keep it under 350 characters
- No emojis in the description
- Don’t start with “This is…” or “A repo for…”
2.3 Set Description
gh repo edit --description "Your generated description"
Phase 3: Live Site URL
3.1 Check Current Homepage
If the homepage URL is already set, skip unless user explicitly asks to update it.
3.2 Detect Live Site URL
Search for deployment URLs in this priority order:
-
Vercel: Check for Vercel deployment
# Check if Vercel project exists cat .vercel/project.json 2>/dev/null # Or check vercel.json for project name cat vercel.json 2>/dev/nullURL pattern:
https://<project-name>.vercel.app -
GitHub Pages: Check if Pages is enabled
gh api "/repos/$OWNER/$REPO/pages" 2>/dev/nullURL pattern:
https://<owner>.github.io/<repo>/ -
package.json: Check
homepagefieldnode -e "console.log(require('./package.json').homepage || '')" 2>/dev/null -
README.md: Scan for deployment URLs
- Look for URLs containing:
.vercel.app,.netlify.app,.github.io,.herokuapp.com,.fly.dev,.railway.app
- Look for URLs containing:
-
Custom domain: Check CNAME file (GitHub Pages custom domain)
cat CNAME 2>/dev/null
3.3 Set Homepage URL
gh repo edit --homepage "https://detected-url.com"
Phase 4: Repository Topics
4.1 Check Current Topics
If topics are already set, add to them rather than replacing. Never remove existing topics.
4.2 Detect Topics from Codebase
Analyze the project to determine relevant topics:
Language detection:
| File/Pattern | Topic |
|---|---|
*.ts, *.tsx |
typescript |
*.js, *.jsx |
javascript |
*.py |
python |
*.rs |
rust |
*.go |
go |
*.java |
java |
*.swift |
swift |
*.rb |
ruby |
Framework detection:
| File/Pattern | Topic |
|---|---|
next.config.* |
nextjs, react |
vite.config.* |
vite |
package.json with react |
react |
package.json with vue |
vue |
package.json with svelte |
svelte |
angular.json |
angular |
requirements.txt with django |
django |
requirements.txt with fastapi |
fastapi |
requirements.txt with flask |
flask |
Cargo.toml |
rust |
go.mod |
golang |
tailwind.config.* |
tailwindcss |
expo in package.json |
expo, react-native |
Platform detection:
| File/Pattern | Topic |
|---|---|
.vercel/ or vercel.json |
vercel |
Dockerfile |
docker |
fly.toml |
fly-io |
railway.json |
railway |
.github/workflows/ |
github-actions |
supabase/ |
supabase |
Domain detection (analyze README and source):
- AI/ML projects â
ai,machine-learning,llm - CLI tools â
cli,command-line - APIs â
api,rest-api,graphql - Web apps â
web-app,webapp - Games â
game,gamedev - DevTools â
developer-tools,devtools
Topic guidelines:
- All lowercase
- Use hyphens for multi-word topics (e.g.,
react-native) - Add 3-10 relevant topics
- Don’t add generic topics like
codeorproject - Prefer specific topics over vague ones
4.3 Add Topics
gh repo edit --add-topic "topic1" --add-topic "topic2" --add-topic "topic3"
Important: Use --add-topic (not --topic) to preserve existing topics.
Phase 5: Report
Print a summary of all changes made:
=== GitHub About Updated ===
Repository: OWNER/REPO
Description: <the description that was set>
Homepage: <the URL that was set>
Topics: topic1, topic2, topic3, topic4
View: https://github.com/OWNER/REPO
If any step was skipped (already set), note it:
Description: Already set (skipped)
Homepage: https://example.vercel.app (updated)
Topics: react, nextjs, typescript (added 3 new)
Capabilities
- Auto-detect and set repository description from codebase analysis
- Detect live site URLs from Vercel, GitHub Pages, Netlify, and more
- Analyze tech stack to generate relevant repository topics
- Preserve existing topics when adding new ones
- Auto-authenticate GitHub CLI via browser if needed
- Works with any project type (Node.js, Python, Rust, Go, etc.)
Next Steps
After running /github-about:
- Check your repo’s About section on GitHub
- Verify the description accurately represents your project
- Click the homepage URL to confirm it works
- Review topics and add/remove any manually if needed