fix: skills hub inspect/resolve — 4 bugs
Cherry-picked from PR #2122 by @AtlasMeridia. 1. do_inspect bytes crash: bundle.files returns bytes for official skills, .split() expected str. Added decode guard. 2. GitHub redirects: three httpx.get calls missing follow_redirects=True, causing silent 301 failures on renamed orgs. 3. Skill discovery fallback: scan repo root directories when standard paths (skills/, .agents/skills/, .claude/skills/) miss. 4. tap list KeyError: t['repo'] crashes for local taps. Use safe .get().
This commit is contained in:
parent
306e67f32d
commit
7d0e4510b8
2 changed files with 46 additions and 7 deletions
|
|
@ -455,6 +455,8 @@ def do_inspect(identifier: str, console: Optional[Console] = None) -> None:
|
|||
|
||||
if bundle and "SKILL.md" in bundle.files:
|
||||
content = bundle.files["SKILL.md"]
|
||||
if isinstance(content, bytes):
|
||||
content = content.decode("utf-8", errors="replace")
|
||||
# Show first 50 lines as preview
|
||||
lines = content.split("\n")
|
||||
preview = "\n".join(lines[:50])
|
||||
|
|
@ -640,7 +642,8 @@ def do_tap(action: str, repo: str = "", console: Optional[Console] = None) -> No
|
|||
table.add_column("Repo", style="bold cyan")
|
||||
table.add_column("Path", style="dim")
|
||||
for t in taps:
|
||||
table.add_row(t["repo"], t.get("path", "skills/"))
|
||||
label = t.get("repo") or t.get("name") or t.get("path", "unknown")
|
||||
table.add_row(label, t.get("path", "skills/"))
|
||||
c.print(table)
|
||||
c.print()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue