Skip to content

Conversation

@EbonyLouis
Copy link
Contributor

This PR adds a Skills Marketplace to the goose documentation site that pulls skills from the block/Agent-Skills repository.

Features

  • Skills Gallery (/skills) - Browse all available skills with search and filtering
  • Skill Detail Pages (/skills/detail?id=<skill-id>) - View full skill instructions, metadata, and install options
  • Build-time Integration - Skills are fetched from the Agent-Skills repo at build time, not bundled in this repo
  • Multiple Install Methods - Tabbed UI supporting npx, pnpm, and bun package managers
  • ZIP Downloads - Secondary option for manual installation
  • External Skills Support - Architecture supports adding external community skills via external-skills.json

Install UX

  • Tabbed interface for package managers (npx / pnpm / bun)
  • Copy button with visual feedback (turns green with ✓ Copied!)
  • ZIP download as secondary option for manual install

Skill Cards

  • Display skill name, description, tags, version, and author
  • "External" badge for skills not from Agent-Skills repo
  • "Copy Install" button with hover tooltip showing full command
  • "View Source →" link to Agent-Skills repo

Build Process

Two new scripts run during npm run build:

  1. generate-skills-manifest.js - Clones Agent-Skills repo, parses SKILL.md files, generates skills-manifest.json
  2. generate-skills-zips.js - Creates downloadable ZIP files for each skill

Generated files are gitignored:

  • static/skills-manifest.json
  • static/skills-data-zips/

Submit Skill

"Submit Skill" button links to: https://github.com/block/Agent-Skills/issues/new?template=skill-submission.yml

Files Changed

File Purpose
scripts/generate-skills-manifest.js Build-time manifest generation from Agent-Skills
scripts/generate-skills-zips.js Build-time ZIP generation
src/pages/skills/index.tsx Skills gallery page
src/pages/skills/detail.tsx Skill detail page
src/components/skill-card.tsx Skill card component
src/utils/skills.ts Skills loading utilities
src/pages/skills/types/index.tsx TypeScript type definitions
docs/contributing/skills.md Updated contribution guide
.gitignore Added generated files

@EbonyLouis EbonyLouis requested a review from a team as a code owner January 27, 2026 20:53
@github-actions
Copy link
Contributor

github-actions bot commented Jan 27, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-01-29 03:46 UTC

@blackgirlbytes
Copy link
Contributor

nice! Looks great. Only thing I think we need to fix is when you hover over copy install..there's like an overflow thingy that happens..

maybe just put the install command in the card whether you hover over it or not..and then when you click copy it will actually copy it for you. idkk. That way you don't have to deal with fixing overflow and hovering.
Screenshot 2026-01-27 at 5 51 45 PM

@EbonyLouis EbonyLouis merged commit 4d49fd5 into main Jan 29, 2026
20 checks passed
@EbonyLouis EbonyLouis deleted the skills-marketplace branch January 29, 2026 03:46
zanesq added a commit that referenced this pull request Jan 29, 2026
* 'main' of github.com:block/goose: (62 commits)
  Swap canonical model from openrouter to models.dev (#6625)
  Hook thinking status (#6815)
  Fetch new skills hourly (#6814)
  copilot instructions: Update "No prerelease docs" instruction (#6795)
  refactor: centralize audience filtering before providers receive messages (#6728)
  update doc to remind contributors to activate hermit and document minimal npm and node version (#6727)
  nit: don't spit out compaction when in term mode as it fills up the screen (#6799)
  fix: correct tool support detection in Tetrate provider model fetching (#6808)
  Session manager fixes (#6809)
  fix(desktop): handle quoted paths with spaces in extension commands (#6430)
  fix: we can default gooseignore without writing it out (#6802)
  fix broken link (#6810)
  docs: add Beads MCP extension tutorial (#6792)
  feat(goose): add support for AWS_BEARER_TOKEN_BEDROCK environment variable (#6739)
  [docs] Add OSS Skills Marketplace (#6752)
  feat: make skills available in codemode (#6763)
  Fix: Recipe Extensions Not Loading in Desktop (#6777)
  Different approach to determining final confidence level of prompt injection evaluation outcomes (#6729)
  fix: read_resource_tool deadlock causing test_compaction to hang (#6737)
  Upgrade error handling (#6747)
  ...
zanesq added a commit that referenced this pull request Jan 29, 2026
…sion-session

* 'main' of github.com:block/goose: (78 commits)
  copilot instructions: Update "No prerelease docs" instruction (#6795)
  refactor: centralize audience filtering before providers receive messages (#6728)
  update doc to remind contributors to activate hermit and document minimal npm and node version (#6727)
  nit: don't spit out compaction when in term mode as it fills up the screen (#6799)
  fix: correct tool support detection in Tetrate provider model fetching (#6808)
  Session manager fixes (#6809)
  fix(desktop): handle quoted paths with spaces in extension commands (#6430)
  fix: we can default gooseignore without writing it out (#6802)
  fix broken link (#6810)
  docs: add Beads MCP extension tutorial (#6792)
  feat(goose): add support for AWS_BEARER_TOKEN_BEDROCK environment variable (#6739)
  [docs] Add OSS Skills Marketplace (#6752)
  feat: make skills available in codemode (#6763)
  Fix: Recipe Extensions Not Loading in Desktop (#6777)
  Different approach to determining final confidence level of prompt injection evaluation outcomes (#6729)
  fix: read_resource_tool deadlock causing test_compaction to hang (#6737)
  Upgrade error handling (#6747)
  Fix/filter audience 6703 local (#6773)
  chore: re-sync package-lock.json (#6783)
  upgrade electron to 39.3.0 (#6779)
  ...
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.

3 participants