skill-forge-hub 0.5.1 → 0.5.2

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
@@ -2,6 +2,14 @@
2
2
 
3
3
  SkillForge(技能锻造坊)npm 包 `skill-forge-hub`(命令名 `skill-forge`)版本变更记录。
4
4
 
5
+ ## 0.5.2(2026-11-11)
6
+
7
+ **锦囊 mono 主题换装 JetBrains Darcula**
8
+
9
+ - 从「Linear 式纯黑」改为 Darcula 官方色板:背景 `#2b2b2b` / 面板 `#3c3f41` / 卡片渐变 `#313335` / 正文蓝灰 `#a9b7c6` / 边框 `#4e5254`——深灰底 + 蓝灰字 + 灰阶面板,与 JetBrains IDE 观感一致,久看不累
10
+ - 组件适配全面蓝灰化:魔法棒/图标滤镜、标签、星标、弹层、输入区、卡片内描边与 hover 描边、换肤坞色点
11
+ - 主题名同步:「极简黑白」→「Darcula 深灰蓝」(SKILL.md / user-config.md / usage-guide.md / 换肤坞 title)
12
+
5
13
  ## 0.5.1(2026-11-11)
6
14
 
7
15
  **自检闭环补全**(交付前硬门禁,四技能全覆盖)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skill-forge-hub",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "SkillForge (技能锻造坊) — a curated collection of AI craft skills. Install once, then pick skills interactively: daily/weekly/annual reports, article-to-HTML, magic-deck slides, deck-stage PPTX, prompt-pouch manager, Pandoc doc converters, meta-forge.",
