Skip to content

Commit 87e0908

Browse files
committed
feat(vscode): bundle curated skill catalog inside extension
Ship the full curated skill catalog as a pre-built JSON bundle so users see all Chalk skills out of the box — no workspace setup required. - Add build-time script (scripts/bundle-skills.js) that serializes every SKILL.md + registry.yaml + skills-index.yaml into dist/bundled-skills.json - Add runtime module (src/bundled-skills.ts) to load, cache, and sync bundled skills to a workspace on demand - Fall back to bundled catalog in skill-loader when no workspace skills exist; merge bundled skills by id so the full catalog is always visible - Register new "Sync Curated Skills to Workspace" command - Wire up copy-webpack-plugin to include the JSON bundle in dist/ - Add AGENTS.md with repo overview
1 parent 358ad0c commit 87e0908

8 files changed

Lines changed: 647 additions & 6 deletions

File tree

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+
```

packages/vscode-extension/package-lock.json

Lines changed: 152 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/vscode-extension/package.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@
3333
"workspaceContains:**/skills/*/SKILL.md",
3434
"workspaceContains:.chalk/skills/*/SKILL.md",
3535
"onCommand:chalkSkills.init",
36-
"onCommand:chalkSkills.createSkill"
36+
"onCommand:chalkSkills.createSkill",
37+
"onCommand:chalkSkills.syncBundledSkills",
38+
"onStartupFinished"
3739
],
3840
"main": "./dist/extension.js",
3941
"contributes": {
@@ -95,6 +97,10 @@
9597
{
9698
"command": "chalkSkills.createSkill",
9799
"title": "Chalk Skills: Create New Skill"
100+
},
101+
{
102+
"command": "chalkSkills.syncBundledSkills",
103+
"title": "Chalk Skills: Sync Curated Skills to Workspace"
98104
}
99105
],
100106
"configuration": {
@@ -154,10 +160,11 @@
154160
},
155161
"scripts": {
156162
"clean": "rm -rf dist",
157-
"compile": "webpack --mode production",
163+
"bundle-skills": "node scripts/bundle-skills.js",
164+
"compile": "npm run bundle-skills && webpack --mode production",
158165
"vscode:prepublish": "npm run clean && npm run compile",
159166
"watch": "webpack --mode development --watch",
160-
"dev": "webpack --mode development",
167+
"dev": "npm run bundle-skills && webpack --mode development",
161168
"lint": "eslint src --ext ts,tsx",
162169
"package": "npm run clean && npm run compile && vsce package --out build/",
163170
"publish": "npm run clean && npm run compile && vsce publish"
@@ -183,6 +190,7 @@
183190
"ts-loader": "^9.5.1",
184191
"typescript": "^5.3.3",
185192
"webpack": "^5.90.0",
193+
"copy-webpack-plugin": "^12.0.2",
186194
"webpack-cli": "^5.1.4"
187195
}
188196
}

0 commit comments

Comments
 (0)