@ia-ccun/code-agent-cli 0.0.49 → 0.0.50-beta.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/README.md CHANGED
@@ -217,22 +217,48 @@ aicode-cli --list-models # 列出可用模型
217
217
 
218
218
  ### 创建自定义 Skill
219
219
 
220
- 在 `~/.aicode-cli/skills/` 目录下创建 `.md` 文件:
220
+ 在 `~/.aicode-cli/agent/skills/<skill-name>/` 目录下创建 `SKILL.md` 文件:
221
+
222
+ ```bash
223
+ # 创建技能目录
224
+ mkdir -p ~/.aicode-cli/agent/skills/my-skill
225
+
226
+ # 创建 SKILL.md
227
+ cat > ~/.aicode-cli/agent/skills/my-skill/SKILL.md << 'EOF'
228
+ ---
229
+ name: my-skill
230
+ description: "技能的简短描述。Use when 触发条件描述。"
231
+ metadata:
232
+ version: "1.0.0"
233
+ author: "your-name"
234
+ ---
221
235
 
222
- ```markdown
223
236
  # My Skill
224
237
 
225
238
  ## 描述
226
- 技能说明
239
+ 技能的详细说明
227
240
 
228
241
  ## 触发方式
229
- /skill:my-skill
242
+ `/skill:my-skill`
230
243
 
231
244
  ## 执行步骤
232
245
  1. 步骤一
233
246
  2. 步骤二
