Skip to content

fix: --local install creates missing gstack/ symlink so skills resolve#601

Open
anish749 wants to merge 1 commit intogarrytan:mainfrom
anish749:fix/local-install-symlink-resolution
Open

fix: --local install creates missing gstack/ symlink so skills resolve#601
anish749 wants to merge 1 commit intogarrytan:mainfrom
anish749:fix/local-install-symlink-resolution

Conversation

@anish749
Copy link
Copy Markdown

Summary

./setup --local is broken. Per-skill symlinks (qa -> gstack/qa) never resolve because there's no gstack/ directory inside .claude/skills/.

Root cause: link_claude_skill_dirs creates relative symlinks like qa -> gstack/qa. For global installs this works because the repo is ~/.claude/skills/gstack/. For --local, the skills dir is $(pwd)/.claude/skills/ and nothing creates the gstack/ entry inside it.

Fix: One line. Create ln -snf "$SOURCE_GSTACK_DIR" "$INSTALL_SKILLS_DIR/gstack" in the --local block so the symlink chain resolves: .claude/skills/qa -> gstack/qa -> /path/to/repo/qa/SKILL.md.

Repro

git clone https://github.com/garrytan/gstack && cd gstack
bun install && ./setup --local --no-prefix
ls -la .claude/skills/qa/SKILL.md   # No such file or directory

After fix:

./setup --local --no-prefix
ls -la .claude/skills/qa/SKILL.md   # resolves correctly

Test plan

  • rm -rf .claude/skills && ./setup --local --no-prefix — all 28 skills linked, SKILL.md resolves
  • Global install (./setup without --local) unchanged — INSTALL_SKILLS_DIR block not entered
  • bun test passes

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant