Skip to content

Skills: marketplace.json source adapter + ComposioHQ default source (107 skills, one fetch) - #126

Merged
WebTigers merged 1 commit into
mainfrom
feat/skill-marketplace-adapter
Aug 15, 2026
Merged

Skills: marketplace.json source adapter + ComposioHQ default source (107 skills, one fetch)#126
WebTigers merged 1 commit into
mainfrom
feat/skill-marketplace-adapter

Conversation

@WebTigers

Copy link
Copy Markdown
Owner

Why

Browsing a large skill collection by scraping every SKILL.md is O(N) raw fetches — ComposioHQ's 864 files measured at ~159s, far past what the inline (zero-daemon) browse request can hold. Repos increasingly ship a machine-readable .claude-plugin/marketplace.json (the Claude plugin-marketplace standard); reading it is one fetch for the whole curated list.

What

  • Tiger_Skill_Source_Marketplace — reads .claude-plugin/marketplace.json, handles flat (source) and grouped (skills[]) plugins, resolves paths against a configurable repo root (traversal-refused), and emits the same normalized entries as SkillsDir — so install/dedup/search are unchanged. A network seam (_manifestRaw) makes it unit-testable offline.
  • ComposioHQ/awesome-claude-skills wired as a second built-in source via the new adapter — 107 skills in one fetch, replacing the 159s scrape. Community-curated, not a Tiger endorsement (Tiger browses, never vouches; review-before-install stands).
  • Two adapter kinds now documented in TIGERSKILLS.md §2a (raw SkillsDir vs. manifest Marketplace), plus the sibling registry landscape (.well-known/agent-skills/index.json, SkillMD/OpenAgentSkill/skillregistry APIs) as roadmap. (index.dev, checked, is a dev-hiring marketplace — unrelated.)

Tests

  • Flat + grouped parsing, root resolution, traversal/empty rejection, both built-in sources registered; both built-in caches seeded so no unit test hits the network.
  • 9 Skill tests green · 817 unit total green. Live-verified against the real ComposioHQ manifest: 107 entries, 0 malformed, instant parse.
  • CAPABILITIES.md regenerated (--check clean).

🤖 Generated with Claude Code

… source

Browsing a large skill collection by scraping every SKILL.md is O(N) raw
fetches — ComposioHQ's 864 files measured at ~159s, far past an inline
(zero-daemon) browse request's timeout. Repos increasingly publish a
machine-readable `.claude-plugin/marketplace.json` (the Claude
plugin-marketplace standard); reading it is ONE fetch for the whole curated
list.

- Tiger_Skill_Source_Marketplace — reads `.claude-plugin/marketplace.json`,
  handles flat (`source`) and grouped (`skills[]`) plugins, resolves paths
  against a configurable repo root (traversal-refused), and emits the same
  normalized entries as SkillsDir (install/dedup/search unchanged). A network
  seam (`_manifestRaw`) makes it unit-testable offline.
- Wire ComposioHQ/awesome-claude-skills as a second built-in source via the
  new adapter — 107 skills in one fetch. Community-curated, NOT an endorsement
  (Tiger browses, never vouches; review-before-install stands).
- Tests: flat+grouped parsing, root resolution, traversal/empty rejection,
  both built-in sources registered; seed both built-in caches so no unit test
  hits the network. 9 Skill tests, 817 unit total, green.
- Regenerate CAPABILITIES.md; document the two adapter kinds + the registry
  landscape in TIGERSKILLS.md §2a.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@WebTigers
WebTigers merged commit ff8bc14 into main Aug 15, 2026
13 checks passed
@WebTigers
WebTigers deleted the feat/skill-marketplace-adapter branch August 15, 2026 22:02
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