skill-guide 0.2.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -3
- package/README.md +114 -28
- package/SKILL.md +25 -251
- package/demo-categories.png +0 -0
- package/demo-cover.png +0 -0
- package/demo-highlights.png +0 -0
- package/demo-reference.png +0 -0
- package/package.json +3 -2
- package/scan-skills.js +178 -7
- package/skill-guide.js +2450 -34
- package/skill-registry.js +288 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ All notable changes to skill-guide will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.1] - 2026-06-01
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Local health dashboard with radar chart, token estimate, review prompts, share page, and directory-based recommendations.
|
|
12
|
+
- Packaging regression test that installs the generated npm tarball and starts the installed CLI.
|
|
13
|
+
- Skill-definition regression test that keeps the agent entrypoint concise and trigger-first.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- Health output now describes local metadata heuristics instead of unsupported community percentile comparisons.
|
|
17
|
+
- Recommendation and cleanup wording now requires manual review before installing, editing, or deleting skills.
|
|
18
|
+
- `SKILL.md` is now a thin CLI wrapper with English and Chinese dashboard support.
|
|
19
|
+
- Online directory fetching now invokes `curl` directly without an unnecessary shell wrapper.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
- Added `skill-registry.js` to the npm package so installed `0.3.x` CLI commands can start.
|
|
23
|
+
|
|
24
|
+
### Removed
|
|
25
|
+
- Tracked local agent settings and browser debug artifacts.
|
|
26
|
+
|
|
27
|
+
## [0.3.0] - 2026-05-28
|
|
28
|
+
|
|
29
|
+
Repository-only development version. It was not published to npm.
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
- Initial health dashboard, recommendation registry, share page, and personal profile experiments.
|
|
33
|
+
|
|
8
34
|
## [0.2.1] - 2026-05-17
|
|
9
35
|
|
|
10
36
|
### Fixed
|
|
@@ -19,8 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
19
45
|
- `--doctor` diagnostics for Node.js, Codex home, skill counts, and source breakdown.
|
|
20
46
|
- `--format json` for raw scanner output from the main CLI.
|
|
21
47
|
- `--lang zh` built-in Chinese UI labels with `LABELS.zh` map.
|
|
22
|
-
-
|
|
23
|
-
- Language auto-detection from user input (Chinese, Japanese, Korean, and others).
|
|
48
|
+
- Built-in English and Chinese dashboard labels.
|
|
24
49
|
- Markdown rendering in HTML output with smart truncation for long sections.
|
|
25
50
|
- `data-i18n` attributes on all translatable HTML elements.
|
|
26
51
|
- GitHub Actions test and Pages workflows.
|
|
@@ -35,7 +60,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
35
60
|
### Changed
|
|
36
61
|
- `SKILL.md` now delegates HTML generation to the deterministic CLI, with the old scanner-driven instructions as fallback.
|
|
37
62
|
- Cache files are now scoped to the active scan roots, avoiding stale results when switching between Claude Code and Codex environments.
|
|
38
|
-
-
|
|
63
|
+
- Chinese dashboard labels can be selected with `--lang zh`.
|
|
39
64
|
|
|
40
65
|
## [0.1.0] - 2026-05-15
|
|
41
66
|
|
package/README.md
CHANGED
|
@@ -4,15 +4,18 @@
|
|
|
4
4
|
<img src="https://img.shields.io/badge/Platform-Claude%20Code%20%7C%20Codex%20%7C%20cc--switch-818cf8?style=flat-square" />
|
|
5
5
|
<img src="https://img.shields.io/github/actions/workflow/status/gtskevin/skill-guide/test.yml?branch=main&style=flat-square&label=tests" />
|
|
6
6
|
<img src="https://img.shields.io/badge/License-MIT-green?style=flat-square" />
|
|
7
|
-
<img src="https://img.shields.io/badge/Language-
|
|
7
|
+
<img src="https://img.shields.io/badge/Language-English%20%7C%20Chinese-7dd3fc?style=flat-square" />
|
|
8
|
+
<img src="https://img.shields.io/badge/Feature-Health%20Dashboard-fbbf24?style=flat-square" />
|
|
8
9
|
</p>
|
|
9
10
|
|
|
10
11
|
<p align="center">
|
|
11
12
|
<img src="demo.gif" alt="skill-guide demo — npx skill-guide --open generates HTML slides" width="760" />
|
|
12
13
|
</p>
|
|
13
14
|
|
|
14
|
-
> **
|
|
15
|
-
> One command scans everything — Claude Code, Codex, cc-switch, plugins — and generates a beautiful
|
|
15
|
+
> **Installed so many agent skills that you cannot remember what you have?**
|
|
16
|
+
> One command scans everything — Claude Code, Codex, cc-switch, plugins — and generates a beautiful dashboard so you actually know what you have.
|
|
17
|
+
>
|
|
18
|
+
> Shows your local skill profile, radar chart, token budget estimate, and review candidates — all in one click.
|
|
16
19
|
|
|
17
20
|
<p align="center">
|
|
18
21
|
<a href="https://gtskevin.github.io/skill-guide/"><strong>Live Demo</strong></a>
|
|
@@ -25,22 +28,29 @@
|
|
|
25
28
|
</p>
|
|
26
29
|
|
|
27
30
|
```bash
|
|
28
|
-
npx skill-guide
|
|
31
|
+
npx skill-guide # ← that's it. Dashboard opens in your browser.
|
|
29
32
|
```
|
|
30
33
|
|
|
31
34
|
## What it does
|
|
32
35
|
|
|
33
|
-
skill-guide reads every skill from Claude Code, Codex, `~/.cc-switch/skills/`, and plugin marketplaces, then generates a polished
|
|
36
|
+
skill-guide reads every skill from Claude Code, Codex, `~/.cc-switch/skills/`, and plugin marketplaces, then generates a polished dashboard you can view in any browser.
|
|
34
37
|
|
|
35
|
-
**
|
|
38
|
+
**Platform-aware:** Automatically detects whether you're running inside Codex or Claude Code and shows only the relevant skills. Token budget is calculated per-platform, not across all platforms.
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
|
40
|
-
|
|
41
|
-
| **
|
|
42
|
-
| **
|
|
43
|
-
| **Doctor** | `npx skill-guide --doctor` | Environment
|
|
40
|
+
**3 modes:**
|
|
41
|
+
|
|
42
|
+
| Mode | Command | What it does |
|
|
43
|
+
|------|---------|-------------|
|
|
44
|
+
| **Dashboard** | `npx skill-guide` | Personality, radar, token budget, cleanup guide, highlights |
|
|
45
|
+
| **Find** | `npx skill-guide --find <name\|query>` | Search by keyword or deep dive into a specific skill |
|
|
46
|
+
| **Doctor** | `npx skill-guide --doctor` | Environment diagnostics (broken files, duplicates, paths) |
|
|
47
|
+
|
|
48
|
+
**Flags:**
|
|
49
|
+
- `--all` — Show skills from all platforms (default: current platform only)
|
|
50
|
+
- `--full` — Expand dashboard to include all skill details
|
|
51
|
+
- `--recommend` — Show recommendations from online directories
|
|
52
|
+
- `--share` — Generate shareable portfolio page
|
|
53
|
+
- `--no-open` — Do not open HTML in browser
|
|
44
54
|
|
|
45
55
|
## Platform Support
|
|
46
56
|
|
|
@@ -75,6 +85,36 @@ skill-guide reads every skill from Claude Code, Codex, `~/.cc-switch/skills/`, a
|
|
|
75
85
|
</tr>
|
|
76
86
|
</table>
|
|
77
87
|
|
|
88
|
+
### Health Dashboard Preview
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npx skill-guide
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Terminal output:**
|
|
95
|
+
```
|
|
96
|
+
🟡 Health Score: 68/100
|
|
97
|
+
🏛️ Local profile: Collector (The Collector)
|
|
98
|
+
The local scan found a large skill inventory. Review descriptions, sources, and actual needs periodically.
|
|
99
|
+
|
|
100
|
+
📦 Total Skills: 338
|
|
101
|
+
🔤 Description Token Estimate: ~20.0K (9.98% of a 200K reference context)
|
|
102
|
+
📍 Local profile: based only on the current scan
|
|
103
|
+
|
|
104
|
+
🛡️ Security Review [medium]
|
|
105
|
+
Review skills with security flags manually
|
|
106
|
+
📦 Budget Overage [high]
|
|
107
|
+
Review longer descriptions when the local reference budget is exceeded
|
|
108
|
+
|
|
109
|
+
Token Efficiency ████████░░ 80/100
|
|
110
|
+
Organization ██████████ 100/100
|
|
111
|
+
Security ████░░░░░░ 40/100
|
|
112
|
+
Freshness ██████████ 100/100
|
|
113
|
+
Budget Control ██░░░░░░░░ 21/100
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Health scores are local heuristics for review. They do not measure community rank, actual usage frequency, or whether deleting a skill is safe.
|
|
117
|
+
|
|
78
118
|
## Quick Start
|
|
79
119
|
|
|
80
120
|
**1. Try instantly** — no install needed:
|
|
@@ -89,9 +129,9 @@ npx skills add gtskevin/skill-guide
|
|
|
89
129
|
|
|
90
130
|
**3. Use it** — type `/skill-guide` in Claude Code, or use the CLI:
|
|
91
131
|
```bash
|
|
92
|
-
npx skill-guide
|
|
93
|
-
npx skill-guide --
|
|
94
|
-
npx skill-guide --
|
|
132
|
+
npx skill-guide # See your dashboard
|
|
133
|
+
npx skill-guide --find security # Find skills for a task
|
|
134
|
+
npx skill-guide --find tdd # Deep-dive one skill
|
|
95
135
|
npx skill-guide --full --open # Generate a full manual
|
|
96
136
|
npx skill-guide --doctor # Diagnose your setup
|
|
97
137
|
```
|
|
@@ -123,6 +163,10 @@ ln -s "$(pwd)/skill-guide" "${CODEX_HOME:-$HOME/.codex}/skills/skill-guide"
|
|
|
123
163
|
npx skill-guide --open
|
|
124
164
|
npx skill-guide --search security --open
|
|
125
165
|
npx skill-guide --skill test-driven-development --open
|
|
166
|
+
npx skill-guide --share --open # Share your skill stack
|
|
167
|
+
npx skill-guide --recommend --open # Review directory mentions and same-category candidates
|
|
168
|
+
npx skill-guide # Health dashboard with personality & radar chart
|
|
169
|
+
npx skill-guide --wrapped --open # Compatibility alias for the local profile
|
|
126
170
|
npx skill-guide --format json
|
|
127
171
|
npx skill-guide --doctor
|
|
128
172
|
```
|
|
@@ -152,16 +196,53 @@ Or: "帮我推荐一个做测试的技能"
|
|
|
152
196
|
/skill-guide all
|
|
153
197
|
```
|
|
154
198
|
|
|
199
|
+
### Share your skill stack
|
|
200
|
+
```bash
|
|
201
|
+
npx skill-guide --share --open # Generate portfolio page
|
|
202
|
+
npx skill-guide --share --user @gtskevin --open # With personalized tag
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Get recommendations
|
|
206
|
+
```bash
|
|
207
|
+
npx skill-guide --recommend --open # HTML report
|
|
208
|
+
npx skill-guide --recommend # Terminal output
|
|
209
|
+
npx skill-guide --recommend --format json # JSON for agents
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Health check your skills
|
|
213
|
+
```bash
|
|
214
|
+
npx skill-guide # Full HTML dashboard
|
|
215
|
+
npx skill-guide --health # Terminal output
|
|
216
|
+
npx skill-guide --health --lang zh --open # Chinese UI
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**What you get:**
|
|
220
|
+
- **Health Score** — 0-100 rating of your skill library's health
|
|
221
|
+
- **Personality Analysis** — Are you a Collector, Minimalist, Security Expert, or Specialist?
|
|
222
|
+
- **Five-Dimension Radar Chart** — Token Efficiency, Organization, Security, Freshness, Budget Control
|
|
223
|
+
- **Review Prompts** — Local candidates based on scanned skill metadata
|
|
224
|
+
- **Token Estimate** — Approximate description cost before a conversation starts
|
|
225
|
+
- **One-Click Share** — Copy report to clipboard for sharing
|
|
226
|
+
|
|
227
|
+
### Personal Skill Report (--wrapped)
|
|
228
|
+
|
|
229
|
+
Your local profile for AI skills:
|
|
230
|
+
- Skill personality type (Collector, Minimalist, Security Expert, etc.)
|
|
231
|
+
- Skill DNA breakdown (category distribution)
|
|
232
|
+
- Readiness breakdown based on local metadata
|
|
233
|
+
- Shareable HTML report with one-click copy
|
|
234
|
+
|
|
155
235
|
## How it works
|
|
156
236
|
|
|
157
237
|
```
|
|
158
238
|
skill-guide/
|
|
159
|
-
├── SKILL.md
|
|
160
|
-
├── agents/openai.yaml
|
|
239
|
+
├── SKILL.md # Natural-language CLI entrypoint
|
|
240
|
+
├── agents/openai.yaml # Codex/OpenAI skill UI metadata
|
|
161
241
|
├── skill-guide.js # Deterministic CLI + HTML generator
|
|
162
|
-
├── scan-skills.js
|
|
163
|
-
├──
|
|
164
|
-
|
|
242
|
+
├── scan-skills.js # Zero-dependency Node.js scanner
|
|
243
|
+
├── skill-registry.js # Online directory fetching + recommendation engine
|
|
244
|
+
├── demo.html # Demo presentation (this is what you see above)
|
|
245
|
+
└── LICENSE # MIT
|
|
165
246
|
```
|
|
166
247
|
|
|
167
248
|
1. `scan-skills.js` scans Claude Code, Codex, cc-switch, and plugin skill directories; parses YAML frontmatter; extracts sections and key paragraphs
|
|
@@ -189,7 +270,11 @@ skill-guide/
|
|
|
189
270
|
| `--search <query>` | Generate recommendations for a task |
|
|
190
271
|
| `--skill <name>` | Generate a deep-dive for one skill |
|
|
191
272
|
| `--full` | Generate a complete manual |
|
|
192
|
-
| `--
|
|
273
|
+
| `--share` | Generate a shareable portfolio HTML |
|
|
274
|
+
| `--user <name>` | Add personalized tag to share page |
|
|
275
|
+
| `--recommend` | Show directory mentions and same-category review candidates |
|
|
276
|
+
| `--health` | Generate health dashboard with local profile, radar chart, and review prompts |
|
|
277
|
+
| `--lang <code>` | UI language (`en` or built-in `zh`) |
|
|
193
278
|
| `--doctor` | Check paths, sources, and scan counts |
|
|
194
279
|
|
|
195
280
|
### Doctor checks
|
|
@@ -202,18 +287,19 @@ Skills are automatically sorted into 9 categories: `testing`, `design`, `securit
|
|
|
202
287
|
|
|
203
288
|
## Language Support
|
|
204
289
|
|
|
205
|
-
|
|
290
|
+
Dashboard labels are available in English and Chinese. Agents can summarize results in the user's language without modifying the generated HTML.
|
|
206
291
|
|
|
207
292
|
- **English** — default
|
|
208
293
|
- **Chinese** — built-in (`--lang zh`)
|
|
209
|
-
- **
|
|
294
|
+
- **Other languages** — agent summary in the user's language; dashboard labels remain English
|
|
210
295
|
|
|
211
296
|
## Why skill-guide?
|
|
212
297
|
|
|
213
|
-
- **
|
|
298
|
+
- **Cross-platform inventory** — scans Claude Code, Codex, cc-switch, and plugin sources in one visual overview
|
|
299
|
+
- **Health dashboard** — local profile, radar chart, and review prompts for your skill library
|
|
214
300
|
- **Zero dependencies** — pure Node.js with `fs`, `path`, `os`. No `npm install` needed
|
|
215
301
|
- **Beautiful output** — scroll-snap slides with keyboard nav, animations, and responsive design
|
|
216
|
-
- **
|
|
302
|
+
- **Bilingual dashboard** — English by default, with built-in Chinese labels via `--lang zh`
|
|
217
303
|
- **Smart caching** — 5-minute TTL so repeated queries are instant
|
|
218
304
|
- **5 seconds to "wow"** — `npx skill-guide --open` is all you need
|
|
219
305
|
|
|
@@ -223,11 +309,11 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
|
223
309
|
|
|
224
310
|
## Roadmap
|
|
225
311
|
|
|
226
|
-
- [
|
|
312
|
+
- [x] `--share` — generate a shareable standalone HTML or Markdown summary
|
|
313
|
+
- [x] `--health` — health dashboard with local profile, radar chart, and review prompts
|
|
227
314
|
- [ ] Gemini CLI skill scanning (`~/.gemini/skills`)
|
|
228
315
|
- [ ] `--diff` — show recently added/removed skills since last scan
|
|
229
316
|
- [ ] `--export markdown` — output a Markdown table for pasting into issues and docs
|
|
230
|
-
- [ ] Skill health scores based on frontmatter completeness
|
|
231
317
|
|
|
232
318
|
Have an idea? [Open a feature request](https://github.com/gtskevin/skill-guide/issues/new?template=feature_request.yml).
|
|
233
319
|
|
package/SKILL.md
CHANGED
|
@@ -1,266 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skill-guide
|
|
3
|
-
description:
|
|
4
|
-
Discover, understand, compare, and choose from installed Agent Skills across
|
|
5
|
-
Claude Code, Codex, local skill folders, and plugin marketplaces. Generates
|
|
6
|
-
HTML slide presentations with skill overviews, deep-dives, and tool
|
|
7
|
-
recommendations. Use when user says "skill-guide", asks what skills they
|
|
8
|
-
have, wants to explore Claude Code or Codex skills, asks "tell me about
|
|
9
|
-
a skill", "which skill for X", "help me understand my skills", or wants to
|
|
10
|
-
map installed agent capabilities.
|
|
3
|
+
description: Use when the user wants to discover, inspect, compare, diagnose, or choose installed Agent Skills across Codex, Claude Code, cc-switch, or plugin directories.
|
|
11
4
|
allowed-tools:
|
|
12
5
|
- Bash
|
|
13
|
-
- Read
|
|
14
|
-
- Write
|
|
15
6
|
---
|
|
16
7
|
|
|
17
8
|
# Skill Guide
|
|
18
9
|
|
|
19
|
-
##
|
|
10
|
+
## Overview
|
|
20
11
|
|
|
21
|
-
|
|
12
|
+
Use the bundled zero-dependency CLI to scan local skill metadata and generate a browser-ready HTML dashboard. Treat health scores and recommendations as local review prompts, not usage metrics or deletion decisions.
|
|
22
13
|
|
|
23
|
-
|
|
24
|
-
- User types `/skill-guide` (bare or with arguments)
|
|
25
|
-
- User asks "what skills do I have", "show me my skills", "what Codex skills do I have"
|
|
26
|
-
- User asks about a specific skill: "tell me about frontend-slides"
|
|
27
|
-
- User describes a task and wants to know which skill fits: "which skill for code review"
|
|
28
|
-
- User says "help me understand my skills"
|
|
14
|
+
## Workflow
|
|
29
15
|
|
|
30
|
-
|
|
16
|
+
1. Infer the requested mode from the user's request.
|
|
17
|
+
2. Run the matching command from this skill directory.
|
|
18
|
+
3. Add `--lang zh` for a Chinese dashboard. English is the default.
|
|
19
|
+
4. Add `--open` unless the user asks for terminal output or a file only.
|
|
20
|
+
5. Summarize the generated result and report the output path when HTML is created.
|
|
31
21
|
|
|
32
|
-
|
|
22
|
+
| User goal | Command |
|
|
23
|
+
|---|---|
|
|
24
|
+
| Dashboard | `node <skill-dir>/skill-guide.js` |
|
|
25
|
+
| Find or inspect a skill | `node <skill-dir>/skill-guide.js --find "<query>"` |
|
|
26
|
+
| Diagnose local setup | `node <skill-dir>/skill-guide.js --doctor` |
|
|
27
|
+
| Review directory mentions | `node <skill-dir>/skill-guide.js --recommend` |
|
|
28
|
+
| Generate a share page | `node <skill-dir>/skill-guide.js --share [--user <name>]` |
|
|
29
|
+
| Generate a full manual | `node <skill-dir>/skill-guide.js --full` |
|
|
30
|
+
| Return structured data | `node <skill-dir>/skill-guide.js --format json` |
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|------------|------|-------------|
|
|
36
|
-
| `/skill-guide` (bare, no args) | discovery | `--list` |
|
|
37
|
-
| `/skill-guide <name>` or "tell me about <name>" | deep-dive | `--skill <name>` |
|
|
38
|
-
| Task description or "which skill for X" | tool-selection | `--search <query>` |
|
|
39
|
-
| `/skill-guide all` | full-manual | `--full` |
|
|
32
|
+
Use `--refresh` when the user expects newly installed or removed skills to appear. Use `--all` only when the user wants a cross-platform inventory.
|
|
40
33
|
|
|
41
|
-
|
|
42
|
-
1. If argument is "all" (case-insensitive) -> full-manual mode
|
|
43
|
-
2. If argument exactly matches a known skill name -> deep-dive mode
|
|
44
|
-
3. If argument contains verbs (e.g., "review", "build", "test") or question words ("which", "what", "how") -> tool-selection mode
|
|
45
|
-
4. If bare `/skill-guide` with no argument -> discovery mode
|
|
34
|
+
## Guardrails
|
|
46
35
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
2. **Detect language**: Determine the user's language from their input.
|
|
53
|
-
- Chinese: input contains Chinese characters → lang = `zh`
|
|
54
|
-
- Japanese: input contains Japanese characters (`/[あ-んア-ンヶッ]/` or hiragana/katakana) → lang = `ja`
|
|
55
|
-
- Korean: input contains Hangul (`/[가-힣]/`) → lang = `ko`
|
|
56
|
-
- Any other non-English language: if the user writes in a language other than English, detect it and set lang accordingly (e.g., `fr`, `de`, `es`, `pt`, `ru`, etc.)
|
|
57
|
-
- English or cannot determine: lang = `en` (default, no translation needed)
|
|
58
|
-
3. **Run the deterministic CLI**: `node <skill-dir>/skill-guide.js <flag> [args] [--lang <lang>]`, where `<skill-dir>` is the directory containing this SKILL.md file.
|
|
59
|
-
- If lang is `en`, add `--open` to the CLI command (open directly, no translation needed).
|
|
60
|
-
- If lang is NOT `en`, do NOT add `--open` (translation happens before opening).
|
|
61
|
-
4. Map modes to CLI flags:
|
|
62
|
-
- Discovery: `node <skill-dir>/skill-guide.js`
|
|
63
|
-
- Deep-dive: `node <skill-dir>/skill-guide.js --skill <name>`
|
|
64
|
-
- Tool-selection: `node <skill-dir>/skill-guide.js --search "<query>"`
|
|
65
|
-
- Full manual: `node <skill-dir>/skill-guide.js --full`
|
|
66
|
-
- Diagnostics: `node <skill-dir>/skill-guide.js --doctor`
|
|
67
|
-
Append `--lang <lang>` to any command when a non-English language is detected.
|
|
68
|
-
5. If `skill-guide.js` is unavailable, fall back to running `scan-skills.js` and generating HTML using the rules below.
|
|
69
|
-
6. **Post-translate for non-English languages** (when lang is NOT `en`):
|
|
70
|
-
After the CLI generates the HTML file, perform a full translation pass:
|
|
71
|
-
a. Read the generated HTML file.
|
|
72
|
-
b. Translate ALL English text content inside elements with `data-i18n` attributes, AND all UI label text (headings, kicker, subtitle, section headers like "运作原理", "何时使用", etc.) to the user's detected language.
|
|
73
|
-
- The `data-i18n` attributes mark translatable content: `desc` (descriptions), `section-title` (step/section titles), `section-body` (step/section content), `how-it-works`, `when-to-use`, `limitations`.
|
|
74
|
-
- Also translate any other visible text: cover titles, category names, stats labels, navigation text, and any Chinese/English UI labels already in the HTML.
|
|
75
|
-
- Preserve ALL HTML tags, CSS classes, JavaScript, attribute names, and document structure exactly as-is.
|
|
76
|
-
- Only translate the **text content** between tags — never modify tag names, attributes, CSS, or JavaScript.
|
|
77
|
-
- Do NOT translate: content inside `<code>` tags, skill names, tool names, CSS property values, JavaScript code.
|
|
78
|
-
- Translate naturally as a fluent native speaker would write it — not word-by-word. Adapt sentence structure for natural readability in the target language.
|
|
79
|
-
- Keep markdown-derived formatting: `<strong>` stays `<strong>`, `<code>` stays `<code>`, `<blockquote>` stays `<blockquote>`.
|
|
80
|
-
c. Write the translated HTML back to the same file path using the Write tool.
|
|
81
|
-
d. Open the file in the browser: `open <filepath>` (macOS) or equivalent.
|
|
82
|
-
e. Report completion to the user with a brief summary in their language.
|
|
83
|
-
7. **English mode**: When lang is `en`, add `--open` to the CLI command directly and skip step 6.
|
|
84
|
-
|
|
85
|
-
## 4. HTML Generation Rules
|
|
86
|
-
|
|
87
|
-
### Technical Requirements
|
|
88
|
-
|
|
89
|
-
- Single-file HTML with all CSS and JS inlined. Zero external dependencies.
|
|
90
|
-
- Full-screen scroll-snap slides:
|
|
91
|
-
```css
|
|
92
|
-
.slide {
|
|
93
|
-
height: 100vh;
|
|
94
|
-
height: 100dvh;
|
|
95
|
-
overflow: hidden;
|
|
96
|
-
scroll-snap-align: start;
|
|
97
|
-
}
|
|
98
|
-
```
|
|
99
|
-
- CSS custom properties with `clamp()` for responsive sizing.
|
|
100
|
-
- Keyboard navigation (arrow keys), scroll wheel, and touch swipe.
|
|
101
|
-
- IntersectionObserver for entrance animations: elements with class `.rv` get class `.v` added when visible.
|
|
102
|
-
- Navigation dots on the right side.
|
|
103
|
-
- Progress bar at the top.
|
|
104
|
-
- Page number: bottom-right corner as `<div class="sn-txt">N/total</div>`.
|
|
105
|
-
- `@media (prefers-reduced-motion: reduce)` disables animations.
|
|
106
|
-
- Every slide MUST fit within the viewport. If content overflows, split into multiple slides.
|
|
107
|
-
|
|
108
|
-
### Color Theme CSS Variables
|
|
109
|
-
|
|
110
|
-
```css
|
|
111
|
-
:root {
|
|
112
|
-
--bg: #eef2ff;
|
|
113
|
-
--card: #fff;
|
|
114
|
-
--cs: 0 4px 20px rgba(100,100,180,0.07);
|
|
115
|
-
--t: #1e293b;
|
|
116
|
-
--ts2: #64748b;
|
|
117
|
-
--ab: #818cf8;
|
|
118
|
-
--ap: #f0abfc;
|
|
119
|
-
--am: #6ee7b7;
|
|
120
|
-
--ao: #fdba74;
|
|
121
|
-
--ay: #fde047;
|
|
122
|
-
--al: #c4b5fd;
|
|
123
|
-
--ar: #fda4af;
|
|
124
|
-
--as: #7dd3fc;
|
|
125
|
-
--r: clamp(10px,1.8vw,18px);
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Each slide gets a subtle gradient background and decorative blurred circles (pseudo-elements with `filter: blur(80px)`, low opacity, positioned absolutely) for atmosphere.
|
|
130
|
-
|
|
131
|
-
### Per-Mode Page Structure
|
|
132
|
-
|
|
133
|
-
#### Discovery Mode (4 pages)
|
|
134
|
-
|
|
135
|
-
**Page 1 - Cover:**
|
|
136
|
-
- Title: If scanner sources include both Claude and Codex, use "Your Agent Skills" (EN) or "你的 Agent Skills 技能库" (ZH). If only Claude sources are present, use "Your Claude Code Skills" / "你的 Claude Code 技能库". If only Codex sources are present, use "Your Codex Skills" / "你的 Codex 技能库".
|
|
137
|
-
- Subtitle: total skill count + per-source breakdown (e.g., "12 Claude skills, 8 Codex skills, 20 plugin skills")
|
|
138
|
-
- Decorative background with gradient and blurred circles
|
|
139
|
-
|
|
140
|
-
**Page 2 - Category Map:**
|
|
141
|
-
- Group skills by their `category` field
|
|
142
|
-
- 3-column card grid
|
|
143
|
-
- Each card shows: skill name, 1-line description, category badge (colored pill)
|
|
144
|
-
- Use distinct accent colors per category for visual separation
|
|
145
|
-
|
|
146
|
-
**Page 3 - Highlights:**
|
|
147
|
-
- Top 5-8 most versatile skills (ranked by number of triggers or multiple sources)
|
|
148
|
-
- Each highlight: skill name + full description + trigger words as small badges
|
|
149
|
-
- Use a prominent card layout with the accent color
|
|
150
|
-
|
|
151
|
-
**Page 4 - Quick Reference:**
|
|
152
|
-
- Table with columns: Name | Description | Triggers | Category
|
|
153
|
-
- Compact rows, alternating background for readability
|
|
154
|
-
- Sticky header if content is long
|
|
155
|
-
|
|
156
|
-
#### Deep-dive Mode (1-3 pages per skill)
|
|
157
|
-
|
|
158
|
-
**Page 1 - Overview:**
|
|
159
|
-
- Large skill name as title
|
|
160
|
-
- Full description as subtitle
|
|
161
|
-
- Category badge (colored pill)
|
|
162
|
-
- Source badge (showing where the skill comes from)
|
|
163
|
-
- List of `allowedTools` as code-styled tags
|
|
164
|
-
|
|
165
|
-
**Page 2 - How It Works:**
|
|
166
|
-
- Render `sections` array as a numbered step flow with circle numbers (1, 2, 3...)
|
|
167
|
-
- If `howItWorks` field exists, render it as a detail/expandable box
|
|
168
|
-
- Use connecting lines or arrows between steps for flow visualization
|
|
169
|
-
|
|
170
|
-
**Page 3 - When to Use:**
|
|
171
|
-
- `whenToUse` items as green "Use when..." tags
|
|
172
|
-
- `limitations` items as orange "Caution" tags
|
|
173
|
-
- `triggers` as keyword badges in a separate section
|
|
174
|
-
- If Page 2 + Page 3 content combined is short enough for one slide, merge them
|
|
175
|
-
|
|
176
|
-
#### Tool-selection Mode (2-3 pages)
|
|
177
|
-
|
|
178
|
-
**Page 1 - Match Results:**
|
|
179
|
-
- User's task description displayed as a quote/callout
|
|
180
|
-
- Matched skills ranked by relevance (count of trigger matches + description keyword overlap)
|
|
181
|
-
- Each match shows: name, relevance score, top matching triggers
|
|
182
|
-
|
|
183
|
-
**Page 2 - Side-by-side Comparison:**
|
|
184
|
-
- Top 2-3 matches in a comparison layout
|
|
185
|
-
- Columns: Feature | Skill A | Skill B | Skill C
|
|
186
|
-
- Rows: Description, Triggers, When to Use, Limitations, Tools
|
|
187
|
-
|
|
188
|
-
**Page 3 - Workflow Suggestion:**
|
|
189
|
-
- Flow diagram showing how skills can combine: Skill A -> Skill B -> Result
|
|
190
|
-
- Use CSS-only arrows between skill boxes
|
|
191
|
-
- Brief explanation of why this combination works
|
|
192
|
-
|
|
193
|
-
#### Full Manual Mode
|
|
194
|
-
|
|
195
|
-
**Page 1 - Cover:**
|
|
196
|
-
- Title: "Complete Skill Manual" / "完整技能手册"
|
|
197
|
-
- Total skill count + source breakdown
|
|
198
|
-
|
|
199
|
-
**Page 2 - Category Index:**
|
|
200
|
-
- Category names with skill count per category
|
|
201
|
-
- Clickable/visual index layout
|
|
202
|
-
|
|
203
|
-
**One page per skill (compact format):**
|
|
204
|
-
- Skill name as heading
|
|
205
|
-
- 2-line description
|
|
206
|
-
- Trigger words as badges
|
|
207
|
-
- When-to-use summary (1-2 lines)
|
|
208
|
-
- Keep each skill to one page maximum
|
|
209
|
-
|
|
210
|
-
**Last page - Quick Reference Table:**
|
|
211
|
-
- Same as Discovery Page 4 but covering all skills
|
|
212
|
-
|
|
213
|
-
**Overflow protection:** If total skills > 30, warn the user before generating: "This will produce N pages. Continue?" Then proceed only after confirmation.
|
|
214
|
-
|
|
215
|
-
### Content Mapping from JSON
|
|
216
|
-
|
|
217
|
-
Map scanner JSON fields to HTML content:
|
|
218
|
-
|
|
219
|
-
| JSON Field | HTML Section |
|
|
220
|
-
|-----------|-------------|
|
|
221
|
-
| `name` + `description` | Slide title, subtitle, card header |
|
|
222
|
-
| `howItWorks` | "How it works" detail box |
|
|
223
|
-
| `sections` | Numbered step flow |
|
|
224
|
-
| `whenToUse` + `triggers` | "When to use" tags + trigger keyword list |
|
|
225
|
-
| `limitations` | "Limitations" caution area |
|
|
226
|
-
| `allowedTools` | Tools list (collapsible, for advanced users) |
|
|
227
|
-
| `category` | Category badge, used for grouping and coloring |
|
|
228
|
-
| `source` | Source badge showing origin |
|
|
229
|
-
|
|
230
|
-
### Language Handling
|
|
231
|
-
|
|
232
|
-
The CLI uses `--lang zh` for Chinese labels as a built-in default. For any other language, the agent-side translation step (workflow step 6) handles ALL UI labels and content translation. The agent translates everything — both `data-i18n` marked content and any other visible text (headings, kicker, stats labels, etc.) — to the detected target language.
|
|
233
|
-
|
|
234
|
-
The CLI's built-in Chinese label map is used as a starting point when `--lang zh` is passed. For all other languages, the CLI generates English labels and the agent translates them.
|
|
235
|
-
|
|
236
|
-
| English Label | Chinese Label (built-in) |
|
|
237
|
-
|--------------|---------------|
|
|
238
|
-
| Your Agent Skills | 你的 Agent Skills 技能库 |
|
|
239
|
-
| Your Claude Code Skills | 你的 Claude Code 技能库 |
|
|
240
|
-
| Your Codex Skills | 你的 Codex 技能库 |
|
|
241
|
-
| Category Map | 分类概览 |
|
|
242
|
-
| Highlights | 精选推荐 |
|
|
243
|
-
| Quick Reference | 快速参考 |
|
|
244
|
-
| How It Works | 运作原理 |
|
|
245
|
-
| When to Use | 何时使用 |
|
|
246
|
-
| Limitations | 使用限制 |
|
|
247
|
-
| Triggers | 触发词 |
|
|
248
|
-
| Complete Skill Manual | 完整技能手册 |
|
|
249
|
-
| Match Results | 匹配结果 |
|
|
250
|
-
| Comparison | 对比分析 |
|
|
251
|
-
| Workflow Suggestion | 工作流建议 |
|
|
252
|
-
| Use when... | 适用场景... |
|
|
253
|
-
| Caution | 注意 |
|
|
254
|
-
| Tools | 工具列表 |
|
|
255
|
-
| Source | 来源 |
|
|
256
|
-
| Category | 分类 |
|
|
257
|
-
|
|
258
|
-
For all other languages (Japanese, Korean, French, German, etc.), the agent translates these labels as part of step 6.
|
|
259
|
-
|
|
260
|
-
## 5. Anti-Patterns
|
|
261
|
-
|
|
262
|
-
- **Never fabricate skill descriptions.** Only use data returned by the scanner. If the scanner returns empty or fails, show an error slide instead of guessing.
|
|
263
|
-
- **Never skip running the scanner.** The scanner is the sole source of truth for installed skills.
|
|
264
|
-
- **Never generate more than 30 pages without asking.** Prompt the user first.
|
|
265
|
-
- **Never include skills without a name.** Skip malformed entries and log a warning to console.
|
|
266
|
-
- **Never hard-code skill lists.** Always derive from scanner output at generation time.
|
|
36
|
+
- The scanner reads local metadata; it does not measure actual usage frequency.
|
|
37
|
+
- Same-category suggestions and directory mentions require human review before installing, editing, or deleting anything.
|
|
38
|
+
- Never delete skills, install packages, or publish results based only on a generated score.
|
|
39
|
+
- Built-in dashboard labels support English and Chinese. For other languages, summarize the result in the user's language without rewriting generated HTML unless explicitly requested.
|
|
40
|
+
- If the CLI is unavailable, report the missing file instead of silently replacing its behavior.
|
package/demo-categories.png
CHANGED
|
Binary file
|
package/demo-cover.png
CHANGED
|
Binary file
|
package/demo-highlights.png
CHANGED
|
Binary file
|
package/demo-reference.png
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skill-guide",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Scan 6+ skill directories across Claude Code, Codex, and cc-switch, then generate beautiful HTML slide presentations.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"SKILL.md",
|
|
15
15
|
"skill-guide.js",
|
|
16
16
|
"scan-skills.js",
|
|
17
|
+
"skill-registry.js",
|
|
17
18
|
"demo.html",
|
|
18
19
|
"demo.gif",
|
|
19
20
|
"social-preview.png",
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
"scan:full": "node scan-skills.js --full",
|
|
32
33
|
"guide": "node skill-guide.js --open",
|
|
33
34
|
"doctor": "node skill-guide.js --doctor",
|
|
34
|
-
"test": "node --check scan-skills.js && node --check skill-guide.js && node --test test/*.test.js && node scan-skills.js --list >/dev/null && node scan-skills.js --search security >/dev/null && node scan-skills.js --full >/dev/null"
|
|
35
|
+
"test": "node --check scan-skills.js && node --check skill-guide.js && node --check skill-registry.js && node --test test/*.test.js && node scan-skills.js --list >/dev/null && node scan-skills.js --search security >/dev/null && node scan-skills.js --full >/dev/null"
|
|
35
36
|
},
|
|
36
37
|
"engines": {
|
|
37
38
|
"node": ">=18"
|