Skip to content

feat: add searchable Skills Library catalog#95

Open
Ziinc wants to merge 6 commits into
mainfrom
claude/session-87mr1k
Open

feat: add searchable Skills Library catalog#95
Ziinc wants to merge 6 commits into
mainfrom
claude/session-87mr1k

Conversation

@Ziinc

@Ziinc Ziinc commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Adds a /skills page cataloging Agent Skills curated from Anthropic,
OpenAI, and Matt Pocock's public repos, with client-side search and
source/category filtering. Cards link out to the canonical GitHub
source rather than rehosting content.

  • scripts/fetch-skills-catalog.mjs clones the curated repos, parses
    each SKILL.md's frontmatter, and writes src/data/skills.json
  • a weekly GitHub Action keeps the catalog fresh, mirroring the
    existing post-release-changelog automation
  • skills are also indexed into the sitewide FTS search

claude added 2 commits July 21, 2026 13:19
Adds a /skills page cataloging Agent Skills curated from Anthropic,
OpenAI, and Matt Pocock's public repos, with client-side search and
source/category filtering. Cards link out to the canonical GitHub
source rather than rehosting content.

- scripts/fetch-skills-catalog.mjs clones the curated repos, parses
  each SKILL.md's frontmatter, and writes src/data/skills.json
- a weekly GitHub Action keeps the catalog fresh, mirroring the
  existing post-release-changelog automation
- skills are also indexed into the sitewide FTS search
Each skill in the Skills Library now gets a static /skills/<source>/<slug>
detail page with a split-pane file browser (folder tree left, file
preview right), matching the desktop app's own FileBrowser UX.

- fetch-skills-catalog.mjs now indexes each skill's file listing
  (path/size/binary flag + GitHub blob/raw URLs) alongside the SKILL.md
  metadata — never file contents, so nothing bloats the repo or the
  sitewide search index
- a new skillsPlugin.js registers one static route per skill via
  Docusaurus's addRoute API, rendering SkillDetailPage with that
  skill's data
- file contents are fetched client-side from GitHub's raw CDN only
  when a user opens a file, with syntax highlighting and a "View on
  GitHub" fallback for binary/oversized files
- catalog cards on /skills now link to the in-site detail page instead
  of out to GitHub directly
@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

- Markdown files (SKILL.md, reference docs, etc.) now render through a
  remark → rehype-sanitize → HTML pipeline in a "Preview" tab (shown
  first); a "Code" tab shows the existing syntax-highlighted raw
  source. Sanitized since this is third-party content.
- fetch-skills-catalog.mjs now reads each skill's LICENSE.txt (falling
  back to the repo-root LICENSE) and pattern-matches it to a short
  label — Apache-2.0 / MIT / Proprietary / Custom — instead of
  surfacing the raw "see LICENSE.txt" frontmatter pointer.
- Below 768px the file browser swaps its sidebar tree for a dropdown
  (MobileFileSelect) so file choice still works on small screens.
.page was a flex item of Docusaurus's sticky-footer flex wrapper; a long
unwrapped line in a fenced code block (or any nowrap content) forced its
cross-axis stretch sizing to the content's width instead of the container's,
blowing the whole page out to ~2x viewport width with no scrollbar. Pin it
to width:100%/min-width:0 so code blocks scroll internally instead.

Also strip SKILL.md's YAML frontmatter (via remark-frontmatter) from the
rendered Preview tab — it was showing up as a garbled leading paragraph.

Verified by intercepting the raw-content fetch with real SKILL.md text at
a 375px viewport and diffing document.body.scrollWidth before/after.
…side, proprietary handling

Sources: adds Vercel (agent-browser), Microsoft (azure-skills), Superpowers
(obra), Caveman (JuliusBrussee), and Prisma — 161 skills across 8 providers.
Prisma keeps skills at the repo root, so skillsRoot now supports ''.

Nested skills: a skill folder that contains sub-skill folders (each with their
own SKILL.md) no longer slurps the child files into the parent's manifest.

Proprietary licenses: skills detected as Proprietary (Anthropic docx/pdf/pptx/
xlsx) are still listed, but their description and file manifest are withheld —
the index card shows a notice and the detail page shows a callout, both keeping
the GitHub link. Keeps their contents out of the repo and the search index.

Provider filter: the single-select source chips become a dropdown multi-select
(checkbox list) keyed on the GitHub org.

Source-repos aside: fetches each repo's GitHub star count (live in CI via
GITHUB_TOKEN, preserved from prior data when the API is unreachable) and renders
a right-hand column ranking providers by stars; clicking one filters the
catalog. Page widened to fit the extra column; aside stacks above on mobile.

Also strips SKILL.md frontmatter from the markdown preview.
mcp-builder's SKILL.md renders multiple h1 headings, so
getByRole('heading', {level:1}) matched 3 elements and toBeVisible() failed
under Playwright strict mode. Assert on .first() — any rendered h1 proves the
Preview tab rendered markdown rather than raw source.
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.

2 participants