Skip to content

Install hangs on large repos (no sparse checkout) #46

@Vergil333

Description

@Vergil333

Problem

skillshare install hangs (appears frozen at "Cloning repository...") when the source repo is large, because it does a full git clone even when only a subdirectory is needed.

Reproduction:

skillshare install https://github.com/majiayu000/claude-skill-registry/tree/main/skills/documents/atlassian-search

This repo is ~1 GB. Skillshare correctly detects the subdirectory (skills/documents/atlassian-search) but still clones the entire repository, which takes a very long time with no progress indicator — making it look like it's hanging.

The same happens with shorthand syntax:

skillshare install majiayu000/claude-skill-registry/skills/documents/atlassian-search

Suggestion

For subdirectory installs from GitHub, consider using one of:

  1. Sparse checkout (git sparse-checkout) to only fetch the needed directory
  2. GitHub API (/repos/{owner}/{repo}/contents/{path}) to download files directly without cloning
  3. git archive --remote to fetch only the subdirectory
  4. At minimum, a progress indicator during clone so users know it's not stuck

Workaround

Download files via GitHub API and install from local path:

mkdir -p /tmp/atlassian-search
curl -sL "https://api.github.com/repos/majiayu000/claude-skill-registry/contents/skills/documents/atlassian-search" \
  | python3 -c "
import json, sys, subprocess
for f in json.load(sys.stdin):
    if f['type'] == 'file':
        subprocess.run(['curl', '-sL', f['download_url'], '-o', f'/tmp/atlassian-search/{f[\"name\"]}'])
"
skillshare install /tmp/atlassian-search

Environment

  • skillshare v0.15.4
  • macOS (arm64)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions