- 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>
The upsert query was missing skillPath and branch in onConflictDoUpdate,
so when a repo was restructured (e.g., skills moved to category
subdirectories), the DB retained the old path forever. Also updated
skill-indexer to not skip re-indexing when only the path changed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When skillPath from the registry had a prefix (e.g., "skills/foo"), fallback
paths were incorrectly generated with duplicate prefixes like
".claude/skills/skills/foo/SKILL.md". Now extracts the leaf skill name to
build correct fallback paths. Also adds raw.githubusercontent.com as a
universal fallback for 404s, improves error messages with actual paths tried,
and skips API results that lack the main instruction file.
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>