5
5
  "bin": {
6
6
  "skill-forge": "cli.js"
@@ -2,7 +2,7 @@
2
2
  name: prompt-pouch
3
3
  description: >
4
4
  锦囊(prompt-pouch)提示词管理 Skill:生成并维护一个本地 HTML 提示词管理页面(锦囊管理台),
5
- 暖棕金/深蓝科技/极简黑白/薄荷绿四套主题(右下角换肤坞随时切换,THEME 配置可设默认),功能为分组侧栏(带计数徽章)+ 搜索(关键词高亮)+ 卡片网格 + 四种排序(最新添加默认/最近使用/使用频率/手动,
5
+ 暖棕金/深蓝科技/Darcula 深灰蓝/薄荷绿四套主题(右下角换肤坞随时切换,THEME 配置可设默认),功能为分组侧栏(带计数徽章)+ 搜索(关键词高亮)+ 卡片网格 + 四种排序(最新添加默认/最近使用/使用频率/手动,
6
6
  拖拽与 ▲▼ 自动切手动)+ 使用统计 + 收藏星标 + {变量} 插值填充面板 + 一键复制 + 卡片「👁 详情」弹窗
7
7
  (全文滚动查看 / 复制 / 修改 / 创建修改时间线);数据存 <DIR>/cache/prompts.json(DATA_DIR 可配),
8
8
  页面与数据严格分离,双笔协作(页面经授权目录直写,AI 代笔维护)。三类任务:①初始化——目标目录无页面时确认目录(默认用户配置 DIR)
@@ -62,7 +62,7 @@ disable-model-invocation: false
62
62
 
63
63
  **执行本 skill 前必须先 Read 同目录 `user-config.md`**:目录(DIR/DIR_WIN)、端口(PORT)、初始化数据(INIT_DATA)、确认开关(CONFIRM)、主题(THEME)等默认配置都在该文件中,以它为准。升级技能时 user-config.md 不会被覆盖,你的修改永久保留。
64
64
 
65
- **THEME 主题机制**:页面内置四套主题——gold 暖棕金(默认)/ tech 深蓝科技 / mono 极简黑白 / mint 薄荷绿。初始化复制 reference.html 后,将 html 根标签 `data-theme` 属性值设为配置 `THEME`(仅此一处修改);页面右下角「换肤坞」色点可随时切换主题,选择经浏览器 localStorage 持久(key: sf-pouch-theme),刷新后保持;localStorage 优先级高于根标签 data-theme。已初始化的页面改配置 THEME 不追溯——用户手动换过主题即以其选择为准。
65
+ **THEME 主题机制**:页面内置四套主题——gold 暖棕金(默认)/ tech 深蓝科技 / mono Darcula 深灰蓝(JetBrains IDE 同款观感)/ mint 薄荷绿。初始化复制 reference.html 后,将 html 根标签 `data-theme` 属性值设为配置 `THEME`(仅此一处修改);页面右下角「换肤坞」色点可随时切换主题,选择经浏览器 localStorage 持久(key: sf-pouch-theme),刷新后保持;localStorage 优先级高于根标签 data-theme。已初始化的页面改配置 THEME 不追溯——用户手动换过主题即以其选择为准。
66
66
 
67
67
  **配置版本机制(升级保护)**:user-config.md 头部 `CONFIG_VERSION` 标识结构版本。升级 skill 后若发现新版本结构(如 v2 新增 THEME 字段)而用户配置是旧版:先备份旧配置为 `user-config.md.bak-时间戳`,将旧值迁移进新结构(保留用户已有 DIR/PORT/INIT_DATA/CONFIRM,缺失字段补默认值),更新 CONFIG_VERSION,最后用一句话告知用户配置已升级、旧文件备份在哪。 **无法迁移项处理**(值域失效 / 语义漂移 / 数据不兼容):三绝不——绝不静默(无法迁移项停下问,不猜值)、绝不丢失(旧值永远在备份)、一次说清(升级报告三段式:⚠️ 版本与备份路径 / ✅ 已自动迁移 / 🟡 无法迁移项逐条附原因+影响+建议替代);随后 AskUserQuestion 三选项(A 用建议值 / B 用户给新值 / C 保持旧配置——不更新 CONFIG_VERSION,每次执行再提醒);报告必附回滚一句话;数据文件(prompts.json)迁移前先复制 .bak-时间戳,能映射则映射、不能则写兼容层(旧 id 兼容保留即范例)或留备份提示手动整理
68
68
 
@@ -30,34 +30,34 @@
30
30
  --btn-ink:#041018;
31
31
  --bar-hi:rgba(10,25,41,.96); --bar-lo:rgba(10,25,41,.88);
32
32
  }
33
- /* ═══ mono 深黑极简:Linear 式黑画布 + 纯白强调 + 灰阶层次(黑底白字,货真价实的黑色主题) ═══ */
33
+ /* ═══ mono 深灰蓝:JetBrains Darcula 色系(深灰底 + 蓝灰文字 + 灰阶面板,IDE 同款观感) ═══ */
34
34
  [data-theme="mono"]{
35
- --bg:#0a0a0b; --bg2:#121215;
36
- --panel:#17171a; --panel2:#1e1e22;
37
- --text:#f5f5f7; --muted:#9b9ba4;
38
- --gold:#ffffff; --gold2:#d9d9de; --gold-dim:rgba(255,255,255,.09);
39
- --border:rgba(255,255,255,.11);
40
- --tag-bg:rgba(255,255,255,.07);
41
- --star:#f5f5f7;
42
- --glow:rgba(255,255,255,.16);
43
- --btn-ink:#0a0a0b;
44
- --bar-hi:rgba(10,10,11,.96); --bar-lo:rgba(10,10,11,.88);
35
+ --bg:#2b2b2b; --bg2:#313335;
36
+ --panel:#3c3f41; --panel2:#313335;
37
+ --text:#a9b7c6; --muted:#808080;
38
+ --gold:#a9b7c6; --gold2:#6b7280; --gold-dim:rgba(169,183,198,.12);
39
+ --border:#4e5254;
40
+ --tag-bg:#3c3f41;
41
+ --star:#d7dce3;
42
+ --glow:rgba(169,183,198,.18);
43
+ --btn-ink:#2b2b2b;
44
+ --bar-hi:rgba(43,43,43,.96); --bar-lo:rgba(43,43,43,.88);
45
45
  }
46
- /* mono 深黑组件适配:魔法棒黑白化、白标签、白星标、深色弹层、输入区半透明白、黑点白描边 */
47
- [data-theme="mono"] .lg{ filter:grayscale(1) brightness(.3); }
46
+ /* mono 深灰蓝组件适配:魔法棒灰化、蓝灰标签、浅蓝灰星标、深灰弹层、输入区微亮蓝灰、色点蓝灰描边 */
47
+ [data-theme="mono"] .lg{ filter:grayscale(1) brightness(.45); }
48
48
  [data-theme="mono"] .nav-item .icon,
49
- [data-theme="mono"] .search .kw{ filter:grayscale(1) brightness(1.35); }
50
- [data-theme="mono"] .tpl-badge{ color:#f5f5f7; background:rgba(255,255,255,.12); }
51
- [data-theme="mono"] .op.star-on{ color:#ffffff; border-color:rgba(255,255,255,.42); background:rgba(255,255,255,.15); }
52
- [data-theme="mono"] .gpop{ background:#1e1e22; border-color:rgba(255,255,255,.13); box-shadow:0 12px 32px rgba(0,0,0,.55); }
49
+ [data-theme="mono"] .search .kw{ filter:grayscale(1) brightness(1.15); }
50
+ [data-theme="mono"] .tpl-badge{ color:#a9b7c6; background:rgba(169,183,198,.14); }
51
+ [data-theme="mono"] .op.star-on{ color:#d7dce3; border-color:rgba(169,183,198,.45); background:rgba(169,183,198,.16); }
52
+ [data-theme="mono"] .gpop{ background:#3c3f41; border-color:#4e5254; box-shadow:0 12px 32px rgba(0,0,0,.6); }
53
53
  [data-theme="mono"] .fp-preview,
54
54
  [data-theme="mono"] .fp-field input,
55
55
  [data-theme="mono"] .fp-field textarea,
56
56
  [data-theme="mono"] .fp-field select,
57
57
  [data-theme="mono"] .fp-live textarea,
58
58
  [data-theme="mono"] .bk-item,
59
- [data-theme="mono"] .detail-content{ background:rgba(255,255,255,.05); }
60
- [data-theme="mono"] .theme-dock .th-dot[data-theme="mono"]{ border:1.5px solid rgba(255,255,255,.5); }
59
+ [data-theme="mono"] .detail-content{ background:rgba(169,183,198,.07); }
60
+ [data-theme="mono"] .theme-dock .th-dot[data-theme="mono"]{ border:1.5px solid rgba(169,183,198,.55); }
61
61
  [data-theme="mint"]{ /* 薄荷绿 */
62
62
  --bg:#0d1a12; --bg2:#12241a;
63
63
  --panel:#182f22; --panel2:#1e3a2a;
@@ -197,8 +197,8 @@ main{ flex:1; min-width:0; }
197
197
  cursor:grab; display:flex; flex-direction:column; gap:8px;
198
198
  }
199
199
  .card:hover{ transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.35); border-color:var(--glow); }
200
- [data-theme="mono"] .card{ box-shadow:0 1px 0 rgba(255,255,255,.05) inset; }
201
- [data-theme="mono"] .card:hover{ box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.09); }
200
+ [data-theme="mono"] .card{ box-shadow:0 1px 0 rgba(169,183,198,.07) inset; }
201
+ [data-theme="mono"] .card:hover{ box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 0 1px rgba(169,183,198,.14); }
202
202
  .card.dragging{ opacity:.35; cursor:grabbing; }
203
203
  .card.drop-target{ border-color:var(--gold); box-shadow:0 0 0 2px var(--gold-dim); }
204
204
  .card-top{ display:flex; align-items:center; gap:8px; }
@@ -473,7 +473,7 @@ footer.open .ht-arrow{ transform:rotate(180deg); }
473
473
  .theme-dock .th-dot.on{ border-color:var(--text); }
474
474
  .theme-dock .th-dot[data-theme="gold"]{ background:#e8b04b; }
475
475
  .theme-dock .th-dot[data-theme="tech"]{ background:#0ea5e9; }
476
- .theme-dock .th-dot[data-theme="mono"]{ background:#111; }
476
+ .theme-dock .th-dot[data-theme="mono"]{ background:#2b2b2b; }
477
477
  .theme-dock .th-dot[data-theme="mint"]{ background:#4ade80; }
478
478
  @media print{ .theme-dock{ display:none; } }
479
479
  </style>
@@ -2031,7 +2031,7 @@ footer.open .ht-arrow{ transform:rotate(180deg); }
2031
2031
  <div class="theme-dock" id="themeDock">
2032
2032
  <button class="th-dot" type="button" data-theme="gold" title="gold 暖棕金"></button>
2033
2033
  <button class="th-dot" type="button" data-theme="tech" title="tech 深蓝科技"></button>
2034
- <button class="th-dot" type="button" data-theme="mono" title="mono 极简黑白"></button>
2034
+ <button class="th-dot" type="button" data-theme="mono" title="mono Darcula 深灰蓝"></button>
2035
2035
  <button class="th-dot" type="button" data-theme="mint" title="mint 薄荷绿"></button>
2036
2036
  </div>
2037
2037
  </body>
@@ -1,6 +1,6 @@
1
1
  # 锦囊使用指南
2
2
 
3
- 锦囊(prompt-pouch)是一个本地 HTML 提示词管理台:暖棕金默认配色,内置四套主题(暖棕金/深蓝科技/极简黑白/薄荷绿,右下角换肤坞随时切换),分组侧栏 + 搜索 + 卡片网格,妙计入囊、随取随用。页面与数据分离——页面可直写、AI 可代笔(双笔协作),你只管说,刷新即见。
3
+ 锦囊(prompt-pouch)是一个本地 HTML 提示词管理台:暖棕金默认配色,内置四套主题(暖棕金/深蓝科技/Darcula 深灰蓝/薄荷绿,右下角换肤坞随时切换),分组侧栏 + 搜索 + 卡片网格,妙计入囊、随取随用。页面与数据分离——页面可直写、AI 可代笔(双笔协作),你只管说,刷新即见。
4
4
 
5
5
  ## 怎么用
6
6
 
@@ -15,7 +15,7 @@ BACKUP_DIR: backup
15
15
  INIT_DATA: example
16
16
 
17
17
  # 页面主题(初始化时写入页面根标签 data-theme;页面右下角换肤坞可随时切换)
18
- # 可选:gold 暖棕金(默认)/ tech 深蓝科技 / mono 极简黑白 / mint 薄荷绿
18
+ # 可选:gold 暖棕金(默认)/ tech 深蓝科技 / mono Darcula 深灰蓝 / mint 薄荷绿
19
19
  THEME: gold
20
20
 
21
21
  # 初始化/落盘前是否先确认目标目录