garrytan / garrytan/gstack

npx gstack-skills — standalone skill manager for gstack (upgrade + install without setup)

Open
#863 1 comment 4 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
133k
Forks
19.9k
Avg merge
18h 46m
Merged PRs (30d)
26

Description

Hey! I built `gstack-skills` — a lightweight CLI for managing gstack skills without running the full setup:

```bash
npx gstack-skills
```

- GitHub: https://github.com/zzzhizhia/gstack-skills
- npm: https://www.npmjs.com/package/gstack-skills

**What it does:**
- Shallow-clones this repo, diffs against local `~/.claude/skills/`
- Interactive upgrade: shows changelog, lets you update all / pick / skip
- Interactive install: discovers new skills with descriptions, checkbox selection (space: toggle, a: all)
- Safe: backs up before updating, restores on error
- Zero dependencies on bun or the setup script

**Who it's for:**
- Users who want to try individual gstack skills without committing to a full setup
- Quick upgrades without `git pull` + `./setup`
- Environments where bun isn't available

It currently discovers all 34 skills correctly from the repo.

### Repo structure blocks per-skill discovery on skills.sh

[`skills.sh`](https://github.com/vercel-labs/skills) (`npx skills add`) is the standard way to discover and install individual skills from a GitHub repo. But `npx skills add garrytan/gstack --list` returns only 1 skill (the root meta-skill), because its `discoverSkills()` finds the root `SKILL.md` and early-returns without scanning subdirectories.

`--full-depth` works (`npx skills add garrytan/gstack --list --full-depth` → 37 skills), but users won't know to pass that flag.

**Suggested fix:** move skill directories into a `skills/` subdirectory. The skills CLI's search path priority list includes `skills/`, so it would automatically discover all sub-skills after the root `SKILL.md`. This also helps with #267 and #594.

Related: #113, #267, #594

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.