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 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
- - Agent-side full translation for any language (ja, ko, fr, de, es, etc.) — SKILL.md workflow step 6.
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
- - Translation generalized from Chinese-only to any language agent translates both `data-i18n` content and plain text.
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-Any%20%F0%9F%8C%90-7dd3fc?style=flat-square" />
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
- > **200+ agent skills installed but you only use 3?**
15
- > One command scans everything — Claude Code, Codex, cc-switch, plugins — and generates a beautiful slide deck so you actually know what you have.
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 --open # ← that's it. HTML slides open in your browser.
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 slide deck you can view in any browser.
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
- **4 modes:**
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
- | Mode | Command | Output |
38
- |------|---------|--------|
39
- | **Discovery** | `/skill-guide` or `npx skill-guide --open` | Stats, category map, highlights, quick reference |
40
- | **Deep-dive** | `/skill-guide investigate` or `npx skill-guide --skill investigate --open` | How it works, when to use, limitations, triggers |
41
- | **Tool-selection** | "Which skill for security?" | Ranked recommendations with comparison |
42
- | **Full manual** | `/skill-guide all` or `npx skill-guide --full --open` | One page per skill, complete reference |
43
- | **Doctor** | `npx skill-guide --doctor` | Environment and source diagnostics |
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 --open # Discover all skills
93
- npx skill-guide --search security --open # Find skills for a task
94
- npx skill-guide --skill tdd --open # Deep-dive one skill
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 # Skill definition + HTML generation rules
160
- ├── agents/openai.yaml # Codex/OpenAI skill UI metadata
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 # Zero-dependency Node.js scanner
163
- ├── demo.html # Demo presentation (this is what you see above)
164
- └── LICENSE # MIT
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
- | `--lang <code>` | UI language (en, zh, or any — auto-translated) |
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
- Automatic ask in any language, get output in that language. No configuration needed.
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
- - **Japanese, Korean, French, German, Spanish, ...** agent-side translation (works in Claude Code and Codex)
294
+ - **Other languages** agent summary in the user's language; dashboard labels remain English
210
295
 
211
296
  ## Why skill-guide?
212
297
 
213
- - **The only skill that maps your skills** — scans Claude Code, Codex, cc-switch, and plugin sources in one visual overview
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
- - **Any language** — ask in Chinese, get Chinese. Ask in Japanese, get Japanese. Auto-detected.
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
- - [ ] `--share` — generate a shareable standalone HTML or Markdown summary
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
- ## 1. When to Use
10
+ ## Overview
20
11
 
21
- Activate this skill when the user wants to explore, discover, compare, or learn about their installed Agent Skills across Claude Code, Codex, local skill folders, and plugin marketplaces. The output is a polished HTML slide presentation opened in the browser.
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
- **Trigger conditions:**
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
- ## 2. Mode Detection
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
- Determine the mode from user input:
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
- | User Input | Mode | Scanner Flag |
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
- **Resolution rules (apply in order):**
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
- ## 3. Workflow
48
-
49
- Follow these steps exactly:
50
-
51
- 1. **Determine mode** from user input using the rules in section 2.
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.
Binary file
package/demo-cover.png CHANGED
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skill-guide",
3
- "version": "0.2.1",
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"