Skip to content

--track silently fails to persist metadata for repos with root-level SKILL.md #163

@xarthurx

Description

@xarthurx

Summary

When installing a tracked repo where SKILL.md sits at the repository root (non-spec layout, but common), skillshare install --track reports success but does not write an entry to .metadata.json, and the repo never appears in skillshare status --json under tracked_repos. The .gitignore entry is added correctly. Net effect: tracking is effectively broken — skillshare update <name> and re-install on another machine cannot recover the repo.

Version

skillshare v0.19.16 (Linux, Homebrew tap). Also reproduces on v0.19.13.

Reproduction

$ skillshare install op7418/guizang-ppt-skill --track --force
...
├─ Found  0 skill(s)
├─ Tracked  _guizang-ppt-skill
└─ Location  .../skills/_guizang-ppt-skill

$ grep guizang $SKILLS_SOURCE/.metadata.json
(no output)

$ skillshare status --json | jq '.tracked_repos[] | select(.name | contains("guizang"))'
(no output — tracked_repos only lists pre-existing entries)

$ cat $SKILLS_SOURCE/.gitignore
# BEGIN SKILLSHARE MANAGED - DO NOT EDIT
...
_guizang-ppt-skill/         # <-- this WAS added
# END SKILLSHARE MANAGED

Expected

.metadata.json should gain an entry such as:

"_guizang-ppt-skill": {
  "source": "https://github.com/op7418/guizang-ppt-skill.git",
  "tracked": true,
  "branch": "main"
}

matching the format used for other tracked repos in v0.19.x (e.g. _blader-humanizer, _vercel-labs-agent-skills).

Why this matters

Cross-machine sync workflow:

  1. Machine A: skillshare install <repo> --track, commit the skills source directory, git push
  2. Machine B: git pull, then skillshare install (no args) to re-fetch tracked remotes from metadata

Step 2 silently does nothing for repos that hit this bug — skills end up missing on machine B with no diagnostic. The "Tracked _xxx" line in the install output also misleads users into thinking tracking succeeded.

Possibly related

Repos that trigger it

  • github.com/op7418/guizang-ppt-skill
  • github.com/alchaincyf/huashu-design

Both place SKILL.md at the repository root alongside README.md, LICENSE, assets/, etc. (i.e. they don't follow the Agent Skill Specification directory layout). Even so, the CLI should either reject the install or persist tracking metadata — not silently lie.

Metadata

Metadata

Assignees

Labels

featureNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions