Skip to content

Commit df6828b

Browse files
authored
feat(vscode): bundle curated skill catalog inside extension
Ship the full curated skill catalog (78 skills) as a pre-built JSON bundle so users see all Chalk skills out of the box without workspace setup. - Build-time bundler serializes all SKILL.md + registry.yaml + skills-index.yaml into dist/bundled-skills.json - Runtime loader with fallback and merge-by-ID logic - "Sync Curated Skills to Workspace" command - Shared skill-parsing helpers (single source of truth) - buildFrontmatter uses yaml.stringify for safe serialization - Bump to v0.10.0 with changelogs for 0.9.0 and 0.10.0
1 parent 358ad0c commit df6828b

13 files changed

Lines changed: 840 additions & 62 deletions

AGENTS.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Chalk Skills
2+
3+
A curated collection of 80+ reusable agent skills for software development workflows.
4+
5+
## Skill Locations
6+
7+
Skills are located in `skills/*/SKILL.md`. Each subdirectory contains one skill with its `SKILL.md` file (YAML frontmatter + markdown instructions).
8+
9+
## Compatible Agents
10+
11+
These skills work with any agent that supports markdown-based skill files:
12+
13+
- Claude Code
14+
- Cursor
15+
- OpenCode
16+
- Cline
17+
- GitHub Copilot
18+
- Any agent supporting the `vercel-labs/skills` format
19+
20+
## Installation
21+
22+
```bash
23+
npx skills add GeneralJerel/chalk-skills
24+
```
25+
26+
Or install specific skills:
27+
28+
```bash
29+
npx skills add GeneralJerel/chalk-skills --path skills/commit
30+
npx skills add GeneralJerel/chalk-skills --path skills/create-pr
31+
```
32+
33+
## Skill Format
34+
35+
Each skill uses metadata-version 3 frontmatter:
36+
37+
```yaml
38+
---
39+
name: skill-name
40+
description: What the skill does
41+
author: chalk
42+
version: "1.0.0"
43+
metadata-version: "3"
44+
allowed-tools: Bash, Read, Glob, Grep
45+
tags: category1, category2
46+
---
47+
```

CHANGELOG.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,29 @@ All notable changes to `chalk-skills` will be documented in this file.
44

55
The format is inspired by Keep a Changelog and uses SemVer semantics for skill versions.
66

7+
## [0.10.0] — 2026-03-27
8+
9+
### Added
10+
11+
- **Bundled skill catalog** — the VS Code extension now ships with all 78 curated skills pre-bundled as a JSON blob, giving users the full catalog out of the box
12+
- **"Sync Curated Skills to Workspace"** command to copy bundled skills into `.chalk/skills/` on demand
13+
- Bundled registry and skill-merge logic so workspace skills always take priority while bundled skills fill gaps
14+
- `AGENTS.md` repo overview for agent consumption
15+
16+
### Changed
17+
18+
- Build pipeline includes a TypeScript `bundle-skills` step that serializes all skill definitions at compile time
19+
- Shared skill-parsing helpers extracted into `skill-parse-helpers.ts` (single source of truth for runtime and build)
20+
- `buildFrontmatter()` uses `yaml.stringify()` for safe YAML serialization
21+
722
## [0.9.0] — 2026-03-26
823

924
### Added
1025

11-
- Auto-gitignore for `.chalk/skills/*.enabled` activation state files — the extension now ensures these are excluded from version control in any workspace
26+
- **Context injection engine** — skills can declare `context-needs` and `benefits-from` for automatic context gathering
27+
- **Skill catalog with registry**`registry.yaml` format for curated skill collections
28+
- **Skill activation system** — per-workspace skill toggle with `.enabled` state files
29+
- Auto-gitignore for `.chalk/skills/*.enabled` activation state files
1230

1331
### Changed
1432

packages/vscode-extension/CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Changelog
22

3+
## [0.10.0] - 2026-03-27
4+
5+
### Added
6+
- **Bundled skill catalog** — the extension now ships with all 78 curated Chalk skills pre-bundled, so users see the full catalog out of the box without needing a `skills/` directory in their workspace
7+
- New command **"Chalk Skills: Sync Curated Skills to Workspace"** — copies bundled skills into `.chalk/skills/` on demand, skipping any that already exist on disk
8+
- Bundled registry fallback — if no workspace `registry.yaml` is found, the extension uses the bundled one for the catalog UI
9+
- Skill merge logic — workspace skills take priority by ID, with bundled skills filling in any gaps so the catalog is always complete
10+
11+
### Changed
12+
- Build pipeline now includes a `bundle-skills` step that serializes all `SKILL.md` files, `registry.yaml`, and `skills-index.yaml` into a single `dist/bundled-skills.json`
13+
- Shared skill-parsing helpers (`parseCommaSeparated`, `parseListField`, `toDisplayName`, `parseAnnotations`) extracted into `skill-parse-helpers.ts` — used by both the runtime loader and the build script
14+
- Build script rewritten from JavaScript to TypeScript (`scripts/bundle-skills.ts`), importing shared modules instead of duplicating logic
15+
- `buildFrontmatter()` now uses `yaml.stringify()` instead of manual string concatenation for safe serialization of special characters
16+
17+
### Dependencies
18+
- Added `copy-webpack-plugin` (copies bundled JSON into dist)
19+
- Added `ts-node` (runs TypeScript build script)
20+
21+
## [0.9.0] - 2026-03-26
22+
23+
### Added
24+
- **Context injection engine** — skills can now declare `context-needs` and `benefits-from` in frontmatter, enabling the extension to automatically gather and inject relevant context (git diff, recent files, project structure, etc.) when a skill is activated
25+
- **Skill catalog with registry** — new `registry.yaml` format for curating skill collections with categories and featured skills
26+
- **Skill activation system** — toggle individual skills on/off per workspace with `.enabled` state files
27+
- Auto-gitignore for `.chalk/skills/*.enabled` activation state files
28+
29+
### Changed
30+
- Generalized `ensureGitignore()` to manage multiple Chalk-specific entries (`.chalk/context/` and `.chalk/skills/*.enabled`)
31+
332
## [0.8.9] - 2026-03-23
433

534
### Fixed

0 commit comments

Comments
 (0)