Sitemap was generating /en/* URLs which redirect to unprefixed paths
due to localePrefix: 'as-needed', causing Google Search Console
"Page with redirect" warnings and wasting crawl budget.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Lower exhaustion threshold from <10 to <2 (stop wasting remaining tokens)
- Refresh ALL tokens after wait instead of only one
- Fix token/Octokit mismatch by returning token from getBestInstance()
- Add budget checking (20% reserve) to deep-scan, discover-repos, awesome-lists,
and full-enhanced commands
- Add rate limit error handling with retry in DeepScanCrawler
- Sync translation and query changes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Generate sitemap.xml with all skill URLs for search engine discovery
- Return empty sitemap on mirror servers to prevent duplicate indexing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- fetchWithCsrf now awaits token initialization before sending requests
- Sync crawler and worker updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Open-source marketplace for AI Agent skills.
Features:
- Next.js 15 web app with i18n (en/fa)
- CLI tool for skill installation (npx skillhub)
- GitHub crawler/indexer with multi-strategy discovery
- Security scanning for all indexed skills
- Self-hostable with Docker
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>