247
+ EOF
234
248
  ```
235
249
 
250
+ **字段说明:**
251
+
252
+ | 字段 | 必填 | 说明 |
253
+ |------|------|------|
254
+ | `name` | 是 | 技能标识符(小写+连字符),与目录名一致 |
255
+ | `description` | 是 | 触发条件描述,Agent 据此判断何时使用该技能 |
256
+ | `disable-model-invocation` | 否 | 设为 `true` 时禁止调用 LLM,纯本地执行 |
257
+ | `metadata.version` | 否 | 版本号 |
258
+ | `metadata.author` | 否 | 作者 |
259
+
260
+ > ⚠️ 文件名必须为 `SKILL.md`,且放在独立目录中(目录名与 `name` 一致)。
261
+
236
262
  ## 预置 Prompts
237
263
 
238
264
  内置 Prompt 模板位于 `config/agent/prompts/`(打包在 npm 包中)
package/bin/cli.js CHANGED
@@ -194,7 +194,8 @@ async function checkForUpdates() {
194
194
  checkForUpdates();
195
195
 
196
196
  // 获取 node_modules 中 pi-coding-agent 的 CLI 路径
197
- const piAgentPath = new URL('../node_modules/@mariozechner/pi-coding-agent/dist/cli.js', import.meta.url);
197
+ const piAgentPathUrl = new URL('../node_modules/@mariozechner/pi-coding-agent/dist/cli.js', import.meta.url);
198
+ const piAgentPath = fileURLToPath(piAgentPathUrl); // 解码中文路径
198
199
 
199
200
  // 获取本地版本号
200
201
  const localVersion = getLocalVersion();
@@ -221,7 +222,7 @@ const agentDir = join(fullPath, 'agent');
221
222
  env.AICODE_CLI_CODING_AGENT_DIR = agentDir;
222
223
 
223
224
  // 启动 pi-coding-agent
224
- const child = spawn('node', [piAgentPath.pathname, ...remainingArgs], {
225
+ const child = spawn('node', [piAgentPath, ...remainingArgs], {
225
226
  stdio: 'inherit',
226
227
  env
227
228
  });
@@ -2,7 +2,7 @@
2
2
  * @author: xujianjiang
3
3
  * Aicode Tips Extension — 在边框下方、状态栏上方随机显示使用技巧
4
4
  *
5
- * 显示 10 秒后消失,3 秒后显示下一条
5
+ * 每 10 秒轮播显示下一条技巧
6
6
  * 技巧列表包含快捷键、命令使用及联系方式提示
7
7
  */
8
8
 
@@ -16,26 +16,25 @@ const AICODE_TIPS = [
16
16
  "Ctrl+O 展开/折叠工具输出",
17
17
  "Ctrl+T 展开/折叠思考块",
18
18
  "Alt+Enter 队列跟进消息",
19
- "Ctrl+V 粘贴图片",
20
19
  "Shift+Enter 输入多行",
21
20
  "/ 查看所有命令",
22
21
  "/tree 查看会话历史",
23
22
  "/session 查看统计",
24
23
  "/settings 自定义设置",
25
- "/export 导出会话为HTML",
24
+ "/export 导出会话为 HTML",
26
25
  "/copy 复制最后消息",
27
26
  "/name 设置会话名称",
28
27
  "/hotkeys 显示所有快捷键",
29
28
  "/reload 重新加载配置文件",
30
29
  "/new 开始新会话",
31
30
  "!cmd 执行 bash",
32
- "!!cmd 执行bash但不发送给AI",
31
+ "!!cmd 执行 bash 但不发送给 AI",
33
32
  "/compact 压缩上下文",
34
- "/skill:name 调用技能",
33
+ "/skill:技能名称 调用技能",
35
34
  "/resume 恢复会话",
36
- "/fork 创建新分支",
35
+ "/fork 创建会话新分支",
37
36
  "Ctrl+C 清空编辑器",
38
- "双击Esc 打开树视图",
37
+ "双击 Esc 打开树视图",
39
38
  "拖拽文件到终端附加",
40
39
  // 扩展命令提示
41
40
  "/version 查看当前版本",
@@ -43,32 +42,32 @@ const AICODE_TIPS = [
43
42
  "/status 显示会话状态",
44
43
  "/clear 清理当前会话",
45
44
  "/quit 退出当前会话",
46
- // 常用Prompt提示
45
+ // 常用 Prompt 提示
47
46
  "/code-simplifier 自动简化刚修改的代码,提升清晰度和一致性",
48
47
  "/feat 新功能开发,支持需求规划→讨论迭代→执行实施完整流程(推荐使用)",
49
- "/git-commit 分析Git改动并生成Conventional Commits规范提交信息(推荐使用)",
50
- "/init-project 初始化项目AI上下文,生成根级和模块级CLAUDE.md索引",
51
- "/workflow 专业开发者6阶段结构化工作流(研究→构思→计划→执行→优化→评审)",
48
+ "/git-commit 分析 Git 改动并生成 Conventional Commits 规范提交信息(推荐使用)",
49
+ "/init-project 初始化项目 AI 上下文,生成根级和模块级 CLAUDE.md 索引",
50
+ "/workflow 专业开发者 6 阶段结构化工作流(研究→构思→计划→执行→优化→评审)",
52
51
  // 常用技能提示
53
52
  "/skill:brainstorming 探索用户意图、需求分析和方案设计",
54
53
  "/skill:code-review 执行全面的代码质量/安全/性能审查(推荐使用)",
55
- "/skill:commit 分析代码变更并生成规范的Git提交信息",
54
+ "/skill:commit 分析代码变更并生成规范的 Git 提交信息",
56
55
  "/skill:frontend-design 创建高质量生产级前端界面(推荐使用)",
57
- "/skill:owasp-security 遵循OWASP Top 10的安全编码实践(推荐使用)",
56
+ "/skill:owasp-security 遵循 OWASP Top 10 的安全编码实践(推荐使用)",
58
57
  "/skill:receiving-code-review 技术性处理代码评审反馈并验证(推荐使用)",
59
58
  "/skill:requesting-code-review 请求代码评审确保满足合并要求",
60
59
  "/skill:unit-test 为选定的代码文件生成单元测试",
61
60
  "/skill:verification-before-completion 完成前验证实际工作是否完整",
62
61
  "/skill:writing-plans 为多步骤任务编写详细的实施计划(推荐使用)",
63
- "/skill:writing-skills 创建、修改和优化Agent技能并测量性能",
62
+ "/skill:writing-skills 创建、修改和优化 Agent 技能并测量性能",
64
63
  "/skill:session-learning 总结会话经验并沉淀为可复用的技能",
65
- "/skill:test-driven-development 先写测试再写实现的TDD开发模式",
66
- "/skill:subagent-driven-development 通过派发子Agent执行复杂实施计划",
64
+ "/skill:test-driven-development 先写测试再写实现的 TDD 开发模式",
65
+ "/skill:subagent-driven-development 通过派发子 Agent 执行复杂实施计划",
67
66
  "/skill:dispatching-parallel-agents 并行分发多个独立任务无共享状态",
68
- "/skill:csv-data-summarizer 分析CSV文件并生成统计和可视化图表",
67
+ "/skill:csv-data-summarizer 分析 CSV 文件并生成统计和可视化图表",
69
68
  "/skill:executing-plans 执行带有检查点的书面实施计划",
70
- "/skill:frontend-slides 使用HTML/CSS创建精美的演示幻灯片",
71
- "/skill:markdown-to-html 将Markdown文档转换为精美的HTML页面",
69
+ "/skill:frontend-slides 使用 HTML/CSS 创建精美的演示幻灯片",
70
+ "/skill:markdown-to-html 将 Markdown 文档转换为精美的 HTML 页面",
72
71
  "/skill:refactor 重构代码提升可读性和可维护性保持功能不变",
73
72
  "/skill:skill-creator 创建、修改和提升技能性能的工具",
74
73
  "/skill:adapt (impeccable) 使设计适配不同的屏幕尺寸、设备、场景或平台,确保跨环境体验一致",
@@ -90,22 +89,22 @@ const AICODE_TIPS = [
90
89
  "/skill:polish (impeccable) 上线前的最终质量检查,修正对齐、间距、一致性和细节问题",
91
90
  "/skill:quieter (impeccable) 弱化过于大胆或视觉攻击性强的设计,降低视觉强度",
92
91
  "/skill:typeset (impeccable) 通过修正字体选择、层级、大小、粗细来优化排版",
93
- "/skill:ui-ux-pro-max 提供50种设计风格和21种配色方案的设计助手(推荐使用)",
92
+ "/skill:ui-ux-pro-max 提供 50 种设计风格和 21 种配色方案的设计助手(推荐使用)",
94
93
  // 常用技能提示
95
94
  "/btw 并行侧边对话,可在不中断主流程的情况下进行临时讨论或查询 ",
96
95
  "/rewind 回退到任意工具执行前的状态,支持快照恢复和撤销重做 ",
97
- "/mcp 连接现有的MCP服务器(如xx平台、企业微信等等),扩展AI能力支持多种外部工具和服务 ",
96
+ "/mcp 连接现有的 MCP 服务器 (如 xx 平台、企业微信等等),扩展 AI 能力支持多种外部工具和服务 ",
98
97
  // 消息传递模式提示
99
- "Enter 插话消息 - 在工具执行后立即发送,中断AI思考流程",
100
- "Alt+Enter 排队消息 - 等待AI完全结束后发送,不中断AI工作",
101
- "Escape 中断当前AI并恢复编辑器中的排队消息",
98
+ "Enter 插话消息 - 在工具执行后立即发送,中断 AI 思考流程",
99
+ "Alt+Enter 排队消息 - 等待 AI 完全结束后发送,不中断 AI 工作",
100
+ "Escape 中断当前 AI 并恢复编辑器中的排队消息",
102
101
  "Alt+Up 查看并编辑所有排队的消息",
103
- "插话消息会打断AI正在执行的工具,等待响应",
104
- "排队消息静默等待,AI空闲时自动发送",
102
+ "插话消息会打断 AI 正在执行的工具,等待响应",
103
+ "排队消息静默等待,AI 空闲时自动发送",
105
104
  "可在 /settings 中调整消息发送模式和行为偏好",
106
105
  // 联系方式提示
107
106
  "⚠️ 任何疑问或需求可联系 xujianjiang,支持需求对接开发、系统集成与扩展",
108
- "⚠️ 内网手册参考 UniDoc《2026.03 AICode Agent CLI编码智能体使用手册》",
107
+ "⚠️ 内网手册参考 UniDoc《2026.03 AICode Agent CLI 编码智能体使用手册》",
109
108
  "⚠️ LLM API 4xx/5xx 错误时请确认模型配置是否正确,或在企微群咨询 jiangchi、maliang",
110
109
  ];
111
110
 
@@ -150,11 +149,13 @@ export default function (pi: ExtensionAPI) {
150
149
  return str + " ".repeat(padding);
151
150
  };
152
151
 
153
- const showRandomTip = () => {
152
+ const showRandomTip = (isInternalCall = false) => {
154
153
  if (!currentCtx?.hasUI) return;
155
154
 
156
- // 清除之前的定时器
157
- clearAllTimers();
155
+ // 清除之前的定时器(但内部轮播调用时不清除,避免中断轮播)
156
+ if (!isInternalCall) {
157
+ clearAllTimers();
158
+ }
158
159
 
159
160
  let randomIndex = Math.floor(Math.random() * AICODE_TIPS.length);
160
161
  if (randomIndex === currentTipIndex && AICODE_TIPS.length > 1) {
@@ -167,12 +168,9 @@ export default function (pi: ExtensionAPI) {
167
168
  const coloredTip = `${color}tips: ${tip}\x1b[0m`;
168
169
  currentCtx.ui.setWidget("aicode-tips", [coloredTip], { placement: "aboveEditor" });
169
170
 
170
- // 自动轮播:10秒后隐藏,隐藏后3秒显示下一条
171
+ // 自动轮播:10 秒后直接显示下一条
171
172
  if (isAutoPlaying) {
172
- autoHideTimeoutId = setTimeout(() => {
173
- hideTip();
174
- autoShowTimeoutId = setTimeout(showRandomTip, 3000);
175
- }, 10000);
173
+ autoHideTimeoutId = setTimeout(() => showRandomTip(true), 10000);
176
174
  }
177
175
  };
178
176
 
@@ -207,4 +205,4 @@ export default function (pi: ExtensionAPI) {
207
205
  showRandomTip();
208
206
  },
209
207
  });
210
- }
208
+ }
@@ -3,15 +3,16 @@
3
3
  *
4
4
  * @author: xujianjiang
5
5
  *
6
- * Logs errors to ./.aicode-cli/debug-logs/aicode-error-YYYY-MM-DD.log
6
+ * Logs errors to ~/.aicode-cli/logs/aicode-error-YYYY-MM-DD.log
7
7
  */
8
8
 
9
9
  import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
10
10
  import fs from "fs";
11
+ import os from "os";
11
12
  import path from "path";
12
13
 
13
14
  // Error log file configuration
14
- const ERROR_LOG_DIR = path.resolve(process.cwd(), "./.aicode-cli/debug-logs");
15
+ const ERROR_LOG_DIR = path.resolve(os.homedir(), ".aicode-cli", "logs");
15
16
  const KEEP_DAYS = 2; // 保留最近2天
16
17
 
17
18
  // 北京时间格式化函数 (UTC+8)
@@ -31,6 +31,8 @@ npm install -g @ia-ccun/code-agent-cli
31
31
 
32
32
  ```bash
33
33
  aicode-cli
34
+ # 或
35
+ aicode
34
36
  ```
35
37
 
36
38
  ### 基本对话
@@ -66,6 +68,15 @@ Ctrl+Q
66
68
  Enter
67
69
  ```
68
70
 
71
+ ### Git Worktree 支持
72
+
73
+ 使用 `/skill:using-git-worktrees` 在多工作区间高效切换:
74
+
75
+ ```
76
+ /skill:using-git-worktrees
77
+ 帮我创建一个新的 worktree 来开发登录功能
78
+ ```
79
+
69
80
  ---
70
81
 
71
82
  ## 3. 核心命令
@@ -90,6 +101,13 @@ Enter
90
101
 
91
102
  思考级别:`off` → `minimal` → `low` → `medium` → `high` → `xhigh`
92
103
 
104
+ ### 技能相关
105
+
106
+ | 命令 | 说明 |
107
+ |------|------|
108
+ | `/skill:<name>` | 激活指定技能 |
109
+ | `/skills` | 列出所有可用技能 |
110
+
93
111
  ---
94
112
 
95
113
  ## 4. 快捷键
@@ -224,16 +242,71 @@ Skill 是预置的 AI 技能模块,针对特定场景优化。
224
242
 
225
243
  ### 可用 Skills
226
244
 
245
+ #### 代码开发
246
+
227
247
  | Skill | 说明 | 激活方式 |
228
248
  |-------|------|----------|
229
- | code-review | 代码审查 | `/skill:code-review` |
230
- | commit | Git 提交 | `/skill:commit` |
231
- | pr | PR 描述 | `/skill:pr` |
232
- | refactor | 代码重构 | `/skill:refactor` |
233
- | unit-test | 单元测试 | `/skill:unit-test` |
234
- | csv-data-summarizer | CSV 数据分析 | `/skill:csv-data-summarizer` |
235
- | frontend-design | 前端设计 | `/skill:frontend-design` |
236
- | ui-ux-pro-max | UI/UX 设计 | `/skill:ui-ux-pro-max` |
249
+ | `code-review` | 代码审查 | `/skill:code-review` |
250
+ | `refactor` | 代码重构 | `/skill:refactor` |
251
+ | `unit-test` | 单元测试 | `/skill:unit-test` |
252
+ | `test-driven-development` | 测试驱动开发 | `/skill:test-driven-development` |
253
+ | `frontend-design` | 前端设计 | `/skill:frontend-design` |
254
+ | `owasp-security` | OWASP 安全编码 | `/skill:owasp-security` |
255
+
256
+ #### Git 相关
257
+
258
+ | Skill | 说明 | 激活方式 |
259
+ |-------|------|----------|
260
+ | `commit` | Git 提交消息生成 | `/skill:commit` |
261
+ | `using-git-worktrees` | Git Worktree 管理 | `/skill:using-git-worktrees` |
262
+
263
+ #### 数据分析
264
+
265
+ | Skill | 说明 | 激活方式 |
266
+ |-------|------|----------|
267
+ | `csv-data-summarizer` | CSV 数据分析 | `/skill:csv-data-summarizer` |
268
+ | `design-md` | Markdown 设计文档 | `/skill:design-md` |
269
+
270
+ #### UI/UX 设计
271
+
272
+ | Skill | 说明 | 激活方式 |
273
+ |-------|------|----------|
274
+ | `ui-ux-pro-max` | UI/UX 专业设计 | `/skill:ui-ux-pro-max` |
275
+ | `impeccable/*` | 完美界面系列技能 | `/skill:impeccable:polish` 等 |
276
+
277
+ #### 多媒体
278
+
279
+ | Skill | 说明 | 激活方式 |
280
+ |-------|------|----------|
281
+ | `video-generation` | 视频生成 | `/skill:video-generation` |
282
+ | `aliyun-tts` | 阿里云 TTS | `/skill:aliyun-tts` |
283
+ | `xiaomi-tts` | 小米 TTS | `/skill:xiaomi-tts` |
284
+
285
+ #### 写作与内容
286
+
287
+ | Skill | 说明 | 激活方式 |
288
+ |-------|------|----------|
289
+ | `khazix-writer` | 公众号长文写作 | `/skill:khazix-writer` |
290
+ | `hv-analysis` | 横纵分析法深度研究 | `/skill:hv-analysis` |
291
+
292
+ #### 开发流程
293
+
294
+ | Skill | 说明 | 激活方式 |
295
+ |-------|------|----------|
296
+ | `brainstorming` | 头脑风暴 | `/skill:brainstorming` |
297
+ | `writing-plans` | 编写实施计划 | `/skill:writing-plans` |
298
+ | `executing-plans` | 执行计划 | `/skill:executing-plans` |
299
+ | `dispatching-parallel-agents` | 并行任务分发 | `/skill:dispatching-parallel-agents` |
300
+ | `systematic-debugning` | 系统性调试 | `/skill:systematic-debugging` |
301
+ | `verification-before-completion` | 完成前验证 | `/skill:verification-before-completion` |
302
+
303
+ #### 技能管理
304
+
305
+ | Skill | 说明 | 激活方式 |
306
+ |-------|------|----------|
307
+ | `skill-creator` | 创建/编辑技能 | `/skill:skill-creator` |
308
+ | `session-learning` | 会话学习总结 | `/skill:session-learning` |
309
+ | `find-skills` | 查找技能 | `/skill:find-skills` |
237
310
 
238
311
  ### 使用方法
239
312
 
@@ -254,13 +327,11 @@ Prompt 是预置的工作流模板,用于特定任务。
254
327
 
255
328
  | Prompt | 说明 |
256
329
  |--------|------|
257
- | `/bmad-init` | 初始化 BMAD 项目 |
258
330
  | `/init-project` | 初始化新项目 |
259
331
  | `/feat` | 新增功能开发流程 |
260
332
  | `/git-commit` | Git 提交 |
261
- | `/git-rollback` | Git 回滚 |
262
- | `/git-worktree` | Git Worktree 管理 |
263
333
  | `/workflow` | 复杂工作流 |
334
+ | `/code-simplifier` | 代码简化 |
264
335
 
265
336
  ### 使用示例
266
337
 
@@ -273,6 +344,9 @@ Prompt 是预置的工作流模板,用于特定任务。
273
344
 
274
345
  # Git 提交
275
346
  /git-commit
347
+
348
+ # 复杂工作流
349
+ /workflow
276
350
  ```
277
351
 
278
352
  ---
@@ -293,9 +367,11 @@ Prompt 是预置的工作流模板,用于特定任务。
293
367
 
294
368
  | 主题 | 说明 |
295
369
  |------|------|
296
- | dark | 暗色主题 |
297
- | light | 亮色主题 |
298
- | catppuccin-mocha | 猫puccin mocha(推荐) |
370
+ | `catppuccin-mocha` | Catppuccin Mocha 暗色主题(推荐) |
371
+
372
+ ### 自定义主题
373
+
374
+ 主题文件位于 `~/.aicode-cli/agent/themes/`,可自定义颜色和样式。
299
375
 
300
376
  ---
301
377
 
@@ -320,6 +396,12 @@ Prompt 是预置的工作流模板,用于特定任务。
320
396
  2. **先审后改**:重要修改前先让 AI 解释代码
321
397
  3. **备份优先**:关键文件操作前手动备份
322
398
 
399
+ ### Git 工作流
400
+
401
+ 1. **使用 Worktree**:多分支并行开发时使用 Git Worktree
402
+ 2. **规范提交**:使用 `/skill:commit` 生成规范提交消息
403
+ 3. **代码审查**:重要变更使用 `/skill:code-review` 审查
404
+
323
405
  ---
324
406
 
325
407
  ## 10. 故障排除
@@ -328,10 +410,11 @@ Prompt 是预置的工作流模板,用于特定任务。
328
410
 
329
411
  | 问题 | 解决方案 |
330
412
  |------|----------|
331
- | 启动慢 | 检查网络连接 |
332
- | 模型连接失败 | 核对 models.json 配置 |
333
- | 扩展不生效 | 运行 `/reload` 重载 |
413
+ | 启动慢 | 检查网络连接,确认模型 API 可达 |
414
+ | 模型连接失败 | 核对 `models.json` 配置和 API Key |
415
+ | 扩展不生效 | 运行 `/reload` 重载配置 |
334
416
  | Token 溢出 | 使用 `/clear` 清理上下文 |
417
+ | Skills 找不到 | 确认技能已安装到 `~/.aicode-cli/agent/skills/` |
335
418
 
336
419
  ### 详细模式
337
420
 
@@ -339,6 +422,12 @@ Prompt 是预置的工作流模板,用于特定任务。
339
422
  aicode-cli --verbose
340
423
  ```
341
424
 
425
+ ### 查看上下文
426
+
427
+ ```bash
428
+ /context
429
+ ```
430
+
342
431
  ---
343
432
 
344
433
  ## 附录
@@ -347,8 +436,8 @@ aicode-cli --verbose
347
436
 
348
437
  | 变量 | 说明 |
349
438
  |------|------|
350
- | `AICODE_CLI_CONFIG_DIR` | 配置目录 |
351
- | `AICODE_CLI_CODING_AGENT_DIR` | Agent 配置目录 |
439
+ | `AICODE_CLI_CONFIG_DIR` | 配置目录路径 |
440
+ | `AICODE_CLI_CODING_AGENT_DIR` | Agent 配置目录路径 |
352
441
 
353
442
  ### 命令行参数
354
443
 
@@ -359,6 +448,12 @@ aicode-cli --verbose
359
448
  | `--model <name>` | 指定模型 |
360
449
  | `--clear` | 启动时清理会话 |
361
450
 
451
+ ### 相关资源
452
+
453
+ - **项目仓库**: https://github.com/ia-ccun/code-agent-cli
454
+ - **npm 包**: https://www.npmjs.com/package/@ia-ccun/code-agent-cli
455
+ - **pi-coding-agent**: 底层 Agent 框架
456
+
362
457
  ---
363
458
 
364
459
  *世界那么哒 · AI 实践落地 @2026*
@@ -14,6 +14,9 @@
14
14
  "npm:pi-subagents",
15
15
  "npm:pi-rewind",
16
16
  "npm:pi-btw",
17
- "npm:pi-mcp-adapter"
17
+ "npm:pi-mcp-adapter",
18
+ "npm:juicesharp/rpiv-todo",
19
+ "npm:juicesharp/rpiv-ask-user-question",
20
+ "npm:@juicesharp/rpiv-advisor"
18
21
  ]
19
22
  }
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Zara Zhang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,136 @@
1
+ # Frontend Slides
2
+
3
+ A Claude Code skill for creating stunning, animation-rich HTML presentations — from scratch or by converting PowerPoint files.
4
+
5
+ ## What This Does
6
+
7
+ **Frontend Slides** helps non-designers create beautiful web presentations without knowing CSS or JavaScript. It uses a "show, don't tell" approach: instead of asking you to describe your aesthetic preferences in words, it generates visual previews and lets you pick what you like.
8
+
9
+ Here is a deck about the skill, made through the skill:
10
+
11
+ https://github.com/user-attachments/assets/ef57333e-f879-432a-afb9-180388982478
12
+
13
+
14
+ ### Key Features
15
+
16
+ - **Zero Dependencies** — Single HTML files with inline CSS/JS. No npm, no build tools, no frameworks.
17
+ - **Visual Style Discovery** — Can't articulate design preferences? No problem. Pick from generated visual previews.
18
+ - **PPT Conversion** — Convert existing PowerPoint files to web, preserving all images and content.
19
+ - **Anti-AI-Slop** — Curated distinctive styles that avoid generic AI aesthetics (bye-bye, purple gradients on white).
20
+ - **Production Quality** — Accessible, responsive, well-commented code you can customize.
21
+
22
+ ## Installation
23
+
24
+ ### For Claude Code Users
25
+
26
+ Copy the skill files to your Claude Code skills directory:
27
+
28
+ ```bash
29
+ # Create the skill directory
30
+ mkdir -p ~/.claude/skills/frontend-slides/scripts
31
+
32
+ # Copy all files (or clone this repo directly)
33
+ cp SKILL.md STYLE_PRESETS.md viewport-base.css html-template.md animation-patterns.md ~/.claude/skills/frontend-slides/
34
+ cp scripts/extract-pptx.py ~/.claude/skills/frontend-slides/scripts/
35
+ ```
36
+
37
+ Or clone directly:
38
+
39
+ ```bash
40
+ git clone https://github.com/zarazhangrui/frontend-slides.git ~/.claude/skills/frontend-slides
41
+ ```
42
+
43
+ Then use it by typing `/frontend-slides` in Claude Code.
44
+
45
+ ## Usage
46
+
47
+ ### Create a New Presentation
48
+
49
+ ```
50
+ /frontend-slides
51
+
52
+ > "I want to create a pitch deck for my AI startup"
53
+ ```
54
+
55
+ The skill will:
56
+ 1. Ask about your content (slides, messages, images)
57
+ 2. Ask about the feeling you want (impressed? excited? calm?)
58
+ 3. Generate 3 visual style previews for you to compare
59
+ 4. Create the full presentation in your chosen style
60
+ 5. Open it in your browser
61
+
62
+ ### Convert a PowerPoint
63
+
64
+ ```
65
+ /frontend-slides
66
+
67
+ > "Convert my presentation.pptx to a web slideshow"
68
+ ```
69
+
70
+ The skill will:
71
+ 1. Extract all text, images, and notes from your PPT
72
+ 2. Show you the extracted content for confirmation
73
+ 3. Let you pick a visual style
74
+ 4. Generate an HTML presentation with all your original assets
75
+
76
+ ## Included Styles
77
+
78
+ ### Dark Themes
79
+ - **Bold Signal** — Confident, high-impact, vibrant card on dark
80
+ - **Electric Studio** — Clean, professional, split-panel
81
+ - **Creative Voltage** — Energetic, retro-modern, electric blue + neon
82
+ - **Dark Botanical** — Elegant, sophisticated, warm accents
83
+
84
+ ### Light Themes
85
+ - **Notebook Tabs** — Editorial, organized, paper with colorful tabs
86
+ - **Pastel Geometry** — Friendly, approachable, vertical pills
87
+ - **Split Pastel** — Playful, modern, two-color vertical split
88
+ - **Vintage Editorial** — Witty, personality-driven, geometric shapes
89
+
90
+ ### Specialty
91
+ - **Neon Cyber** — Futuristic, particle backgrounds, neon glow
92
+ - **Terminal Green** — Developer-focused, hacker aesthetic
93
+ - **Swiss Modern** — Minimal, Bauhaus-inspired, geometric
94
+ - **Paper & Ink** — Literary, drop caps, pull quotes
95
+
96
+ ## Architecture
97
+
98
+ This skill uses **progressive disclosure** — the main `SKILL.md` is a concise map (~180 lines), with supporting files loaded on-demand only when needed:
99
+
100
+ | File | Purpose | Loaded When |
101
+ |------|---------|-------------|
102
+ | `SKILL.md` | Core workflow and rules | Always (skill invocation) |
103
+ | `STYLE_PRESETS.md` | 12 curated visual presets | Phase 2 (style selection) |
104
+ | `viewport-base.css` | Mandatory responsive CSS | Phase 3 (generation) |
105
+ | `html-template.md` | HTML structure and JS features | Phase 3 (generation) |
106
+ | `animation-patterns.md` | CSS/JS animation reference | Phase 3 (generation) |
107
+ | `scripts/extract-pptx.py` | PPT content extraction | Phase 4 (conversion) |
108
+
109
+ This design follows [OpenAI's harness engineering](https://openai.com/index/harness-engineering/) principle: "give the agent a map, not a 1,000-page instruction manual."
110
+
111
+ ## Philosophy
112
+
113
+ This skill was born from the belief that:
114
+
115
+ 1. **You don't need to be a designer to make beautiful things.** You just need to react to what you see.
116
+
117
+ 2. **Dependencies are debt.** A single HTML file will work in 10 years. A React project from 2019? Good luck.
118
+
119
+ 3. **Generic is forgettable.** Every presentation should feel custom-crafted, not template-generated.
120
+
121
+ 4. **Comments are kindness.** Code should explain itself to future-you (or anyone else who opens it).
122
+
123
+ ## Requirements
124
+
125
+ - [Claude Code](https://claude.ai/claude-code) CLI
126
+ - For PPT conversion: Python with `python-pptx` library
127
+
128
+ ## Credits
129
+
130
+ Created by [@zarazhangrui](https://github.com/zarazhangrui) with Claude Code.
131
+
132
+ Inspired by the "Vibe Coding" philosophy — building beautiful things without being a traditional software engineer.
133
+
134
+ ## License
135
+
136
+ MIT — Use it, modify it, share it.