passed
通过(74)
NanoBanana-PPT-Skills
达成情况:通过op7418-nanobanana-ppt-skillsGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用这个 Skill 把『免费大模型 API 入门』做成 5 页 PPT 图片并生成转场视频。给出逐页 prompt、需要的环境变量/API Key 配置和运行命令。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"15a1f765-a744-4056-8d6f-8d026a24880d"}}
复现:python scripts/eval_skills.py --only op7418-nanobanana-ppt-skills --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only op7418-nanobanana-ppt-skills --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504144/4 项检查通过耗时 31.0s(首字 1.0s)
真实输出摘录(前 700 字):
### 逐页 Prompt
#### 第 1 页 (封面页)
```
画面保持封面的静态构图,中心的3D玻璃环缓慢旋转,内部流动着代表 AI 的蓝色粒子。标题文字"免费大模型 API 入门"采用霓虹紫渐变字体,悬浮在玻璃环上方。副标题"探索 AI 的无限可能"使用电光蓝色,环绕玻璃环一周。背景为深空黑色,点缀着微小的星光粒子,营造科技感。
```
#### 第 2 页 (内容页)
```
画面从封面平滑过渡,玻璃环解构为透明碎片,散落在页面四周。左侧出现一个简洁的蓝色信息框,标题"什么是大模型 API?"使用黑色小字标注。框内文字"大模型 API 是一种通过互联网访问先进 AI 模型的接口,无需本地部署,即可使用强大的自然语言处理能力。"采用白色小字,分两行显示。右侧展示一个抽象的 AI 网络图,由蓝色和紫色线条组成,节点处有微光闪烁。
```
#### 第 3 页 (内容页)
```
画面继续从上一页过渡,信息框移动到页面中央,标题"免费大模型 API 的优势"使用黑色小字标注。框内文字"1. 无需成本:免费提供基础 API 调用额度\n2. 易于使用:简单的 API 调用方式\n3. 高性能:支持实时响应和大规模数据处理"采用白色小字,分三行显示。背景是一个动态的蓝色渐变,模拟数据流动的效果。
```
#### 第 4 页 (数据页)
```
画面从上一页过渡,信息框消失,取而代之的是一个数据可视化图表。图表展示一个上升的蓝色曲线,代表使用免费大模型 API 的用户增长趋势。图表下方标注"用户增长趋势 (2026)",使用黑色小字。背景为深灰色,图表周围有白色网格线…
判定依据(检查项)
- 逐页 prompt
- 说明 API Key 配置
- 给出运行命令
- ≥5 页 · 计数 10
复现:python scripts/eval_skills.py --only op7418-nanobanana-ppt-skills --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 63.3s(首字 0.3s)
真实输出摘录(前 700 字):
下面给出完整的 **“免费大模型 API 入门”** 5 页 PPT 生成流程。
- **风格**:渐变毛玻璃卡片风格(`styles/gradient-glass.md`)
- **分辨率**:2K(2752×1536)
- **视频**:开启转场视频(可灵 AI + FFmpeg)
> ⚠️ 本环境无法直接执行脚本,以下内容仅为**示例命令**与**配置**,请在本地或服务器上按顺序执行。
---
## 1️⃣ 先准备环境变量(`.env`)
在项目根目录(或 `~/.claude/skills/ppt-generator/`)创建 `.env` 文件,内容如下:
```bash
# Google Gemini API Key(必需)
GEMINI_API_KEY=YOUR_GEMINI_API_KEY_HERE
# 可灵 AI API Key(可选,用于视频功能)
KLING_ACCESS_KEY=YOUR_KLING_ACCESS_KEY_HERE
KLING_SECRET_KEY=YOUR_KLING_SECRET_KEY_HERE
```
> **提示**
> - `YOUR_GEMINI_API_KEY_HERE`:在 Google Cloud 控制台创建 Gemini API key。
> - `YOUR_KLING_ACCESS_KEY_HERE` 与 `YOUR_KLING_SECRET_KEY_HERE`:在可灵 AI 控制台获取。
> - 若只想生成图片,可省略可灵相关变量。
---
## 2️⃣ 生成 `s…
判定依据(检查项)
- 逐页 prompt
- 说明 API Key 配置
- 给出运行命令
- ≥5 页 · 计数 5
复现:python scripts/eval_skills.py --only op7418-nanobanana-ppt-skills --models nvidia_oss --out /tmp/skill-eval
algorithmic-art
达成情况:通过anthropics-algorithmic-artGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
创作算法艺术作品『风中的稻田』:输出一个完整可直接打开的 p5.js HTML 文件,使用种子随机(seed)保证可复现,并提供至少 2 个可调参数(例如风力、稻穗密度)。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 188.8s
调用失败原因:模型返回空内容(可能思考耗尽 max_tokens)
复现:python scripts/eval_skills.py --only anthropics-algorithmic-art --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-algorithmic-art --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only anthropics-algorithmic-art --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b5/5 项检查通过耗时 118.8s(首字 0.4s)
真实输出摘录(前 700 字):
**Algorithmic Philosophy – “风中的稻田”**
*(Markdown file: `philosophy.md`)*
```markdown
# 风中的稻田
## 1. 计算的田野
“风中的稻田”是一种将自然的呼吸写进代码的生成艺术运动。它以计算机的离散步进为基础,却追求田野的连续流动。每一次噪声采样都被视为风的脉搏,稻穗的摆动被视为对风的回应。算法不是简单的绘图指令,而是一套自组织的规则,允许稻穗在风的驱动下产生层次分明的波纹。正是这种层层叠叠的噪声与物理约束,让画面在每一次渲染中都显得既熟悉又新奇。
## 2. 噪声与风的对话
核心是多尺度Perlin噪声,它在时间维度上不断演化,模拟风的连续变化。噪声的振幅被风力参数调节,形成从轻柔摇曳到狂风暴雨的幅度范围。每一根稻穗的摆动角度由噪声值与风力相乘得到,随后再通过三角函数映射到屏幕坐标。这样,稻穗的摆动既保持了整体的协同,又保留了局部的随机性。算法的每一次迭代都在细微的扰动中寻找新的平衡点,正如真实稻田在风中不断自我调节。
## 3. 种子与可复现性
种子随机化是“风中的稻田”的灵魂。通过 `randomSeed(seed)` 与 `noiseSeed(seed)` 的双重种子,算法保证了同一组参数与同一种子下的画面完全一致。每一次种子变动都相当于在同一片田野里开启一场新的风暴,观者可以通过种子导航器在不同的风暴之间自由切换。种子不仅是技术手段,更是艺术家与观者之间的桥梁,让每一次观看都成为一次可追溯的旅程。
## 4. 工匠精神的体现
这不是一次随意的噪声实验,而是一次**精…
判定依据(检查项)
- 输出完整 HTML 文档且可解析 · HTML 4867 字符
- 引入 p5.js
- 使用种子随机
- 创建画布
- 使用噪声/流场生成
复现:python scripts/eval_skills.py --only anthropics-algorithmic-art --models nvidia_oss --out /tmp/skill-eval
article-extractor
达成情况:通过michalparkola-article-extractorGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把 https://example.com/posts/free-llm-guide 的正文提取成干净文本保存。给出具体命令和文件命名方式。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"08b18e1e-b15f-4ca7-89dd-2a9bb4b8c6e3"}}
复现:python scripts/eval_skills.py --only michalparkola-article-extractor --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 53.8s(首字 0.7s)
真实输出摘录(前 700 字):
当前环境无法实际执行命令或访问网络,下面给出可直接运行的完整命令流程(按 Skill 的优先级:reader → trafilatura → curl 兜底),以及文件命名规则和验证要点。
## 第一步:检查提取工具是否已安装
```bash
command -v reader || command -v trafilatura
```
若都没有,可先安装(二选一即可):
```bash
# 方案 1(推荐):Mozilla Readability
npm install -g @mozilla/readability-cli
# 方案 2:trafilatura
pip3 install trafilatura
```
## 第二步:提取正文并按标题命名保存(完整脚本)
```bash
ARTICLE_URL="https://example.com/posts/free-llm-guide"
# ---- 选择工具 ----
if command -v reader &> /dev/null; then
TOOL="reader"
elif command -v trafilatura &> /dev/null; then
TOOL="trafilatura"
else
TOOL="fallback"
fi
echo "使用工具: $TOOL"
# ---- 提取正文 + 标题 ----
case $TOOL in
reader)
reader "$ARTICLE_URL" > temp_article.tx…判定依据(检查项)
复现:python scripts/eval_skills.py --only michalparkola-article-extractor --models nvidia --out /tmp/skill-eval
baoyu-article-illustrator
达成情况:通过jimliu-baoyu-article-illustratorGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
为下面这篇文章规划配图(授权直接决定,无需确认):『免费 LLM API 的三个坑:一是限额随时变;二是免费模型会突然下线;三是国内访问延迟不稳定。应对方法是多供应商兜底、每日探测、设置超时重试。』你无法生成图片,请输出需要配图的位置、每张图的 Type × Style 和完整 prompt。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"02922334-fbd6-44b8-9e63-fd3a1aef4637"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-article-illustrator --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only jimliu-baoyu-article-illustrator --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-article-illustrator --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 96.1s(首字 0.5s)
真实输出摘录(前 700 字):
**配图规划(已授权直接决定,无需确认)**
| 序号 | 位置(文章段落/句子) | Type × Style | Prompt 文件名 | Prompt 内容(YAML + 说明) |
|------|---------------------|--------------|---------------|---------------------------|
| 1 | “一是限额随时变” | `infographic × minimal-flat` | `01-infographic-quota-variance.md` | ```yaml<br>---<br>type: infographic<br>style: minimal-flat<br>palette: default<br>aspect: 3:2<br>---<br>**Prompt**<br>Create a clean, minimal‑flat infographic that visualises the “quota variance” pit of free LLM APIs. Show a bar chart or gauge that fluctuates over time, with a red warning icon and a caption “限额随时变”. Use a simple colour palette (black, white, light grey, red accent). Add a small legend explaining “每日限额” and “…
判定依据(检查项)
- 规划 ≥3 处配图 · 计数 4
- 指定 Type
- 指定 Style
- 给出 prompt
复现:python scripts/eval_skills.py --only jimliu-baoyu-article-illustrator --models nvidia_oss --out /tmp/skill-eval
baoyu-cover-image
达成情况:通过jimliu-baoyu-cover-imageGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
为文章《2026 年最值得用的 10 个免费大模型 API》设计封面(授权直接选择,无需确认)。你无法生成图片,请输出 5 个维度的选择(type、palette、rendering、text、mood)和完整的图片生成 prompt。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"c10c07da-22e7-43c7-83b8-c07c1fe7c144"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-cover-image --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.35/5 项检查通过耗时 220.3s(首字 0.4s)
真实输出摘录(前 700 字):
收到,已按你的授权跳过 Step 2 确认环节。按 Skill 要求,先声明本次假设项:
- **Aspect**: 16:9(默认值,未指定)
- **Language**: zh(标题为中文)
- **Font**: clean(补充维度,现代无衬线,适合科技标题)
- **Backend**: 生成时按可用性自动选择(运行时原生 imagegen/GenerateImage 优先,其次唯一已安装后端);本环境无法出图,故只交付维度选择与 prompt
- **偏好配置**:实际执行时会先检查 `EXTEND.md`(项目 > XDG > 用户目录三级路径),本环境无法读取文件,以下按默认偏好处理
---
## 内容分析
- **主题**:2026 年免费大模型 API 推荐榜单(实用向科技测评)
- **调性**:前瞻、专业、实用
- **关键词**:2026、免费、大模型、API、Top 10
- **视觉隐喻**:API = 节点与数据流的连接网络;“10” = 十个发光节点;免费/开放 = 通透的光感与留白
## 五维度选择
| 维度 | 选择 | 理由 |
|------|------|------|
| **Type** | `conceptual` | API 是抽象服务,用发光节点网络做概念化表达,比截图式 scene 更优雅,10 个节点暗合标题中的"10" |
| **Palette** | `cool` | 深蓝/青色系是 AI 与开发者内容的经典语言,传达科技感与可信度,缩略图下辨识度高 |
| **Rendering** | `digi…
判定依据(检查项)
- 选择 type
- 选择 palette
- 选择 rendering
- 选择 mood
- 给出 prompt
复现:python scripts/eval_skills.py --only jimliu-baoyu-cover-image --models nvidia --out /tmp/skill-eval
baoyu-infographic
达成情况:通过jimliu-baoyu-infographicGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把下面的内容做成一张信息图(我授权你直接选择布局和风格,不必再确认):『国内免费 LLM API 对比:魔搭每日 2000 次;智谱 GLM-4-Flash 永久免费;硅基流动部分 9B 以下模型免费;Groq 有每分钟限额;OpenRouter 免费模型每天约 50 次。』你无法生成图片,请输出所选 layout、style、结构化内容和完整的图片生成 prompt。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"66266065-b7df-4449-8831-b86ebf5a8839"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-infographic --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only jimliu-baoyu-infographic --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504144/4 项检查通过耗时 11.8s(首字 1.0s)
真实输出摘录(前 700 字):
好的,根据您的要求,我将直接选择布局和风格,并生成信息图的结构化内容和图片生成 prompt。以下是所选的 layout 和 style:
- **Layout**: `comparison-matrix`
- **Style**: `corporate-memphis`
### 结构化内容
```markdown
# 国内免费 LLM API 对比
## 学习目标
- 了解国内主要免费 LLM API 的使用限制和特点。
- 对比不同 API 的免费额度和使用条款。
## 内容结构
### 1. 标题
国内免费 LLM API 对比
### 2. 数据点
- **魔搭每日 2000 次**
- **智谱 GLM-4-Flash 永久免费**
- **硅基流动部分 9B 以下模型免费**
- **Groq 有每分钟限额**
- **OpenRouter 免费模型每天约 50 次**
### 3. 设计指令
- 使用清晰、简洁的图表展示对比。
- 使用图标和颜色区分不同的 API。
- 保持整体风格一致,便于阅读和理解。
```
### 图片生成 Prompt
```markdown
# Prompt for Infographic Generation
## Layout: comparison-matrix
- Description: A comparison matrix layout to display the features and limitations of different LLM APIs.
## Style: corporate…
判定依据(检查项)
- 选择 Skill 内置 layout
- 选择 Skill 内置 style
- 给出图片生成 prompt
- 保留原始数据
复现:python scripts/eval_skills.py --only jimliu-baoyu-infographic --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 30.5s(首字 0.3s)
真实输出摘录(前 700 字):
**所选布局与风格**
- **布局**:`bento-grid`(信息图默认布局)
- **风格**:`craft-handmade`(手绘、纸工风格)
---
## 结构化内容(`structured-content.md`)
```markdown
# 国内免费 LLM API 对比
## 学习目标
- 了解国内主要免费 LLM API 的调用限制与可用模型
- 能快速判断哪款 API 更适合日常使用
## 1. 魔搭每日
- **调用次数**:2000 次/日
- **可用模型**:多模型(含 9B 及以下)
- **备注**:每日限额,适合短期实验
## 2. 智谱 GLM-4-Flash
- **调用次数**:永久免费
- **可用模型**:GLM‑4‑Flash(大模型)
- **备注**:无调用次数限制,适合持续使用
## 3. 硅基流动
- **调用次数**:不限制
- **可用模型**:9B 以下模型免费
- **备注**:适合中小规模模型需求
## 4. Groq
- **调用次数**:每分钟限额
- **可用模型**:多模型(含 9B 以上)
- **备注**:适合高并发场景
## 5. OpenRouter
- **调用次数**:约 50 次/日
- **可用模型**:免费模型集合
- **备注**:每日调用次数有限,适合轻量使用
## 视觉元素建议
- 每个 API 用一个卡片(矩形)展示
- 卡片内部使用简洁图标(如云、齿轮、时钟)
- 颜色…
判定依据(检查项)
- 选择 Skill 内置 layout
- 选择 Skill 内置 style
- 给出图片生成 prompt
- 保留原始数据
复现:python scripts/eval_skills.py --only jimliu-baoyu-infographic --models nvidia_oss --out /tmp/skill-eval
baoyu-markdown-to-html
达成情况:通过jimliu-baoyu-markdown-to-htmlGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我有 article.md(含代码块和 LaTeX 公式),想转成微信公众号可用的 HTML,用 grace 主题,并把外链转为文末引用。给出具体命令和说明。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"24e63445-c3b9-4774-b34f-08064f2f7101"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-markdown-to-html --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 61.6s(首字 1.1s)
真实输出摘录(前 700 字):
下面按该 Skill 的流程给出具体操作。由于当前环境无法执行命令,我给出你需要运行的命令和验证要点。
## 前置确认
- **主题**:你已明确指定 `grace`,无需再询问。
- **引用模式**:你明确要求"外链转文末引用",对应 `--cite` 参数(默认关闭,仅在明确要求时开启)。
## 可选预处理(Step 0)
你的文章面向微信公众号,大概率包含中文。如果存在以下情况,建议先用 `baoyu-format-markdown` 技能格式化一遍(可修复标点在 `**` 内导致的加粗解析失败、中英文间距等问题):
- 加粗标记内含标点(如 `**“引用”**`)解析异常
- 中英文之间缺少空格
如不需要,直接用原文件即可。
## 转换命令
`{baseDir}` 为本 Skill 的 `SKILL.md` 所在目录;运行时按以下规则解析 `${BUN_X}`:装了 `bun` 用 `bun`,否则用 `npx -y bun`。
```bash
# 方式一:已安装 bun
bun {baseDir}/scripts/main.ts article.md --theme grace --cite
# 方式二:仅有 npx
npx -y bun {baseDir}/scripts/main.ts article.md --theme grace --cite
```
## 参数说明
| 参数 | 作用 |
|------|------|
| `--theme grace` | 优雅主题:文字阴影、圆角卡片、精致引用块样式 |
| `--cite`…判定依据(检查项)
- 使用 scripts/main.ts
- 指定 grace 主题
- 使用 --cite 生成文末引用
- 以 article.md 为输入
复现:python scripts/eval_skills.py --only jimliu-baoyu-markdown-to-html --models nvidia --out /tmp/skill-eval
baoyu-post-to-wechat
达成情况:通过jimliu-baoyu-post-to-wechatGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把 article.md 发布到我的微信公众号草稿箱,走 API 方式。给出需要准备的凭证/配置、具体命令和步骤。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"ae8e5f92-e387-4fb1-8bc4-9427340dae17"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-post-to-wechat --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 206.0s(首字 0.4s)
真实输出摘录(前 700 字):
# 发布 article.md 到微信公众号草稿箱(API 方式)
API 方式调用的是 `draft/add` 接口,**只存草稿、不会群发**,正好符合你的需求。以下是完整的准备清单和步骤(当前环境无法替你执行,请按命令实际运行;`{baseDir}` 指 SKILL.md 所在目录,请替换为实际路径)。
---
## 一、需要准备的凭证与配置
### 1. Bun 运行时
```bash
bun --version
```
- 未安装:`brew install oven-sh/bun/bun`(macOS)或 `npm install -g bun`
- 或用 `npx -y bun` 替代下文所有 `bun` 命令
### 2. API 凭证(AppID / AppSecret)
在公众号后台 **「设置与开发 → 基本配置 → 公众号开发信息」** 获取:
- **AppID**
- **AppSecret**(查看需管理员扫码验证)
凭证写入项目根目录的 `.baoyu-skills/.env`(键名以 `references/api-setup.md` 引导为准,通常为):
```bash
WECHAT_APP_ID=你的AppID
WECHAT_APP_SECRET=你的AppSecret
```
### 3. IP 白名单(最容易卡住的一步)
微信 API 只允许白名单内的 IP 调用:
```bash
curl -s https://api.ipify.org # 查本地公网 IP
```
将该 IP 添加到 **「基本配置 → IP 白…判定依据(检查项)
- 使用 scripts/wechat-api.ts
- 说明 AppID/AppSecret 凭证
- 发布为草稿
- 提醒 IP 白名单
复现:python scripts/eval_skills.py --only jimliu-baoyu-post-to-wechat --models nvidia --out /tmp/skill-eval
baoyu-post-to-x
达成情况:通过jimliu-baoyu-post-to-xGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
帮我在 X 上发一条带两张图片的帖子:文字『FreeLLM 今日更新:新增 2 个免费模型』,图片 ./a.png 和 ./b.png。给出具体命令。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"9c0306f6-fcb7-466b-9cf7-b6f14d720468"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-post-to-x --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 194.4s(首字 2.4s)
真实输出摘录(前 700 字):
当前环境无法直接执行命令,下面是我会执行的具体命令和验证要点。
## 主命令(CDP 脚本模式)
```bash
bun {baseDir}/scripts/x-browser.ts "FreeLLM 今日更新:新增 2 个免费模型" --image ./a.png --image ./b.png
```
- `{baseDir}` 替换为本 Skill 目录(SKILL.md 所在目录),脚本在其 `scripts/` 子目录下
- 运行时选择:已安装 `bun` → 用 `bun`;只有 `npx` → 用 `npx -y bun` 替换,即:
```bash
npx -y bun {baseDir}/scripts/x-browser.ts "FreeLLM 今日更新:新增 2 个免费模型" --image ./a.png --image ./b.png
```
- `--image` 可重复传参,最多 4 张,这里 2 张没问题
## 执行后验证
- Chrome 打开了 `https://x.com/compose/post`,文字已填入编辑框
- 两张图片的缩略图都已出现,且上传进度完成(无残留进度条)
- 脚本默认只填充内容,**发布需要你人工审核后手动点击 Post**(未经你明确确认,不会使用 `--submit` 自动发布)
## 若报 `Chrome debug port not ready`
先清理已有 CDP 实例再重试原命令:
```bash
pkill -f "Chrome.*remote-debugging-port" 2>/…判定依据(检查项)
- 使用 x-browser.ts
- 使用 --image 参数
- 附带两张图片
复现:python scripts/eval_skills.py --only jimliu-baoyu-post-to-x --models nvidia --out /tmp/skill-eval
baoyu-slide-deck
达成情况:通过jimliu-baoyu-slide-deckGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把下面内容做成 6 页幻灯片图片的大纲(授权直接决定风格,无需确认):『FreeLLM 是一个每日核验的免费 AI 模型目录,收录 80+ 模型、20+ 平台,提供实测分数、可用性探测和 Skill 实测。』你无法生成图片,请输出带风格说明的逐页大纲和每页图片 prompt。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"569de98d-3418-414f-80e5-92a69096a912"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-slide-deck --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only jimliu-baoyu-slide-deck --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504143/3 项检查通过耗时 20.0s(首字 1.8s)
真实输出摘录(前 700 字):
好的,根据您提供的内容和授权直接决定风格的要求,我将为您创建一个包含6页幻灯片的大纲,每页幻灯片将附带风格说明和对应的图片prompt。由于您无法生成图片,我将只提供文本内容。
### 幻灯片大纲
#### 幻灯片 1: 封面
- **标题**: FreeLLM - 每日核验的免费 AI 模型目录
- **副标题**: 探索80+模型和20+平台
- **风格说明**: 简洁、现代、科技感
- **图片prompt**: 现代科技风格的背景,中央放置FreeLLM的Logo,下方显示副标题
#### 幻灯片 2: 目录介绍
- **标题**: 目录概览
- **内容**: FreeLLM收录80+模型、20+平台,提供实测分数、可用性探测和Skill实测
- **风格说明**: 清晰、信息密集、专业
- **图片prompt**: 网格布局展示80+模型和20+平台的图标,每个图标下方显示实测分数
#### 幻灯片 3: 模型实测分数
- **标题**: 模型实测分数
- **内容**: 展示不同模型的实测分数,按分数高低排序
- **风格说明**: 数据可视化、清晰、对比强烈
- **图片prompt**: 柱状图展示不同模型的实测分数,每个柱状图上方显示模型名称
#### 幻灯片 4: 平台可用性探测
- **标题**: 平台可用性探测
- **内容**: 展示不同平台的可用性探测结果
- **风格说明**: 清晰、信息密集、专业
- **图片prompt**: 表格形式展示不同平台的可用性探测结果,包括平台名称、可用性状态
#### 幻灯片 5: Skill…
判定依据(检查项)
- 逐页大纲(≥5 页) · 计数 13
- 包含风格说明
- 包含图片 prompt
复现:python scripts/eval_skills.py --only jimliu-baoyu-slide-deck --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b3/3 项检查通过耗时 204.1s(首字 0.8s)
真实输出摘录(前 700 字):
**已授权直接决定风格,无需确认。**
下面给出 6 页幻灯片的大纲(含标题、类型、布局)以及每页对应的图片 Prompt(已写入 `prompts/NN-slide-{slug}.md` 的内容)。
> **注意**:本技能无法直接生成图片,以下仅为 Prompt 记录,后续请使用您已配置的图像生成后端自行渲染。
---
## 6 页幻灯片大纲
| # | 标题 | 类型 | 布局 |
|---|------|------|------|
| 1 | FreeLLM 目录 | 标题 | 标题页 |
| 2 | FreeLLM 是什么? | 内容 | 标题+正文 |
| 3 | 目录范围 | 内容 | 标题+列表 |
| 4 | 评估指标 | 内容 | 标题+列表 |
| 5 | Skill 实测 | 内容 | 标题+步骤 |
| 6 | 结语与行动呼吁 | 内容 | 标题+号召 |
> **风格**:自动匹配 → `blueprint`(grid + cool + technical + balanced)
> **受众**:一般技术读者(`general`)
> **语言**:中文(`zh`)
---
## 每页图片 Prompt
> **文件命名规则**:`NN-slide-{slug}.md`(`NN` 为两位序号,`slug` 为标题的 kebab‑case 形式)
> **前置元信息**:`style`, `audience`, `lang`, `slide_number`, `slug`
> **风格说明**:在 Prompt…判定依据(检查项)
- 逐页大纲(≥5 页) · 计数 12
- 包含风格说明
- 包含图片 prompt
复现:python scripts/eval_skills.py --only jimliu-baoyu-slide-deck --models nvidia_oss --out /tmp/skill-eval
baoyu-url-to-markdown
达成情况:通过jimliu-baoyu-url-to-markdownGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把 https://example.com/blog/post-1 抓取成 markdown 保存下来。给出具体命令、输出文件位置约定,以及遇到登录/验证码时怎么处理。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"dff6b0ad-a21a-4c5a-80c2-cc32b1661e78"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-url-to-markdown --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 137.1s(首字 2.1s)
真实输出摘录(前 700 字):
# 抓取 https://example.com/blog/post-1 的完整方案
当前环境无法直接执行命令,以下是我会依次执行的具体命令和验证内容。`{baseDir}` 指 SKILL.md 所在目录。
## 第 0 步:检查偏好配置(EXTEND.md)
按优先级查找,找到第一个即用:
```bash
for p in \
".baoyu-skills/baoyu-url-to-markdown/EXTEND.md" \
"${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-url-to-markdown/EXTEND.md" \
"$HOME/.baoyu-skills/baoyu-url-to-markdown/EXTEND.md"; do
[ -f "$p" ] && { echo "FOUND: $p"; cat "$p"; break; }
done
```
**若三个路径都没找到**,按 Skill 要求必须先完成首次配置(阻塞性,不允许静默使用默认值)。请一次性回答以下三题(回复编号即可):
1. **媒体处理**:页面中的图片/视频如何处理?
- 1. 每次询问(推荐)
- 2. 总是下载 — 保存到本地 `imgs/` 和 `videos/`
- 3. 从不下载 — 保留远程 URL
2. **输出目录**:默认输出到哪?
- 1. `url-to-markdown`(推荐)— `./url-to-markdown/{domain}/{slug}.…判定依据(检查项)
- 使用 baoyu-fetch
- 目标 URL 正确
- 输出 markdown 文件
- 说明登录/验证码等待模式
复现:python scripts/eval_skills.py --only jimliu-baoyu-url-to-markdown --models nvidia --out /tmp/skill-eval
baoyu-xhs-images
达成情况:通过jimliu-baoyu-xhs-imagesGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把这段内容做成小红书图文卡片系列(授权直接选择,无需确认):『新手免费用大模型 API 的 5 个步骤:注册魔搭、实名认证、获取 Token、在 Cherry Studio 填写 base_url、测试对话。』你无法生成图片,请输出所选 style、layout、每张卡片的文字与图片 prompt。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"f546a6c8-9b5f-4ab4-89cc-99f81af984f2"}}
复现:python scripts/eval_skills.py --only jimliu-baoyu-xhs-images --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 389.1s(首字 0.7s)
真实输出摘录(前 700 字):
收到。你已明确授权跳过确认(等效 `--yes`),且当前环境无法读写文件、无法生成图片——因此我不会声称已保存文件或已出图,以下以**内联形式**给出全部产物:方案声明、分析、大纲、7 张卡片的文字与完整 prompt,以及后续可执行的生成指引。
> 说明:本环境无法读取 EXTEND.md,按 `--yes` 路径使用内置默认值(无水印、语言跟随内容=中文、风格自动匹配)。
---
## 🎨 采用方案(自动匹配,按授权直接选定)
```
策略:B 信息密度型(教程类内容,价值优先)
风格:chalkboard(黑板粉笔手绘,教学感强)
布局:flow(封面 sparse · 5 张步骤卡 balanced · 结尾 flow 回顾)
配色:默认(深黑黑板 + 白/黄/粉/蓝/绿彩色粉笔)
预设:tutorial(chalkboard + flow,匹配"教程步骤、操作流程")
图片:7 张 · 3:4 竖版 · 中文 · 无水印
后端:当前环境无图片生成能力 → 按你的要求仅输出 prompt(可粘贴到任意出图后端)
目录:image-cards/free-llm-api/
```
---
## 📋 内容分析(analysis.md 内容)
- **主题**:新手 5 步免费用大模型 API(魔搭社区 × Cherry Studio)
- **类型**:教程 / 操作流程 | **语言**:中文
- **Hook 潜力**:高(“免费 + 大模型 + 新手”强需求组合)
- **受众**:AI 新手、学生、想零成本体验大模型 API 的用户
- **互动信号*…
判定依据(检查项)
- 选择 Skill 内置 style
- 选择 Skill 内置 layout
- ≥3 张卡片 · 计数 7
- 给出图片 prompt
复现:python scripts/eval_skills.py --only jimliu-baoyu-xhs-images --models nvidia --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我想给我的免费 AI 模型目录网站加一个『模型对比』功能。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash3/3 项检查通过耗时 23.3s(首字 2.5s)
真实输出摘录(前 700 字):
我先按流程来:这是一个新功能(创意性工作),所以我不会直接动手写代码——先和你一起把意图和设计搞清楚,等你点头后才进入实现。
**先做路径分类。** 我倾向把「模型对比」判为 **architectural(架构级)**,理由是它更像一个**新增子系统**而不是对现有流程的小改:涉及新的对比视图/页面、选中状态管理、可对比字段的数据建模、可能还有可分享的对比 URL 等一整套新交互面。按 skill 的规则"犹豫时走重的那条路",我不会草率地降级成 bounded。
不过有两点会直接影响分类,而且**我在当前环境里无法读取你的仓库、跑命令或访问网络**,所以需要你补充信息,而不是我假装已经看过代码:
- 如果网站里**已经存在**"模型列表 → 模型详情/卡片"这条流程,且对比只是复用它的数据加一个小视图,那它可以降为 **bounded**(我会在聊天里给一个简短设计,不写 spec 文档)。
- 如果对比是**全新的一条用户流程**(bounded 的定义是"要改的流程已经在仓库里能读到",而新流程不在),那它就是 **architectural**,我会走完整流程:澄清问题 → 2-3 个方案 → 分段设计 → 写 spec → 再进入写实现计划。
**我的第一个问题(一次只问一个):**
能否先描述一下网站现状,让我把上下文补上——具体是:
1. 技术栈是什么(比如 Next.js / Astro / 纯静态 HTML / 其他)?
2. 模型数据从哪来(本地 JSON/Markdown 文件、CMS、还是某个 API)?
3. 现有的"模型列表/详情"页大…
判定依据(检查项)
- 向用户提问以澄清需求 · 计数 3
- 一次只问少量问题(≤3 个问号) · 计数 3
- 未在设计确认前直接写实现代码
复现:python scripts/eval_skills.py --only obra-brainstorming --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 140.6s(首字 1.8s)
真实输出摘录(前 700 字):
好的,先做分类并说出口:**这看起来是 architectural 路径**。理由:『模型对比』是一个全新的功能流程——你的网站上目前没有对比流程可以“改”,它需要新的交互(选中模型)、新的展示(对比视图)、可能还有新的路由和状态管理,这超出了“加个开关 / 改一个文件”的 bounded 范围。如果你觉得这个功能其实很小,可以直接推翻我,你来定。
按 architectural 路径,我们会这样走:
1. 了解项目现状
2. 逐个澄清需求(一次只问一个问题)
3. 提出 2-3 个方案及权衡,给出我的推荐
4. 分段确认设计
5. 写设计文档 → 你审阅通过 → 再进入实现计划
(这个功能在 architectural 里算中等规模,后面的设计文档不会很长,别被流程吓到。)
**第一步:了解项目现状。** 我在当前环境里无法直接读取你的仓库,正常流程下我会先跑这些命令来摸清结构:
```bash
ls -la # 项目根目录结构
cat package.json # 技术栈和依赖
git log --oneline -15 # 最近的开发方向
find src -type f | head -50 # 页面/组件的组织方式
grep -ril "model" src | head # 模型数据的定义位置和来源
```
我重点想确认三件事:技术栈、每个模型的数据结构(有哪些字段)、列表页/详情页目前是怎么组织的。
**第一个问题:*…
判定依据(检查项)
- 向用户提问以澄清需求 · 计数 1
- 一次只问少量问题(≤3 个问号) · 计数 1
- 未在设计确认前直接写实现代码
复现:python scripts/eval_skills.py --only obra-brainstorming --models nvidia --out /tmp/skill-eval
brand-guidelines
达成情况:通过anthropics-brand-guidelinesGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把下面这段季度汇报页面按 Anthropic 官方品牌规范改造,输出改造后的完整 CSS(含颜色变量与字体)并说明标题和正文分别用什么字体:
<h1>Q3 汇报</h1><p>收入同比增长 18%。</p><button>查看详情</button>
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash5/5 项检查通过耗时 42.4s(首字 2.6s)
真实输出摘录(前 700 字):
下面是按 Anthropic 官方品牌规范改造后的完整 CSS。核心结论先说:**标题用 Poppins(回退 Arial),正文用 Lora(回退 Georgia)**,按钮属于 UI 控件而非正文,标签文字同样用 Poppins。
## 一、字体分配
| 元素 | 字体 | 回退 | 说明 |
|---|---|---|---|
| `h1`(Q3 汇报) | **Poppins** | Arial, Helvetica, sans-serif | 40px ≫ 24pt(32px) 阈值,属标题层级 |
| `p`(收入同比增长…) | **Lora** | Georgia, serif | 正文语义,用人文衬线 |
| `button`(查看详情) | **Poppins** | Arial | 非正文,是控件标签,与标题同族更统一 |
规范里 "24pt 及以上标题用 Poppins、正文用 Lora" 是按语义+字号双重判断;`24pt = 32px`(96dpi 下按 4/3 换算),本页 `h1` 设为 `2.5rem = 40px`,稳稳落在 Poppins 区间。
## 二、完整 CSS
```css
/* ============================================================
Anthropic Brand Styling — Q3 汇报页
============================================================ */
:root {…判定依据(检查项)
- 使用品牌深色 #141413
- 使用品牌浅色 #faf9f5
- 使用品牌强调色 #d97757
- 标题字体 Poppins
- 正文字体 Lora
复现:python scripts/eval_skills.py --only anthropics-brand-guidelines --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.35/5 项检查通过耗时 66.0s(首字 0.9s)
真实输出摘录(前 700 字):
# Anthropic 品牌规范改造
## 完整 CSS
```css
/* ============================================
Anthropic 品牌规范 · 季度汇报页面
============================================ */
/* ---------- 品牌颜色变量 ---------- */
:root {
/* 主色 */
--anthropic-dark: #141413; /* 主文字 / 深色背景 */
--anthropic-light: #faf9f5; /* 浅色背景 / 深底上的文字 */
--anthropic-mid-gray: #b0aea5; /* 次要元素 */
--anthropic-light-gray: #e8e6dc; /* 细腻背景 */
/* 强调色 */
--anthropic-orange: #d97757; /* 主强调色 */
--anthropic-blue: #6a9bcc; /* 次强调色 */
--anthropic-green: #788c5d; /* 第三强调色 */
/* 字体栈(含回退) */
--font-heading: "Poppins", Arial, sans-serif;
--font-body: "Lora", Georgia, serif;
}
/* ---------…判定依据(检查项)
- 使用品牌深色 #141413
- 使用品牌浅色 #faf9f5
- 使用品牌强调色 #d97757
- 标题字体 Poppins
- 正文字体 Lora
复现:python scripts/eval_skills.py --only anthropics-brand-guidelines --models nvidia --out /tmp/skill-eval
canvas-design
达成情况:通过anthropics-canvas-designGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
为主题『城市夜跑』创作一张海报:先写出你的设计哲学(design philosophy,一段说明),再给出能直接生成 poster.png 的完整代码(Python + Pillow 或 HTML canvas 均可)。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 122.2s
调用失败原因:模型返回空内容(可能思考耗尽 max_tokens)
复现:python scripts/eval_skills.py --only anthropics-canvas-design --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-canvas-design --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504144/4 项检查通过耗时 20.6s(首字 1.4s)
真实输出摘录(前 700 字):
### 设计哲学 (Design Philosophy)
**名称 (Name):** "霓虹都市夜语" (Neon Urban Night Whisper)
**哲学阐述 (Philosophy Statement):**
在"霓虹都市夜语"中,我们探索城市夜晚的神秘与活力。空间与形式通过动态的线条和几何形状展现城市的轮廓,色彩以霓虹灯的鲜艳色调为主,如深蓝、亮粉和翠绿,反映夜晚都市的繁华。材质上,我们运用对比强烈的明暗效果,模拟都市夜景的光影交错。尺度与节奏上,通过重复的几何图案和流动的线条,营造出夜晚行走的韵律感。构图与平衡上,强调不对称的视觉张力,以突出都市夜晚的独特氛围。视觉层次上,通过前景、中景和远景的巧妙安排,引导观者仿佛置身于夜跑的路径中。整个设计强调手工制作的精细与深度,每一笔每一划都凝聚着艺术家的心血,仿佛是都市夜晚的无声诗篇,等待着跑者的脚步去解读。
---
### 生成海报的 Python 代码 (Python Code with Pillow)
```python
from PIL import Image, ImageDraw, ImageFont
import numpy as np
# 创建图像
width, height = 800, 1200
image = Image.new('RGB', (width, height), color = (10, 10, 20))
draw = ImageDraw.Draw(image)
# 添加霓虹效果的颜色
neon_colors = {
'blue': (0, 150, 25…判定依据(检查项)
- 先写出设计哲学
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 能输出 PNG
- 输出不少于 800 字符 · 2071 字符
复现:python scripts/eval_skills.py --only anthropics-canvas-design --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 169.8s(首字 0.5s)
真实输出摘录(前 700 字):
**设计哲学(`Neon Pulse.md`)**
```markdown
# Neon Pulse
Neon Pulse 是一种捕捉城市夜晚动感的视觉语言,光线化为节奏,城市化为运动的舞台。它将街灯的短暂辉光转化为结构化的构图,仿佛城市本身在呼吸,充满活力。
空间与形式通过一系列垂直线条构成的摩天大楼骨架与斜向路径相互交织,暗示运动轨迹。负空间被刻意留白,像午夜的城市一样呼吸。每一元素都以匠心独运的精准摆放,构图显得精雕细琢,体现出深厚的专业素养与细致入微的关注。
色彩与材质选用深靛、炫蓝与暖琥珀,层叠透明度营造深度。霓虹边缘以柔和光晕呈现,仿佛灯管发光。此色彩系统是作品的脉搏,呈现方式与手工雕塑同样精细,体现出对细节的极致追求。
尺度与节奏以宏大形式与重复几何图形定义,呼应脚步节拍。跑者剪影占据前景,比例宏大,主导视线;天际线则在远方渐隐。节奏通过形状的重复实现,每一次迭代都是对细致工艺的再现。
最终作品是对专业工艺的致敬。每一像素都是精心选择,每一条线都是劳作的结晶。文字极简,仅一短语作为视觉锚点,融入构图而非叙事。作品仿佛由大师亲手锻造,细致对齐、色彩校准与视觉层级皆达到无可挑剔的水平,可在博物馆展出,彰显视觉表达与匠心的力量。
```
---
**生成海报的完整 Python 代码(使用 Pillow)**
```python
# poster_generator.py
# 运行此脚本将生成名为 poster.png 的城市夜跑主题海报
# 依赖 Pillow 库,请确保已安装:pip install pillow
from PIL import…
判定依据(检查项)
- 先写出设计哲学
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 能输出 PNG
- 输出不少于 800 字符 · 4111 字符
复现:python scripts/eval_skills.py --only anthropics-canvas-design --models nvidia_oss --out /tmp/skill-eval
changelog-generator
达成情况:通过composiohq-changelog-generatorGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
根据这些提交生成面向用户的更新日志:
feat: 新增 Skill 实测页面
fix: 修复搜索框中文输入法回车误提交
chore: bump deps
refactor: 拆分 build_static.py
feat(models): 模型页显示首 token 延迟
fix: 修复暗色模式下按钮不可见
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"0fa32e8c-5d92-4b52-aea2-44d6748ec906"}}
复现:python scripts/eval_skills.py --only composiohq-changelog-generator --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/4 项检查通过耗时 28.2s(首字 1.4s)人工复核:“chore:” 只出现在“已过滤的内部提交”说明表中;更新日志正文已排除 chore/refactor 两条内部提交。
真实输出摘录(前 700 字):
以下是根据提交记录生成的面向用户的更新日志:
---
# 更新日志
## ✨ 新功能
- **Skill 实测页面**:新增在线实测页面,可以直接试用 Skill 并快速查看运行效果,无需自行搭建环境。
- **模型响应速度参考**:模型页新增「首 token 延迟」指标,挑选模型时可以直观对比不同模型的响应快慢。
## 🐛 问题修复
- 修复了在搜索框使用中文输入法时,选词按回车会误触发搜索的问题。
- 修复了暗色模式下部分按钮不可见的问题。
---
### 处理说明
**已过滤的内部提交**(对用户无感知,按最佳实践不写入用户日志):
| 提交 | 过滤原因 |
|------|----------|
| `chore: bump deps` | 依赖版本升级,无用户可见变化 |
| `refactor: 拆分 build_static.py` | 内部构建脚本重构,不影响功能 |
**技术 → 用户语言的转换要点**:
- 「中文输入法回车误提交」→ 转换为用户实际遇到的场景描述(“选词按回车会误触发搜索”),而非实现细节(如 `compositionstart`/`compositionend` 事件)
- 「首 token 延迟」→ 保留术语但补充了用途说明(“对比响应快慢”),让非技术用户也能理解价值
### 发布前建议
1. **核对功能描述**:实测页面的具体能力(如是否需要登录、支持哪些 Skill)建议根据实际产品情况补充
2. **保存归档**:确认无误后可直接追加到 `CHANGELOG.md` 或用于发布公告
如果你有版…
判定依据(检查项)
- 新功能分组
- 修复分组
- 过滤掉内部提交 · 命中:chore:
- 包含用户可感知的改动
复现:python scripts/eval_skills.py --only composiohq-changelog-generator --models nvidia --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 Python Anthropic SDK 写一个示例:流式输出回答,同时定义一个 get_weather 工具并处理 tool_use 回合。模型使用 Skill 中推荐的当前模型 id。给出完整代码。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"aeaf3824-f542-4146-a5f5-0905b35bb56b"}}
复现:python scripts/eval_skills.py --only anthropics-claude-api --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-claude-api --models nvidia --out /tmp/skill-eval
部分通过智谱 BigModelglm-4-flash-2504145/6 项检查通过耗时 17.8s(首字 4.8s)
真实输出摘录(前 700 字):
```python
from anthropic import Anthropic
client = Anthropic(api_key="YOUR_API_KEY")
def get_weather(tool_use, content):
# Replace with your actual tool use logic
return {"type": "tool_use", "name": "get_weather", "content": content}
def main():
system_prompt = """
You are a helpful assistant that can retrieve weather information for any location. Use the `get_weather` tool to fetch the latest weather data.
"""
user_message = "What's the weather in London?"
response = client.beta.messages.stream(
model="claude-opus-5-5", max_tokens=4096, tools=[{"type": "get_weather"}], system=system_prompt, user=user_message
)
for chunk in response:…判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 创建 Anthropic 客户端
- 使用流式
- 定义工具
- 处理 tool_use
- 使用 Claude 模型 id
复现:python scripts/eval_skills.py --only anthropics-claude-api --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b6/6 项检查通过耗时 91.8s(首字 0.8s)
真实输出摘录(前 700 字):
下面给出一个完整的 **Python** 示例,演示如何:
1. 通过 **Anthropic SDK** 调用 Claude Opus 5.5
2. 在请求中声明一个自定义工具 `get_weather`
3. 以 **流式** 的方式打印模型的回答
4. 当模型返回 `tool_use` 时,调用本地实现的 `get_weather` 并把结果返回给模型,完成一次完整的工具调用循环
> **注意**
> - 代码使用的是 **官方 Python SDK 1.x**(`anthropic` 包)。
> - 需要先在环境里安装 SDK:`pip install anthropic`。
> - 代码示例仅演示单轮对话;若需要多轮对话,只需把 `messages` 继续追加即可。
```python
# -*- coding: utf-8 -*-
"""
示例:使用 Anthropic Python SDK 调用 Claude Opus 5.5,流式输出回答,
并在模型需要时调用自定义工具 get_weather。
"""
import json
from typing import Dict
import anthropic
from anthropic import Anthropic, MessageParam, ToolParam
from anthropic.types import (
ContentBlockDeltaEvent,
ToolUseEvent,
ToolResultBlockParam,…判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 创建 Anthropic 客户端
- 使用流式
- 定义工具
- 处理 tool_use
- 使用 Claude 模型 id
复现:python scripts/eval_skills.py --only anthropics-claude-api --models nvidia_oss --out /tmp/skill-eval
content-research-writer
达成情况:通过composiohq-content-research-writerGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
帮我写一篇文章的开头和大纲:《为什么开发者应该关注免费 LLM API 的稳定性》,目标读者是独立开发者。要有吸引人的开头、带引用标注的论据。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"03e813a0-0ec7-426d-9a1d-c9c608184550"}}
复现:python scripts/eval_skills.py --only composiohq-content-research-writer --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 182.4s(首字 0.4s)
真实输出摘录(前 700 字):
收到。目标读者(独立开发者)、主题、交付物(开头 + 带引用标注的大纲)都清楚了,我直接交付第一版,末尾留几个迭代问题给你。
先给你建议的写作环境命令(在你本地执行):
```bash
mkdir -p ~/writing/free-llm-api-stability
cd ~/writing/free-llm-api-stability
touch article-draft.md outline.md research.md
```
**重要说明**:我当前环境无法联网核实来源。下面引用的案例都是公开知名事件,但具体数字和条款细节我全部标注了 `[待核实]`,并附上了验证用的检索命令——请核实后再写入正文,避免引用翻车。
---
## 一、开头(Hook)
三个方向供你选:
**方向一:故障场景(推荐)**
> 凌晨 1:47,手机弹出告警:你的 AI 应用错误率从 0.2% 飙到了 34%。
*为什么有效:独立开发者对“半夜被告警叫醒”有肌肉记忆,“代码零改动、问题在上游”是他们的共同噩梦,代入感极强。*
**方向二:历史事件开场**
> 2023 年 6 月,Reddit 一夜之间调整 API 定价,两周后 Apollo——当时最流行的第三方客户端——宣布关闭。这不是 LLM 的故事,但它是所有依赖“别人家免费/低价 API”的开发者的预演。
*为什么有效:真实、具体、有尸体(Apollo),暗示“下一个可能是你”。*
**方向三:反直觉论断**
> 免费 LLM API,是你技术栈里最贵的那一层。
*为什么有效:制造认知冲突,逼读者往下读。*…
判定依据(检查项)
- 有大纲结构(≥3 个标题) · 计数 15
- 包含引用标注
- 输出不少于 600 字符 · 3981 字符
复现:python scripts/eval_skills.py --only composiohq-content-research-writer --models nvidia --out /tmp/skill-eval
diagnosing-bugs
达成情况:通过mattpocock-diagnosing-bugsGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
diagnose:升级到新版 ORM 后,/api/orders 列表接口 p95 从 120ms 涨到 900ms,本地偶尔能复现。请按 Skill 推进诊断。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"9c8af349-6e74-457a-9b7f-76169198043e"}}
复现:python scripts/eval_skills.py --only mattpocock-diagnosing-bugs --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only mattpocock-diagnosing-bugs --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504145/5 项检查通过耗时 34.3s(首字 0.8s)
真实输出摘录(前 700 字):
好的,我们将按照 `diagnosing-bugs` 技能的步骤来诊断这个问题。
### Phase 1: Build a feedback loop
#### 1. Failing test
首先,检查是否有针对 `/api/orders` 列表接口的测试。如果有,运行这些测试并查看是否有失败的测试。
```bash
# 假设测试脚本路径为 test_api_orders.sh
./test_api_orders.sh
```
#### 2. Curl / HTTP script
如果没有测试,可以编写一个简单的 `curl` 脚本来调用接口并检查响应时间。
```bash
# 创建一个简单的 curl 脚本
cat << 'EOF' > curl_api_orders.sh
curl -o /dev/null -s -w "%{time_total}\n" http://localhost:3000/api/orders
EOF
# 运行脚本
./curl_api_orders.sh
```
#### 3. CLI invocation
如果有 CLI 工具可以调用该接口,可以使用一个固定的输入来调用它,并比较输出。
```bash
# 假设 CLI 工具为 order_cli
order_cli --list > output.txt
diff output.txt known_good_output.txt
```
#### 4. Headless browser script
如果接口是 UI 驱动的,可以使用 Playwright 或 Puppet…判定依据(检查项)
- 先建立反馈循环
- 复现并最小化
- 提出可证伪假设
- 加入观测/仪表
- 修复后加回归测试
复现:python scripts/eval_skills.py --only mattpocock-diagnosing-bugs --models zhipu --out /tmp/skill-eval
部分通过NVIDIA NIMopenai/gpt-oss-20b3/5 项检查通过耗时 58.7s(首字 0.5s)
真实输出摘录(前 700 字):
## Phase 1 – 建立可复现、可判定的反馈循环
下面给出一个 **单一可执行脚本**,它会:
1. 发送 100 次 `/api/orders` 请求(可并发或顺序,取决于你想要的负载)。
2. 记录每一次请求的总耗时(`time_total`)。
3. 计算 **p95**(第 95 百分位)并与阈值做比较。
4. 如果 p95 超过阈值(例如 500 ms)就退出码 1,输出 “RED”,否则退出码 0,输出 “GREEN”。
> **为什么是“可判定”**
> 该脚本只关心你报告的症状(p95 变慢),并且只在满足该症状时返回红色。
> 这正是 Skill 里对 “tight loop” 的定义:
> *单一命令 → 触发 bug → 明确断言 → 可重复 → 快速*。
---
### 1. 脚本:`scripts/benchmark_orders.sh`
```bash
#!/usr/bin/env bash
set -euo pipefail
# 读取环境变量(保持机密不泄露)
API_URL="${API_URL:-http://localhost:3000/api/orders}"
AUTH_TOKEN="${AUTH_TOKEN:-<REDACTED>}"
# 你可以在 CI / 本地通过 env 传入这些变量
# 发送 100 次请求,使用 curl 的 --write-out 记录耗时
# 这里用 `parallel` 让请求并发 10 个,提升重现率
REQ_COUNT=100
PARALLEL=10
THRESHOLD…判定依据(检查项)
- 先建立反馈循环
- 复现并最小化
- 提出可证伪假设
- 加入观测/仪表
- 修复后加回归测试
复现:python scripts/eval_skills.py --only mattpocock-diagnosing-bugs --models nvidia_oss --out /tmp/skill-eval
dispatching-parallel-agents
达成情况:通过obra-dispatching-parallel-agentsGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
CI 里有 3 个失败:tests/test_billing.py(金额舍入)、tests/test_search.py(中文分词)、tests/test_export.py(CSV 编码)。三者互不相关。请按 Skill 组织处理。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"d05f3863-032d-464a-99e3-8a55cfbb1fbb"}}
复现:python scripts/eval_skills.py --only obra-dispatching-parallel-agents --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 172.3s(首字 1.6s)
真实输出摘录(前 700 字):
## 判定:适合并行分发
三个失败分属**计费(billing)**、**搜索(search)**、**导出(export)**三个独立子系统,无共享状态、无修复顺序依赖(修好一个不会影响另外两个),符合 Skill 中"每个问题域一个 agent、并行分发"的条件。不合并给单个 agent,也不串行处理。
以下三个子代理任务在**同一响应中发出,并发执行**:
---
## Agent 1(general-purpose):修复 tests/test_billing.py
```text
修复 tests/test_billing.py 中金额舍入相关的测试失败。
背景:CI 显示该文件中金额舍入断言失败。属于计费子系统,与其他失败无关。
你的任务:
1. 先运行 pytest tests/test_billing.py -x -q,记录每个失败断言的期望值与实际值
2. 阅读测试文件,确认每个失败测试期望的舍入规则(四舍五入?银行家舍入?保留几位小数?)
3. 定位根因,优先排查:
- 用 float 做货币运算导致浮点误差(如 0.1 + 0.2 != 0.3)
- 使用 Python 内置 round()(银行家舍入,round(2.5)==2)而业务要求 ROUND_HALF_UP
- Decimal.quantize 的 rounding 参数配置错误
4. 修复生产代码中的舍入逻辑;仅当测试期望本身与业务规则不符时才改测试,且必须说明理由
约束:
- 只允许修改 billing 模块代码和 tests/test_billing.p…
判定依据(检查项)
- 并行派发
- 每个领域一个代理(覆盖 3 个文件) · 计数 14
- 给每个代理限定范围
- 最后整合/检查冲突
复现:python scripts/eval_skills.py --only obra-dispatching-parallel-agents --models nvidia --out /tmp/skill-eval
doc-coauthoring
达成情况:通过anthropics-doc-coauthoringGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我需要写一份《门诊候诊叫号屏》产品需求文档,读者是医院信息科和外包开发团队。请开始协作。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash3/3 项检查通过耗时 33.5s(首字 2.7s)
真实输出摘录(前 700 字):
好的。先说明一下我会怎么带你走,然后立刻进入第一阶段。
## 工作流说明
我建议用三阶段协作,而不是一次生成一大篇(一次性生成的长文档,通常在"外包团队真能照着做"这一点上会翻车):
1. **上下文收集**:你先把脑子里关于这个项目的所有信息倒出来,我追问澄清,直到我能和你讨论边界情况与取舍,而不需要你解释基础知识。
2. **逐节精炼与结构化**:我们一节一节来。每节先问你要写什么 → 我头脑风暴 5–20 个可写点 → 你挑选保留/删除/合并 → 我起草 → 你指出修改点 → 迭代到满意。最不确定的章节先写(这份文档大概率是"叫号业务逻辑与状态机"或"硬件与部署形态"),概述类放最后。
3. **读者测试**:用一份"没有任何上下文的新鲜 Claude"来读文档并回答问题,找出作者视角看不见的盲点(术语没解释、隐含假设、前后矛盾)。
最终文档的合格标准不是"我觉得写全了",而是**一个没见过这个项目的外包开发,读完之后能自己列出接口清单和数据流**。
> 要不要走这个流程?如果你想自由发挥(比如"我口述,你直接写一版"),也完全可以,直接说。如果你接下来直接开始倒信息,我就默认你接受这个流程了。
---
## 阶段一 · 上下文收集
### 先回答 5 个元问题
可以用简写、列点、或者想到哪说到哪,怎么省事怎么来:
1. **文档类型**:这份是偏"需求说明书(PRD,含验收标准)",还是偏"招标/立项用的功能清单",还是"对外包的技术规格书(含接口约定)"?三者详细程度差别很大。
2. **主要读者**:医院信息科(懂 HIS,但可能不熟前端)和外包…
判定依据(检查项)
- 先提出澄清问题收集上下文(≥2 个问题) · 计数 18
- 关注文档背景/受众
- 没有跳过上下文直接写完整文档
复现:python scripts/eval_skills.py --only anthropics-doc-coauthoring --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 63.7s(首字 2.2s)
真实输出摘录(前 700 字):
好的,我们用结构化协作流程来完成这份 PRD。整个流程分三个阶段:
1. **背景收集**:你提供所有相关背景信息,我通过提问补齐理解
2. **打磨与结构化**:逐章节进行头脑风暴 → 筛选 → 起草 → 迭代修改
3. **读者测试**:用“零上下文”的读者视角测试文档,发现作者意识不到的盲点
这个流程能确保文档对信息科和外包开发团队都真正可读、可用——包括他们把文档贴给 AI 辅助开发时也能被正确理解。
一点说明:当前环境无法直接创建文件,所以文档会在对话中以 Markdown 形式逐章节产出,你随时复制保存即可。
---
## 第一阶段:背景收集
你已提供了两个关键信息:
- **文档类型**:产品需求文档(PRD)
- **读者**:医院信息科 + 外包开发团队
还需要确认几个元问题:
1. **期望效果**:读者读完这份 PRD 后,你希望发生什么?是外包团队可以直接开工,还是先要信息科评审签字?或者用于招标/比价?
2. **模板要求**:医院或外包公司有没有指定的 PRD 模板或章节结构?如果有,请直接贴出来。
3. **项目性质**:全新建设,还是替换现有叫号系统?如果是替换,现有系统的主要痛点是什么?
4. **关键约束**:工期要求?硬件(显示屏、音箱、叫号器)是否已采购定型?HIS 是哪家厂商、能提供什么形式的接口?
接下来请把你脑子里所有相关信息**一次性倒出来**,不用组织、想到哪写到哪,简写也行。比如:
- **医院规模**:日门诊量、科室数、楼层/诊区分布、候诊区布局
- **现有系统**:HIS 厂商、挂号/分诊/收费流程…
判定依据(检查项)
- 先提出澄清问题收集上下文(≥2 个问题) · 计数 9
- 关注文档背景/受众
- 没有跳过上下文直接写完整文档
复现:python scripts/eval_skills.py --only anthropics-doc-coauthoring --models nvidia --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
为公司写一个脚本,生成 Word 文档《2026 年第三季度退款政策说明》:包含一级标题、两个二级标题、一个 3 列表格(渠道 / 退款时限 / 备注,至少 3 行数据)以及页脚页码。请按 Skill 推荐的工具链给出完整可运行代码和运行命令。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash5/5 项检查通过耗时 59.7s(首字 3.3s)
真实输出摘录(前 700 字):
下面按 Skill 推荐的工具链(新建文档 → `docx` npm 包写脚本 → LibreOffice 渲染自查)给出完整方案。
## 1. 技术选择说明
- 任务类型是**新建**文档 → 用 docx-js 写脚本(不用 unzip 改 XML,那条路是给**编辑已有文档**用的)。
- `docx` 是预装依赖,**不要先跑 `npm install`**;只有 `require('docx')` 报错时才装。
- 标题用内置 `HeadingLevel`(一级 + 两个二级),页脚页码用 `Footer` + `PageNumber.CURRENT`。
- 表格遵循“双宽度”规则:`Table.columnWidths` 和每个 `TableCell.width` 都用 `WidthType.DXA`,且列宽之和必须等于表宽。表头底纹用 `ShadingType.CLEAR`(绝不能用 `SOLID`,会渲染成黑色)。
## 2. 完整脚本 `generate_q3_refund_policy.js`
```js
// generate_q3_refund_policy.js
// 生成《2026 年第三季度退款政策说明》
const fs = require("fs");
const {
Document, Packer, Paragraph, TextRun, HeadingLevel, AlignmentType,
Table, TableRow, TableCell, WidthType, ShadingType, VerticalAlign…判定依据(检查项)
- 代码块可通过语法检查 · 最长 js 代码块:通过
- 使用 docx 库生成文档
- 生成表格
- 设置页脚
- 页码字段
复现:python scripts/eval_skills.py --only anthropics-docx --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-docx --models nvidia --out /tmp/skill-eval
executing-plans
达成情况:通过obra-executing-plansGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
请执行下面这份计划:
Task 1: 在 models.py 增加 Subscriber 模型(email 唯一)。
Task 2: 删除并重建生产库的 users 表以添加 subscribed 字段。
Task 3: 增加 /subscribe 接口和测试。
(你无法真正运行命令,请按 Skill 的执行方式说明你会怎么做,并在开始前指出计划里的问题。)
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash3/3 项检查通过耗时 33.9s(首字 2.0s)
真实输出摘录(前 700 字):
我在使用 executing-plans skill 来实现这份计划。
**Announce(按 skill 要求)**:I'm using the executing-plans skill to implement this plan.
**关于 subagents**:按 skill 的说明先提醒你——如果你有可用的 subagent(Claude Code / Codex CLI / Codex App / Copilot CLI / Gemini CLI 任一),那么这个计划更适合走 superpowers:subagent-driven-development,而不是本 skill。
---
## Step 1:加载并批判性审阅计划
### 1.1 隔离工作区(我会执行的命令,当前环境无法执行)
按 skill 要求,先确认不在 main/master 上裸改,且使用 superpowers:using-git-worktrees:
```bash
git rev-parse --abbrev-ref HEAD
git status --porcelain
git worktree add ../wt-subscriber -b feat/subscriber-signup
cd ../wt-subscriber
```
这里我已经需要停下来确认:**计划里没有说仓库、分支策略、plan 文件路径、测试命令、验收标准**,这些都属于 Step 1 需要的信息。
### 1.2 批判性审阅结果 —— 发现阻塞性问题
我**不会**开始执行,因为计划…
判定依据(检查项)
- 识别出 Task 2 的风险
- 提出顾虑/建议迁移而非删表
- 在继续前请求确认
复现:python scripts/eval_skills.py --only obra-executing-plans --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 90.9s(首字 0.6s)
真实输出摘录(前 700 字):
我正在使用 executing-plans skill 来执行这份计划。
> 提示:如果你有子代理可用(Claude Code、Codex CLI、Copilot CLI、Gemini CLI 等),Superpowers 建议改用 superpowers:subagent-driven-development,执行效果会更好。
---
## Step 1:计划评审 —— 发现的问题
按 Skill 要求,执行前必须先批判性审查计划。**这份计划有严重问题,我必须先暂停并向你提出,而不是硬着头皮执行**:
### 🔴 问题 1(阻断级):Task 2 要求删除并重建**生产库**的 users 表
这是数据丢失级别的高危操作:
- `DROP TABLE` 会永久丢失全部用户数据,除非有已验证的备份;
- 添加一个字段根本不需要删表——正确的做法是**增量迁移**:`ALTER TABLE users ADD COLUMN subscribed ...`,这是非破坏性、秒级完成、可回滚的操作;
- 计划中没有任何备份步骤、回滚方案、staging 预演,甚至没说明用什么迁移工具(Alembic?Flask-Migrate?手工 SQL?)。
按 Skill 规则:"Hit a blocker → STOP executing immediately, ask rather than guess"。**我不会按原文执行 Task 2。**
### 🔴 问题 2(逻辑矛盾):Task 1 和 Task 2 是两套冲突的数据模型
- Task 1:新建独立的 `Su…
判定依据(检查项)
- 识别出 Task 2 的风险
- 提出顾虑/建议迁移而非删表
- 在继续前请求确认
复现:python scripts/eval_skills.py --only obra-executing-plans --models nvidia --out /tmp/skill-eval
file-organizer
达成情况:通过composiohq-file-organizerGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我的 ~/Downloads 很乱,文件如下:invoice_2026_03.pdf、IMG_2041.JPG、IMG_2041 (1).JPG、setup.dmg、report-final.docx、report-final-v2.docx、song.mp3、data.csv。请给出整理方案和命令。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"97d3869f-17cc-4771-80fc-f7f329ef4100"}}
复现:python scripts/eval_skills.py --only composiohq-file-organizer --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 82.7s(首字 0.5s)
真实输出摘录(前 700 字):
# ~/Downloads 整理方案
## 现状分析
共 8 个文件、无文件夹结构,按类型分布:
| 类型 | 文件 | 数量 |
|---|---|---|
| 文档 | invoice_2026_03.pdf、report-final.docx、report-final-v2.docx | 3 |
| 图片 | IMG_2041.JPG、IMG_2041 (1).JPG | 2 |
| 安装包 | setup.dmg | 1 |
| 音频 | song.mp3 | 1 |
| 数据 | data.csv | 1 |
发现的问题:
1. **疑似重复文件**:`IMG_2041 (1).JPG` 的 "(1)" 后缀是浏览器重复下载的典型痕迹,很可能与 `IMG_2041.JPG` 完全相同
2. **版本号残留**:`report-final-v2.docx` —— 建议保留最新版并去掉版本号,旧版归档
3. **无任何结构**,所有类型混在根目录
## 目标结构
```
Downloads/
├── Documents/
│ ├── invoice_2026_03.pdf
│ └── report-final.docx ← 由 report-final-v2.docx 重命名而来
├── Images/
│ └── IMG_2041.JPG
├── Installers/
│ └── setup.dmg
├── Media/
│ └── song.mp3
├── Data/
│ └── data.csv
└── Archiv…
判定依据(检查项)
- 创建分类目录
- 移动文件命令
- 识别重复文件
- 执行前请求确认
复现:python scripts/eval_skills.py --only composiohq-file-organizer --models nvidia --out /tmp/skill-eval
finishing-a-development-branch
达成情况:通过obra-finishing-a-development-branchGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
feature/csv-export 的实现写完了。按 Skill 帮我收尾。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"02f45f80-2a04-45cf-aa49-6a01549d0e2c"}}
复现:python scripts/eval_skills.py --only obra-finishing-a-development-branch --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 95.6s(首字 0.4s)
真实输出摘录(前 700 字):
我正在使用 finishing-a-development-branch skill 来完成这项收尾工作。
当前环境无法直接执行命令,所以需要你在仓库里运行下面的命令并把输出贴给我,我会根据实际结果继续走流程。
## 第 1 步:验证测试套件
收尾的前提是全量测试通过。请运行本项目的完整测试套件(按项目类型选用,若是其他命令则以项目的为准):
```bash
npm test # Node/JS
cargo test # Rust
pytest # Python
go test ./... # Go
```
- **如有失败**:把失败输出贴给我,我们先修复——选项菜单只会在测试全绿之后出现。
- **如果全绿**:继续第 2 步。
## 第 2 步:检测环境
```bash
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
WORKTREE_PATH=$(git rev-parse --show-toplevel)
echo "GIT_DIR=$GIT_DIR"
echo "GIT_COMMON=$GIT_COMMON"
echo "WORKTREE_PATH=$WORKTREE_PATH"
git branch --show-current
```
请把全部输出贴给我。这些值决定后续走法…
判定依据(检查项)
- 先验证测试
- 选项:本地合并
- 选项:创建 PR
- 选项:保留分支
复现:python scripts/eval_skills.py --only obra-finishing-a-development-branch --models nvidia --out /tmp/skill-eval
frontend-design
达成情况:通过anthropics-frontend-designGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
为一家叫『慢火』的独立咖啡烘焙店做一个单页落地页(介绍、本周豆单、到店地址、订阅表单)。直接输出一个完整的 HTML 文件(CSS 内联在 <style> 中),要有明确的视觉方向。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 208.8s
调用失败原因:模型返回空内容(可能思考耗尽 max_tokens)
复现:python scripts/eval_skills.py --only anthropics-frontend-design --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-frontend-design --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504145/5 项检查通过耗时 58.9s(首字 1.3s)
真实输出摘录(前 700 字):
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>慢火咖啡烘焙店</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Serif SC', serif;
background-color: #f9f3f0;
color: #4a423f;
line-height: 1.6;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
header {
text-align: center;
padding: 40px 0;
position: relative;
}…判定依据(检查项)
- 输出完整 HTML 文档且可解析 · HTML 7164 字符
- 内联 CSS
- 包含响应式断点
- 包含订阅表单
- 定义了字体
复现:python scripts/eval_skills.py --only anthropics-frontend-design --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b5/5 项检查通过耗时 66.9s(首字 0.4s)
真实输出摘录(前 700 字):
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>慢火 – 独立咖啡烘焙店</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
/* ===== 视觉方向 =====
颜色:深炭灰 (#2C2C2C) + 温暖琥珀 (#D4A373) + 淡米色 (#F5EBDD) + 静谧绿 (#A3B18A)
字体:Playfair Display(标题)+ Inter(正文)
布局:垂直滚动,Hero 背景图 + 细腻的斜切分割,单一动效(Hero 进入)
原则:以“慢火”品牌故事为核心,突出咖啡豆与烘焙过程的温度与时间感
*/
:root{
--c-bg:#F5EBDD;
--c-text:#2C2C2C;
--c-accent:#D4A373;
--c-muted:#A3B18A;
--c-white:#FFFFFF;
--ff-title:"Playfair Display", serif;
--ff-body:"Inter", sans-serif;
--radius:8px;
--transition:0.4s ease;
}
body{
margin:0;
font-family:var(--ff-body);
color:var(--c-text);
background:…判定依据(检查项)
- 输出完整 HTML 文档且可解析 · HTML 4250 字符
- 内联 CSS
- 包含响应式断点
- 包含订阅表单
- 定义了字体
复现:python scripts/eval_skills.py --only anthropics-frontend-design --models nvidia_oss --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
做一个 5 页的静态 HTML 演示稿《FreeLLM 季度回顾》(标题页、数据页、路线图、团队、Q&A),支持键盘翻页。直接输出完整 HTML 文件。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"05555a61-ea13-4bfb-abdf-2cae196ea6a5"}}
复现:python scripts/eval_skills.py --only lewislulu-html-ppt-skill --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only lewislulu-html-ppt-skill --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504143/3 项检查通过耗时 25.2s(首字 1.7s)
真实输出摘录(前 700 字):
以下是一个5页的静态HTML演示稿《FreeLLM 季度回顾》的完整HTML文件,支持键盘翻页:
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FreeLLM 季度回顾</title>
<link rel="stylesheet" href="assets/themes/minimal-white.css">
<script src="assets/runtime.js"></script>
</head>
<body data-logo="logo.svg" data-logo-position="top-right" data-logo-size="40px">
<div class="deck">
<section class="slide">
<h1>FreeLLM 季度回顾</h1>
<p>2023年第四季度</p>
</section>
<section class="slide">
<h2>数据概览</h2>
<div style="display: flex; justify-content: space-around…判定依据(检查项)
- 输出完整 HTML 文档且可解析 · HTML 2862 字符
- ≥5 页幻灯片 · 计数 10
- 支持键盘翻页
复现:python scripts/eval_skills.py --only lewislulu-html-ppt-skill --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b3/3 项检查通过耗时 75.9s(首字 0.6s)
真实输出摘录(前 700 字):
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>FreeLLM 季度回顾</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 主题(可自行切换) -->
<link rel="stylesheet" href="./assets/themes/corporate-clean.css">
<!-- 基础样式、字体 -->
<link rel="stylesheet" href="./assets/base.css">
<link rel="stylesheet" href="./assets/fonts.css">
<style>
/* 你可以在这里添加自定义样式 */
</style>
</head>
<body data-logo="logo.svg" data-logo-position="bottom-right" data-logo-size="40px">
<div class="deck">
<!-- 头部(可选) -->
<header class="deck-header">FreeLLM 季度回顾</header>
<!-- 页脚(可选) -->
<footer class="deck-footer">© 2026 FreeLLM</footer>
<!-- 页码 -->
<div class="s…
判定依据(检查项)
- 输出完整 HTML 文档且可解析 · HTML 2238 字符
- ≥5 页幻灯片 · 计数 12
- 支持键盘翻页
复现:python scripts/eval_skills.py --only lewislulu-html-ppt-skill --models nvidia_oss --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把下面这段 AI 味很重的英文改写得像真人写的,事实不变:
"In today's fast-paced digital landscape, our new API isn't just a tool — it's a game-changer. It delivers speed, reliability, and scalability. Latency dropped 37% in 2025, a testament to our commitment to excellence. Let's delve into what makes it truly special."
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"fb23ac3b-6d72-467f-8ebe-e1761dbe8b9e"}}
复现:python scripts/eval_skills.py --only blader-humanizer --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/4 项检查通过耗时 317.7s(首字 0.6s)人工复核:命中的 “isn't just” 只出现在“标记出的问题”里对原文的引用;最终改写版本无套话,且保留 37% 与 2025 两个事实。
真实输出摘录(前 700 字):
## 标记出的问题
- **§1 not-X-but-Y**:"isn't just a tool — it's a game-changer"。否定半句没人主张过,纯加重量;顺带触发了 §8 的破折号和 §16 的 "game-changer"。
- **§4 铺垫开场**:"Let's delve into what makes it truly special",宣布要讲重点但不给任何信息("delve" 同时是 §12 高频词)。
- **§13 拔高意义**:"a testament to our commitment to excellence",把一个数字说成卓越的证明。
- **§16 销售语言**:"In today's fast-paced digital landscape"、"truly special"。
- **§12 AI 高频词**:landscape(抽象)、delve、testament。
- **§6 三项并列**:"speed, reliability, and scalability"(弱信号,但周围 tell 密集)。
- **§18**:用 "delivers" 回避 is。
必须保留的事实:我们的新 API;快;可靠;可扩展;2025 年延迟下降 37%。
## 初稿
> Our new API is fast and reliable, and it scales. Latency dropped 37% in 2025.
## 检查
- 五项复查:无 not-X-but-Y、无金句收尾、无破折号、无加粗标签。三项并…
判定依据(检查项)
- 去掉典型 AI 套话 · 命中:isn't just
- 保留 37% 事实
- 保留 2025 事实
- 输出不少于 80 字符 · 1098 字符
复现:python scripts/eval_skills.py --only blader-humanizer --models nvidia --out /tmp/skill-eval
implement-spec
达成情况:通过mattpocock-implement-specGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
这是 spec 和 tickets:spec『给博客加评论功能』;tickets:T1 评论数据表(无依赖);T2 发表评论 API(依赖 T1);T3 评论列表 API(依赖 T1);T4 前端评论组件(依赖 T2、T3)。按 Skill 说明你的执行方式。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"1716fbc9-8708-4891-8dae-aa38cdce7088"}}
复现:python scripts/eval_skills.py --only mattpocock-implement-spec --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.35/5 项检查通过耗时 110.8s(首字 0.8s)
真实输出摘录(前 700 字):
# 执行方式:『给博客加评论功能』
## 1. 任务图与 frontier 分析
```
T1 评论数据表 ──┬──> T2 发表评论 API ──┐
└──> T3 评论列表 API ──┴──> T4 前端评论组件
```
| 波次 | frontier(可并行抓取的票) | 并行 implementer 数 |
|---|---|---|
| 1 | T1 | 1 |
| 2 | T2、T3 | 2(后台并行) |
| 3 | T4 | 1 |
| 4 | code-review 修复 | 1 |
tickets 已随消息提供,任务图明确,可直接执行。(若这些票实际存在于 GitHub Issues 之类的 tracker,请告知;否则我按此文本任务图执行,最后直接报告分支。)
## 2. 探索(可选,本例建议做)
启动一个 **exploration subagent**,把笔记保存到仓库外、所有后续子代理可访问的目录,例如 `~/.agent-notes/blog-comments/notes/codebase.md`,内容涵盖:
- 技术栈与 DB 迁移方式(如何建表、如何写迁移测试)
- API 路由注册位置、现有类似端点(如文章 CRUD)的写法与测试范式
- 前端组件/测试框架、现有列表+表单类组件的参照
这样 implementer 只管实现,不用各自探索。
## 3. 创建集成分支
```bash
git checkout main && git pull --ff-only
git checkout…判定依据(检查项)
- 创建集成分支
- 按依赖前沿推进
- T2/T3 并行
- 每个实现代理独立 worktree
- 完成后代码审查
复现:python scripts/eval_skills.py --only mattpocock-implement-spec --models nvidia --out /tmp/skill-eval
internal-comms
达成情况:通过anthropics-internal-commsGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
帮我写本周给全组的 3P 周报(Progress / Plans / Problems)。素材:本周支付网关迁移完成 70%,新增 2 个对账报表;下周做压测和灰度 10%;问题:第三方回调平均超时 4.2 秒,需要对方排期。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash6/6 项检查通过耗时 15.6s(首字 2.2s)
真实输出摘录(前 700 字):
按 skill 的流程,我会先加载 `examples/3p-updates.md` 这个格式指南再动笔。当前环境读不到文件,所以下面这版是按 3P 的通用规范(三段式、结论先行、每段带量化指标 + 负责人/时间)写的;如果你们组的模板有固定字段或字数要求,告诉我我再对齐。
---
# 3P 周报|支付网关迁移项目
**周期:** [本周一 – 本周五] **团队:** [组名] **汇报人:** [姓名]
## Progress(本周进展)
- **支付网关迁移整体完成度 70%**,按计划推进,本周无延期风险。
- 已完成:核心链路切换与配置下发、迁移脚本在预发环境验证通过。
- 剩余 30%:主要为 [存量商户批量切流] 与 [灰度策略落地]。
- **新增 2 个对账报表**,均已上线 / 进入联调:分别覆盖 [渠道流水对账] 和 [商户维度差异明细],便于迁移期间的日终核对与差异定位。
## Plans(下周计划)
1. **压测**:对迁移后的支付网关做全链路压测,目标 [TPS / P99 延迟] 达到 [指标],产出压测报告并确认容量水位。
2. **灰度 10%**:将 10% 流量切至新网关,重点观察成功率、回调时延与对账差异;达标后再按 [20% → 50% → 全量] 节奏推进。
3. 视压测结果,确定剩余存量商户的切流批次与时间点。
## Problems(问题与需要的支持)
- **第三方回调平均超时 4.2 秒**,已超出我们 [目标时延] 的预期,会直接影响灰度期间的订单状态同步与用户体验。
- 现状:已定位为我方等…
判定依据(检查项)
- 包含 Progress
- 包含 Plans
- 包含 Problems
- 保留 70% 数据
- 保留 4.2 秒数据
- 简洁(≤2000 字符) · 1049 字符
复现:python scripts/eval_skills.py --only anthropics-internal-comms --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.36/6 项检查通过耗时 65.0s(首字 1.0s)
真实输出摘录(前 700 字):
按照 Skill 流程,我会先读取 3P 规范文件确认格式要求(`cat examples/3p-updates.md`)。当前环境无法读取文件,以下按标准 3P 结构(Progress / Plans / Problems)撰写,可直接复制发送:
---
## 支付组 3P 周报(【日期区间,如 6/10–6/14】)
### ✅ Progress · 本周进展
- **支付网关迁移**:整体进度 **70%**,按计划推进中,无阻塞
- **对账能力**:新增 **2 个对账报表**并上线【建议补充:报表名称、覆盖的业务/渠道范围】
### 📅 Plans · 下周计划
- **支付网关迁移**:
- 完成全链路压测,验证峰值流量下的性能与稳定性【建议补充:目标 QPS / RT 阈值】
- 启动灰度切量 **10%**,重点观察支付成功率、回调延迟、对账差异等核心指标
### ⚠️ Problems · 问题与求助
- **第三方回调超时**:平均超时 **4.2 秒**,明显高于正常水平,影响【对账时效 / 用户到账体验】
- 已确认问题在对方侧,需第三方排期修复
- **求助**:请【接口人/负责人】协助推动对方给出明确修复排期;排期确认前我方持续监控并留存超时数据作为跟进依据
---
**发送前建议补充的信息**(能让周报更有说服力):
- 各项的**负责人**姓名,Plans 里加**目标完成时间**
- Problems 里写清**影响面**(影响多少笔交易/多少商户)和**已尝试的动作**(如是否已发工单、对方初步反馈)
- Pr…
判定依据(检查项)
- 包含 Progress
- 包含 Plans
- 包含 Problems
- 保留 70% 数据
- 保留 4.2 秒数据
- 简洁(≤2000 字符) · 772 字符
复现:python scripts/eval_skills.py --only anthropics-internal-comms --models nvidia --out /tmp/skill-eval
invoice-organizer
达成情况:通过composiohq-invoice-organizerGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
整理这些发票文件以备报税:scan001.pdf(阿里云 2026-03-05 ¥1,280 云服务器)、IMG_88.jpg(滴滴 2026-03-11 ¥56 打车)、doc(3).pdf(Adobe 2026-02-28 $22.99 订阅)。请给出重命名结果、目录结构和汇总 CSV。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"4838d345-a36d-4ef0-9a90-bb78c77675f1"}}
复现:python scripts/eval_skills.py --only composiohq-invoice-organizer --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 101.8s(首字 0.7s)
真实输出摘录(前 700 字):
# 发票整理方案 📊
共 3 个文件,信息已齐全(2026-02-28 ~ 2026-03-11)。由于你未指定组织方式,我采用默认结构 **年份/类别/供应商**,并保留原件。以下是完整方案和可直接执行的命令。
## 一、重命名结果
| 原文件名 | 新文件名 | 新位置 |
|---|---|---|
| `scan001.pdf` | `2026-03-05 阿里云 - Invoice - 云服务器.pdf` | `Invoices/2026/云服务/阿里云/` |
| `IMG_88.jpg` | `2026-03-11 滴滴 - Receipt - 打车.jpg` | `Invoices/2026/交通/滴滴/` |
| `doc(3).pdf` | `2026-02-28 Adobe - Invoice - 订阅.pdf` | `Invoices/2026/软件/Adobe/` |
命名规则:`YYYY-MM-DD 供应商 - Invoice/Receipt - 描述.扩展名`,日期在前保证按时间排序,去除了原文件名中的括号等特殊字符,保留原始扩展名。
## 二、目录结构
```
Invoices/
├── 2026/
│ ├── 软件/
│ │ └── Adobe/
│ │ └── 2026-02-28 Adobe - Invoice - 订阅.pdf
│ ├── 云服务/
│ │ └── 阿里云/
│ │ └── 2026-03-05 阿里云 - Invoice - 云服务器.pdf
│ └…
判定依据(检查项)
- 按日期规范重命名(≥3 处日期) · 计数 19
- 保留供应商名
- 输出 CSV 表头
- 保留金额
复现:python scripts/eval_skills.py --only composiohq-invoice-organizer --models nvidia --out /tmp/skill-eval
lead-research-assistant
达成情况:通过composiohq-lead-research-assistantGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我们做『面向中小电商的 AI 客服 SaaS』。请帮我识别高质量潜在客户:给出理想客户画像、筛选标准与打分方式、去哪里找、以及首轮触达建议。你不能联网,不要编造具体公司名或联系方式。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"4f8c8820-e2c3-4a20-9833-ffa42f7fe134"}}
复现:python scripts/eval_skills.py --only composiohq-lead-research-assistant --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only composiohq-lead-research-assistant --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only composiohq-lead-research-assistant --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 59.2s(首字 0.2s)
真实输出摘录(前 700 字):
## 1️⃣ 理想客户画像(Ideal Customer Profile, ICP)
| 维度 | 具体描述 | 说明 |
|------|----------|------|
| **行业** | 电子商务(B2C/B2B) | 主要面向中小型电商平台、独立站、跨境电商 |
| **公司规模** | 10–200 名员工,年营收 1000 万–1 亿人民币 | 规模足够使用 SaaS,但仍需要成本控制 |
| **技术栈** | 主要使用 Shopify、WooCommerce、Magento、BigCommerce、或自建前后端(React/Node、Vue/Node、Laravel 等) | 需要与现有系统无缝集成 |
| **痛点** | 1. 客服响应时间长,导致转化率下降<br>2. 人力成本高,尤其是多语言支持<br>3. 订单/售后流程繁琐,缺乏自动化<br>4. 需要快速迭代客服策略 | AI 客服 SaaS 能解决上述痛点 |
| **预算** | 预算 5–20 万人民币/年 | 适合中小企业的 SaaS 价格区间 |
| **决策者** | 运营总监 / 客服经理 / 产品经理 / CTO | 负责客服系统选型与预算审批 |
| **地理位置** | 主要聚焦一线城市(北京、上海、深圳、广州)及二线城市(成都、杭州、武汉、南京) | 这些城市电商企业活跃度高,预算相对充足 |
| **技术需求** | 需要多语言、语音/文字混合客服、知识库自动生成、数据分析 | AI 方案可提供的功能 |
---
## 2️⃣ 筛选标准与打分方式
| 维度 |…
判定依据(检查项)
复现:python scripts/eval_skills.py --only composiohq-lead-research-assistant --models nvidia_oss --out /tmp/skill-eval
learn-this
达成情况:通过michalparkola-learn-thisGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
learn this:下面是一篇文章的正文——『写好 prompt 的三个原则:1)给模型明确角色和目标;2)提供示例;3)要求结构化输出并给出校验标准。实践中,先用小样本迭代,再固化为模板。』请提取要点并给出行动计划。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"9d334803-7800-4a18-bb75-98fe0a696c02"}}
复现:python scripts/eval_skills.py --only michalparkola-learn-this --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 72.0s(首字 0.5s)
真实输出摘录(前 700 字):
🧵 **Tapestry Workflow 启动**
📍 **内容类型检测**:article(正文已直接提供,无需 URL 抓取)
> 说明:由于你直接提供了文章正文,跳过了抓取步骤。若这是一个 URL,我会执行以下检测与抓取流程:
> ```bash
> # 检测逻辑
> if [[ "$URL" =~ youtube\.com/watch || "$URL" =~ youtu\.be/ ]]; then CONTENT_TYPE="youtube"
> elif [[ "$URL" =~ \.pdf$ ]]; then CONTENT_TYPE="pdf"
> else CONTENT_TYPE="article"; fi
> # article 抓取:trafilatura --URL "$URL" --output-format txt > temp_article.txt
> ```
---
## 📥 要点提取(可执行的经验,而非摘要)
| # | 原则 | 可操作的做法 |
|---|------|-------------|
| 1 | **明确角色和目标** | 在 prompt 开头指定模型身份(如“你是资深技术文档编辑”)+ 明确任务目标(要产出什么、给谁看、达到什么标准) |
| 2 | **提供示例** | 给出 1-3 个输入→输出的配对示例,让模型模仿格式、语气和判断标准 |
| 3 | **结构化输出 + 校验标准** | 明确要求输出格式(JSON / Markdown / 表格),并附上“什么样的输出算合格”的校验清单 |
| 4…
判定依据(检查项)
- 提取要点
- 给出行动计划
- 结构化列表(≥4 项) · 计数 4
复现:python scripts/eval_skills.py --only michalparkola-learn-this --models nvidia --out /tmp/skill-eval
mcp-builder
达成情况:通过anthropics-mcp-builderGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 Python 写一个 MCP server,提供工具 get_exchange_rate(base, target),调用 https://api.frankfurter.app/latest 查询汇率;要求输入校验(ISO 4217 三位代码)、错误处理、清晰的工具描述。给出完整代码和本地运行/调试命令。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash6/6 项检查通过耗时 140.3s(首字 2.6s)
真实输出摘录(前 700 字):
下面按 Skill 的四个阶段来完成。**注意:当前环境不能联网、不能执行命令**,所以下面的所有命令与代码都是「我将会执行」的内容,请你在本地运行验证;我没有声称已经跑过或看到结果。
---
## Phase 1 · 调研与设计决策(建议你先加载的文档)
| 目标 | 命令 |
|---|---|
| MCP 规范 | 先取 `https://modelcontextprotocol.io/sitemap.xml`,再取 `https://modelcontextprotocol.io/specification/draft.md` |
| Python SDK README | `WebFetch https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md` |
| 最佳实践 | 读 skill 里的 `reference/mcp_best_practices.md`、`reference/python_mcp_server.md` |
| 上游 API | `curl -s 'https://api.frankfurter.app/latest?from=USD&to=JPY'` / `curl -s https://api.frankfurter.app/currencies` |
依据最佳实践确定的设计要点:
- **优先完整覆盖 + 少量工作流工具**:主干 `get_exchange_rate(base, target, date?)`,另附 `list…
判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 使用 MCP SDK
- 注册工具
- 调用指定 API
- 包含错误处理
- 校验三位货币代码
复现:python scripts/eval_skills.py --only anthropics-mcp-builder --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 390.2s
调用失败原因:模型返回空内容(可能思考耗尽 max_tokens)
复现:python scripts/eval_skills.py --only anthropics-mcp-builder --models nvidia --out /tmp/skill-eval
meeting-insights-analyzer
达成情况:通过composiohq-meeting-insights-analyzerGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
分析这段会议记录中我(张三)的沟通模式:
[00:01] 张三:嗯,那个,我觉得可能,也许我们可以考虑一下延期?
[00:02] 李四:不行,客户已经定了日期。
[00:03] 张三:哦好的好的,那就按原计划吧。
[00:05] 王五:测试资源不够怎么办?
[00:06] 张三:嗯……这个我们会后再说吧。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"afe9d698-3b8f-4088-b7de-6c0fa542326c"}}
复现:python scripts/eval_skills.py --only composiohq-meeting-insights-analyzer --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 105.9s(首字 0.5s)
真实输出摘录(前 700 字):
# 会议沟通模式分析:张三
**分析对象**:张三
**会议时长**:约 6 分钟(5 个发言轮次)
**样本提示**:这是一段很短的记录,以下结论属于方向性判断,建议结合更多会议验证。
---
## 识别出的关键模式
### 模式 1:提出关键议题时大量使用缓冲词(回避冲突信号)
**发现**:你在提出延期这个重要议题时,一句话里堆叠了 5 个弱化词,并把建议包装成疑问句。
**频率**:1 次提议中出现 5 处弱化表达(嗯、那个、我觉得、可能、也许)
**示例**:**[00:01]**
**原话**:
> “嗯,那个,我觉得可能,也许我们可以考虑一下延期?”
**为什么重要**:
你显然察觉到了进度风险,但这句话传递的信号是“我不是很确定,你们可以忽略我”。弱化词 + 疑问句尾的组合,让对方很容易一句话否决——事实上李四正是这么做的。你的原始担忧(为什么需要延期)从头到尾没有被表达出来。
**更好的说法**:
> “我建议讨论延期一周。原因是 X 还没完成,如果按原日期交付,风险是 Y。我想听听大家对这两个选项的权衡。”
要点:第一句就点明议题,用陈述句而非问句,附上理由。
---
### 模式 2:遭遇反驳后立即让步,未坚持探讨实质问题
**发现**:李四一句话否决后,你在 1 秒内完全放弃立场,且没有追问任何细节。
**频率**:1 次反驳 → 1 次即时让步(让步率 100%)
**示例**:**[00:02] → [00:03]**
**原话**:
> 李四:“不行,客户已经定了日期。”
> 张三:“哦好的好的,那就按原计划吧。”…
判定依据(检查项)
- 识别冲突回避
- 识别填充词/模糊表达
- 引用带时间戳的原话
- 给出改进建议
复现:python scripts/eval_skills.py --only composiohq-meeting-insights-analyzer --models nvidia --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 生成 4 页带 Morph 平滑过渡的 morph.pptx:一个圆形从第 1 页左侧移动并放大到第 2 页中央,第 3、4 页标题文字平滑切换。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"c976e4b1-4234-4a95-9140-70e50ba98bbe"}}
复现:python scripts/eval_skills.py --only iofficeai-morph-ppt --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-morph-ppt --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504144/4 项检查通过耗时 28.1s(首字 2.3s)
真实输出摘录(前 700 字):
以下是使用 `officecli` 生成 4 页带 Morph 平滑过渡的 `morph.pptx` 的完整命令序列。这个演示文稿将展示一个圆形从第 1 页左侧移动并放大到第 2 页中央,以及第 3、4 页标题文字平滑切换。
### 第 1 页
```bash
FILE="morph.pptx"
officecli create "$FILE"; officecli open "$FILE"
# Slide 1 — 圆形在左侧
officecli add "$FILE" / --type slide --prop layout=blank --prop background=1E2761
officecli add "$FILE" /slide[1] --type shape --prop 'name=!!scene-circle' \
--prop preset=circle --prop fill=E94560 --prop opacity=0.3 --prop x=5cm --prop y=8cm --prop width=8cm --prop height=8cm
officecli add "$FILE" /slide[1] --type shape --prop 'name=#s1-title' \
--prop text="The one idea" --prop x=4cm --prop y=8cm --prop width=26cm --prop height=3cm \
--prop font=Georgia --prop size=48 -…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 16
- 目标文件 morph.pptx
- 设置 Morph 过渡
- 跨页形状同名匹配
复现:python scripts/eval_skills.py --only iofficeai-morph-ppt --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 288.1s(首字 0.6s)
真实输出摘录(前 700 字):
下面给出一份完整的 **officecli** 命令序列,用来生成一个 4 页、带有 Morph 平滑过渡的 `morph.pptx`。
> **注意**:
> - 这份脚本仅展示命令,**不执行**。
> - 运行前请确保已安装 `officecli` 并已在终端中 `source` 其环境。
> - 运行后请在 PowerPoint 365 / Keynote / WPS 中打开 `morph.pptx` 以查看 Morph 动画效果(LibreOffice 等其它查看器会显示为普通淡入淡出)。
```bash
# 1️⃣ 设定文件名
FILE="morph.pptx"
# 2️⃣ 创建空白演示文稿
officecli create "$FILE"
# ------------------------------------------------------------------
# 3️⃣ 第 1 页:圆形从左侧
# ------------------------------------------------------------------
# 3.1 新增空白幻灯片(默认背景)
officecli add "$FILE" / --type slide --prop layout=blank
# 3.2 在第 1 页添加圆形(左侧)
officecli add "$FILE" /slide[1] --type shape \
--prop 'name=!!scene-ring' \
--prop preset=ellipse…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 14
- 目标文件 morph.pptx
- 设置 Morph 过渡
- 跨页形状同名匹配
复现:python scripts/eval_skills.py --only iofficeai-morph-ppt --models nvidia_oss --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 创建 report.docx:一级标题『月度运营报告』、一段正文、一个 3x3 表格,然后检查文档结构。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"3e6248c0-a08a-465b-a077-36384c476978"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 183.1s(首字 1.4s)
真实输出摘录(前 700 字):
# 用 officecli 创建 report.docx 的完整命令序列
## 0. 前置检查
```bash
officecli --version # 确认已安装;未安装先执行安装脚本
officecli load_skill word # 报告类文档 → 按规则加载 word 技能,后续按其输出规则操作
```
## 1. 创建文档并写入内容
```bash
# 创建空白 docx
officecli create report.docx
# 一级标题
officecli add report.docx /body --type paragraph \
--prop text="月度运营报告" --prop style=Heading1
# 一段正文
officecli add report.docx /body --type paragraph \
--prop text="本月整体运营平稳,各项核心指标均达成预期目标,详细数据见下表。"
# 3x3 表格
officecli add report.docx /body --type table --prop rows=3 --prop cols=3
```
三个 `add` 也可合并为一次原子提交(任一失败则整体回滚):
```bash
officecli batch report.docx --commands '[
{"op":"add","parent":"/body","type":"paragraph","props":{"text":"月度运营报告","styl…判定依据(检查项)
- 使用 officecli create/add/set 命令(≥3 条) · 计数 8
- 目标文件 report.docx
- 添加表格
- 检查文档结构
复现:python scripts/eval_skills.py --only iofficeai-officecli --models nvidia --out /tmp/skill-eval
officecli-academic-paper
达成情况:通过iofficeai-officecli-academic-paperGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 生成学术论文格式的 paper.docx:标题、摘要、3 个章节、一个带编号的公式、一张带题注的表格、参考文献(至少 3 条,正文中引用)。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"23a17f8b-450f-4dc2-9b36-43d760d2dc3f"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-academic-paper --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-officecli-academic-paper --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504146/6 项检查通过耗时 31.2s(首字 2.0s)
真实输出摘录(前 700 字):
以下是使用 `officecli` 生成学术论文格式 `paper.docx` 的完整命令序列,包含标题、摘要、3 个章节、一个带编号的公式、一张带题注的表格和参考文献(至少 3 条,正文中引用):
```bash
# 创建并打开文档
FILE="paper.docx"
officecli create "$FILE"
officecli open "$FILE"
# 设置默认字体
officecli set "$FILE" / --prop defaultFont="Times New Roman"
# 添加标题
officecli add "$FILE" /body --type paragraph --prop text="标题" --prop align=center --prop size=20pt --prop bold=true --prop spaceAfter=24pt
# 添加作者信息
officecli add "$FILE" /body --type paragraph --prop text="作者姓名" --prop align=center --prop size=12pt
officecli add "$FILE" /body --type paragraph --prop text="作者单位" --prop align=center --prop size=11pt --prop spaceAfter=18pt
# 添加摘要
officecli add "$FILE" /body --type paragraph --prop te…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 28
- 目标文件 paper.docx
- 摘要
- 公式
- 参考文献/引用
- 表格题注
复现:python scripts/eval_skills.py --only iofficeai-officecli-academic-paper --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b6/6 项检查通过耗时 328.1s(首字 15.8s)
真实输出摘录(前 700 字):
下面给出一套完整的 `officecli` 命令序列,按顺序执行即可得到一份符合 APA 7 规范、包含标题、摘要、3 个章节、编号公式、带题注表格以及 3 条参考文献(正文中已引用)的 `paper.docx`。
> **注意**:所有命令均在同一 shell 会话中执行,`$FILE` 变量在脚本开始时已定义。
```bash
# 1️⃣ 目标文件
FILE="paper.docx"
# 2️⃣ 创建并打开文档
officecli create "$FILE"
officecli open "$FILE"
# 3️⃣ 统一字体(Times New Roman 12pt)
officecli set "$FILE" / --prop defaultFont="Times New Roman"
# ------------------------------------------------------------------
# 4️⃣ 标题块(单栏,居中)
officecli add "$FILE" /body --type paragraph \
--prop text="The Impact of Remote Work on Team Cohesion" \
--prop align=center --prop size=20pt --prop bold=true --prop spaceAfter=24pt
officecli add "$FILE" /body --type paragraph \
--prop text="Alice…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 35
- 目标文件 paper.docx
- 摘要
- 公式
- 参考文献/引用
- 表格题注
复现:python scripts/eval_skills.py --only iofficeai-officecli-academic-paper --models nvidia_oss --out /tmp/skill-eval
officecli-data-dashboard
达成情况:通过iofficeai-officecli-data-dashboardGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 生成 dashboard.xlsx:Data 表放 12 个月营收和成本,Dashboard 表放 3 个公式驱动的 KPI(总营收、总成本、毛利率)和一个折线图,打开时默认显示 Dashboard。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"9ac69c6a-49d0-40f3-95e0-0beae9b6c3c9"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-data-dashboard --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-officecli-data-dashboard --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504145/5 项检查通过耗时 26.3s(首字 1.9s)
真实输出摘录(前 700 字):
以下是使用 `officecli` 生成 `dashboard.xlsx` 的完整命令序列,其中包含一个 `Data` 表和一个 `Dashboard` 表。`Data` 表包含 12 个月的营收和成本数据,`Dashboard` 表包含 3 个公式驱动的 KPI(总营收、总成本、毛利率)和一个折线图。文件打开时默认显示 `Dashboard` 表。
### Phase 1 — Data sheet: create, import, format
```bash
FILE=dashboard.xlsx
officecli create "$FILE"
officecli import "$FILE" /Sheet1 --file sales.csv --header
officecli set "$FILE" '/Sheet1/col[A]' --prop width=12
officecli set "$FILE" '/Sheet1/col[B]' --prop width=15
officecli set "$FILE" '/Sheet1/col[C]' --prop width=15
officecli set "$FILE" '/Sheet1/B2:B13' --prop numFmt='$#,##0'
officecli set "$FILE" '/Sheet1/C2:C13' --prop numFmt='$#,##0'
officecli set "$FILE" '/Sheet1/A1:C1' --prop fill=1F3864 --prop font.co…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 19
- 目标文件 dashboard.xlsx
- KPI 使用公式引用 Data
- 折线图
- 默认显示 Dashboard
复现:python scripts/eval_skills.py --only iofficeai-officecli-data-dashboard --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b5/5 项检查通过耗时 132.9s(首字 0.4s)
真实输出摘录(前 700 字):
下面给出一套完整的 **officecli** 命令序列,按顺序执行即可得到 `dashboard.xlsx`。
- **Data** 表:12 个月份 + 营收 + 成本
- **Dashboard** 表:3 个 KPI(总营收、总成本、毛利率)+ 1 条折线图
- 打开时默认显示 **Dashboard**。
> **前提**:已在终端中安装并可直接调用 `officecli`。
> 运行时请把所有命令粘贴到同一 shell 会话中,按顺序执行即可。
> 下面的 `FILE` 变量可以自行改成你想要的文件名。
```bash
# 1️⃣ 目标文件
FILE=dashboard.xlsx
# 2️⃣ 创建空文件
officecli create "$FILE"
# ------------------------------------------------------------------
# 3️⃣ Data 表:创建、导入、格式化
# ------------------------------------------------------------------
# 3.1 创建 Data 表(默认第一个工作表已存在,改名为 Data)
officecli set "$FILE" '/Sheet1' --prop name=Data
# 3.2 设置列宽
officecli set "$FILE" '/Data/col[A]' --prop width=12
officecli set "$FILE" '/Data/col[B…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 55
- 目标文件 dashboard.xlsx
- KPI 使用公式引用 Data
- 折线图
- 默认显示 Dashboard
复现:python scripts/eval_skills.py --only iofficeai-officecli-data-dashboard --models nvidia_oss --out /tmp/skill-eval
officecli-docx
达成情况:通过iofficeai-officecli-docxGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 生成一份合同 contract.docx:标题、甲乙双方信息段落、带编号的 5 条条款、签字栏表格、页脚页码。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"e067a594-9d5e-4bd0-ad0f-396fa3532e03"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-docx --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-officecli-docx --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504145/5 项检查通过耗时 26.6s(首字 2.5s)
真实输出摘录(前 700 字):
以下是使用 `officecli` 生成包含标题、甲乙双方信息段落、带编号的 5 条条款、签字栏表格、页脚页码的合同 `contract.docx` 的完整命令序列:
```bash
# 安装 officecli (如果尚未安装)
curl -fsSL https://d.officecli.ai/install.sh | bash
# 打开终端并验证安装
officecli --version
# 创建新文件
FILE="contract.docx"
officecli create "$FILE"
# 打开文件
officecli open "$FILE"
# 添加标题
officecli add "$FILE" /body --type paragraph --prop text="合同" --prop style=Title --prop size=20pt --prop bold=true --prop spaceAfter=12pt
# 添加甲乙双方信息段落
officecli add "$FILE" /body --type paragraph --prop text="甲方: [甲方名称]" --prop style=Heading1 --prop size=14pt --prop bold=true --prop spaceAfter=6pt
officecli add "$FILE" /body --type paragraph --prop text="乙方: [乙方名称]" --prop style=Heading1 --prop size=…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 20
- 目标文件 contract.docx
- 页脚
- 页码
- 签字栏表格
复现:python scripts/eval_skills.py --only iofficeai-officecli-docx --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b5/5 项检查通过耗时 105.9s(首字 0.6s)
真实输出摘录(前 700 字):
下面给出一整套 **officecli** 命令序列,按顺序执行即可在当前目录生成 `contract.docx`。
> **注意**
> - 所有路径和字符串都已用单引号或双引号正确转义,避免 shell 解释。
> - 先 `create` 再 `open`,最后 `save`。
> - 这里使用 `listStyle=number` 让 OfficeCLI 自动生成编号列表。
> - 页脚使用 `PAGE` 字段,居中显示。
```bash
# 1️⃣ 设定文件名
FILE="contract.docx"
# 2️⃣ 创建并打开文档
officecli create "$FILE"
officecli open "$FILE"
# 3️⃣ 标题(Heading1)
officecli add "$FILE" /body \
--type paragraph \
--prop text="合同协议" \
--prop style=Heading1 \
--prop size=20pt \
--prop bold=true \
--prop spaceAfter=12pt
# 4️⃣ 甲乙双方信息段落(Normal)
officecli add "$FILE" /body \
--type paragraph \
--prop text="甲方:XXX有限公司(以下简称“甲方”)" \
--prop size=12pt \
--prop spaceAfter=6pt
officecli add "$FIL…
判定依据(检查项)
- officecli 命令(≥4 条) · 计数 19
- 目标文件 contract.docx
- 页脚
- 页码
- 签字栏表格
复现:python scripts/eval_skills.py --only iofficeai-officecli-docx --models nvidia_oss --out /tmp/skill-eval
officecli-pitch-deck
达成情况:通过iofficeai-officecli-pitch-deckGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 为 AI 客服初创公司做种子轮融资路演 pitch.pptx(10 页左右:问题、方案、市场规模、产品、商业模式、牵引力、竞争、团队、融资需求 300 万美元)。给出页面规划和完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"c454641d-8013-4248-b4b6-f3c713ea83a3"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-pitch-deck --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-officecli-pitch-deck --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-pitch-deck --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b5/5 项检查通过耗时 326.2s(首字 0.6s)
真实输出摘录(前 700 字):
**页面规划(10 页)**
| 页码 | 主题 | 关键内容 |
|------|------|----------|
| 1 | Cover | 公司名、标语、种子轮、$3M、日期 |
| 2 | Problem | 关键痛点 + 3 个数据卡 |
| 3 | Solution | 产品名称 + 3 步流程图 |
| 4 | Market | TAM / SAM / SOM + 来源 |
| 5 | Product | 产品截图 + 3 条功能亮点 |
| 6 | Business Model | LTV / CAC / Payback / GM 四卡片 |
| 7 | Traction | ARR 曲线 + 关键指标 |
| 8 | Competition | 对比表(3 竞争对手 + 你) |
| 9 | Team | 3 人卡片(头像、姓名、角色、前公司) |
|10 | Ask | $3M、Use‑of‑Funds 4 桶饼 + 18 个月跑道 |
> **注意**
> - 所有包含 `$` 的文字必须用 **单引号** 包裹,避免 shell 变量展开。
> - 每页都要加 **speaker notes**,否则会被 Gate 5b 拒绝。
> - 下面给出完整的 `officecli` 命令序列,直接粘贴到终端即可生成 `pitch.pptx`。
---
```bash
# 1️⃣ 先定义文件名
FILE="pitch.pptx"
# ----------------------------------------------------…
判定依据(检查项)
- officecli 命令(≥5 条) · 计数 72
- 目标文件 pitch.pptx
- 市场规模页
- 牵引力页
- 融资需求金额
复现:python scripts/eval_skills.py --only iofficeai-officecli-pitch-deck --models nvidia_oss --out /tmp/skill-eval
officecli-pptx
达成情况:通过iofficeai-officecli-pptxGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 生成 5 页产品介绍 product.pptx:封面、痛点、方案、带柱状图的数据页(Q1 30、Q2 45、Q3 70)、联系方式。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"73f3c778-d66d-4861-8dd6-15657eaef5d7"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-pptx --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-officecli-pptx --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504144/4 项检查通过耗时 34.0s(首字 2.5s)
真实输出摘录(前 700 字):
以下是使用 officecli 生成包含封面、痛点、方案、带柱状图的数据页(Q1 30、Q2 45、Q3 70)以及联系方式的 5 页产品介绍 `product.pptx` 的完整命令序列:
```bash
# 安装 officecli (如果尚未安装)
curl -fsSL https://d.officecli.ai/install.sh | bash
# 验证 officecli 版本
officecli --version
# 创建新的 PPTX 文件
officecli create "product.pptx"
# 打开 PPTX 文件
officecli open "product.pptx"
# 生成封面
officecli add "product.pptx" / --type slide --prop layout=blank --prop background=1E2761
officecli add "product.pptx" /slide[1] --type shape --prop text="产品介绍" \
--prop x=2cm --prop y=7cm --prop width=29.87cm --prop height=3cm \
--prop font=Georgia --prop size=44 --prop bold=true --prop color=FFFFFF --prop align=center
officecli add "product.pptx" /slide[1] --type shape --p…
判定依据(检查项)
- officecli 命令(≥5 条) · 计数 17
- 目标文件 product.pptx
- 柱状图
- 使用给定数据
复现:python scripts/eval_skills.py --only iofficeai-officecli-pptx --models zhipu --out /tmp/skill-eval
调用失败NVIDIA NIMopenai/gpt-oss-20b未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-officecli-pptx --models nvidia_oss --out /tmp/skill-eval
officecli-word-form
达成情况:通过iofficeai-officecli-word-formGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 生成可填写的请假申请表 leave-form.docx:姓名(文本框)、部门(下拉:研发/市场/行政)、请假日期(日期选择器)、是否带薪(复选框)。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"4ed4d233-aea7-41a5-abe8-8d39d93e1f58"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-word-form --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only iofficeai-officecli-word-form --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-word-form --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b6/6 项检查通过耗时 68.1s(首字 0.7s)
真实输出摘录(前 700 字):
下面给出一套完整的 **officecli** 命令序列,按顺序执行即可得到一个可填写的请假申请表 `leave-form.docx`。
> **注意**:
> - 所有命令都使用 `FILE` 变量,方便复制粘贴。
> - 先 `create` 再 `open`,最后 `close`。
> - 保护模式 `forms` 必须放在 **最后**,否则后续的 `set`/`add` 会被拒绝。
> - 每个 SDT 都给 `alias` 与 `tag`,并在 `add` 时直接写好 `items`/`format`,不需要 `raw-set`。
> - 复选框使用 `formfield`,`name` 长度不超过 20。
```bash
# 1️⃣ 预备工作:清理旧文件(可选)
FILE=leave-form.docx
officecli close "$FILE" 2>/dev/null; rm -f "$FILE"
# 2️⃣ 创建并打开文档
officecli create "$FILE"
officecli open "$FILE"
# 3️⃣ 文档元数据(可选)
officecli set "$FILE" / \
--prop title="请假申请表" \
--prop docDefaults.font="Calibri" \
--prop docDefaults.fontSize="12pt"
# 4️⃣ 标题
officecli add "$FILE" /body --type paragraph \
--pro…
判定依据(检查项)
- officecli 命令(≥3 条) · 计数 15
- 目标文件 leave-form.docx
- 使用内容控件 SDT
- 下拉控件
- 日期控件
- 复选框
复现:python scripts/eval_skills.py --only iofficeai-officecli-word-form --models nvidia_oss --out /tmp/skill-eval
officecli-xlsx
达成情况:通过iofficeai-officecli-xlsxGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 officecli 生成销售表 sales.xlsx:A 列月份(1-6 月)、B 列销售额、B8 用公式求和、C 列环比增长率公式、表头加粗并冻结首行。给出完整命令序列。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"ff3bc9de-a190-498f-aa67-8c7ff2c5cae5"}}
复现:python scripts/eval_skills.py --only iofficeai-officecli-xlsx --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.35/5 项检查通过耗时 273.7s(首字 1.0s)
真实输出摘录(前 700 字):
下面是完整的构建方案与命令序列。当前环境无法实际执行,请按顺序运行并对照每步的预期结果验证。
## 表结构设计
| | A | B | C |
|---|---|---|---|
| **1** | 月份(表头,加粗) | 销售额(元)(表头,加粗) | 环比增长率(表头,加粗) |
| 2-7 | 1月~6月 | 销售额(示例数据,蓝色=输入) | `IFERROR((本月-上月)/上月,"-")` |
| **8** | 合计 | `SUM(B2:B7)` | —(留空) |
设计要点:所有可计算的数都是公式而非硬编码;C 列分母用 `IFERROR` 兜底(保证零公式错误);1 月无上月,C2 显示 `-`;货币单位放在表头;B2:B7 蓝色字体标记"可替换的硬编码输入",公式保持黑色。
## 命令序列
```bash
# 前置:确认 officecli 可用(缺失则先安装)
officecli --version
# macOS/Linux 安装: curl -fsSL https://d.officecli.ai/install.sh | bash
FILE="sales.xlsx"
# 1) 创建并打开工作簿
officecli create "$FILE"
officecli open "$FILE"
# 2) 表头:加粗 + 深蓝底白字
officecli set "$FILE" /Sheet1/A1 --prop value='月份' --prop bold=true --prop fill=1F4E79 --prop font.…
判定依据(检查项)
- officecli 命令(≥3 条) · 计数 31
- 目标文件 sales.xlsx
- 使用 SUM 公式
- 表头加粗
- 冻结首行
复现:python scripts/eval_skills.py --only iofficeai-officecli-xlsx --models nvidia --out /tmp/skill-eval
open-code-review
达成情况:通过alibaba-open-code-reviewGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
审查这次改动(你无法运行 ocr CLI,请直接按 Skill 的报告格式输出审查结果):
```diff
--- a/api/user.py
+++ b/api/user.py
@@ -10,3 +10,6 @@
+def get_user(request):
+ uid = request.args['id']
+ row = db.execute(f"SELECT * FROM users WHERE id = {uid}").fetchone()
+ return jsonify(dict(row))
```
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"6f2b4f4a-cd04-434d-97b7-56662b46412e"}}
复现:python scripts/eval_skills.py --only alibaba-open-code-review --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 178.7s(首字 1.3s)
真实输出摘录(前 700 字):
按照 Skill 流程,正常情况下我会先提取业务上下文,然后执行以下命令(当前环境无法运行,仅列出以供参考):
```bash
ocr review --audience agent \
--background "新增用户查询接口 get_user:从 URL 参数 id 读取用户 ID,查询 users 表并以 JSON 返回该用户记录" \
--output /tmp/ocr_out.txt
```
以下为按 Skill 报告格式输出的人工审查结果。
## Code Review Results
**Files reviewed**: 1
**Issues found**: 1 critical, 1 high, 3 medium
### Critical
- **`api/user.py:12`** [security] — SQL 注入漏洞:`uid` 直接来自用户可控的请求参数,未经任何校验就通过 f-string 拼接进 SQL。攻击者传入 `1 OR 1=1`、`1; DROP TABLE users--` 之类的值即可篡改查询逻辑、拖库,甚至执行多条语句(取决于后端驱动)。
> Recommendation: 使用参数化查询,禁止字符串拼接 SQL:
> ```python
> row = db.execute("SELECT * FROM users WHERE id = ?", (uid,)).fetchone()
> ```
> 若使用 SQLAlchemy 2.x,需用 `text()` 包裹并绑定参数:`db.…判定依据(检查项)
- 按严重度分级
- 发现 SQL 注入
- 定位到行
- 给出参数化修复
复现:python scripts/eval_skills.py --only alibaba-open-code-review --models nvidia --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 Python 写一个脚本:把 a.pdf 和 b.pdf 合并为 merged.pdf,并把合并后文档的第 2 页顺时针旋转 90 度,再把全部文字抽取保存到 out.txt。给出完整代码。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash5/5 项检查通过耗时 23.0s(首字 3.2s)
真实输出摘录(前 700 字):
环境里我没法真的执行,下面给你**完整可直接运行的脚本**和运行命令,你本地跑一下即可。
## 依赖安装
```bash
pip install pypdf pdfplumber
# 可选:命令行方式抽取文字
# apt-get install poppler-utils (提供 pdftotext)
```
## 完整脚本 `merge_rotate_extract.py`
```python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
把 a.pdf 和 b.pdf 合并为 merged.pdf,
将合并后文档的第 2 页顺时针旋转 90 度,
再把全部文字抽取保存到 out.txt。
"""
from pathlib import Path
from pypdf import PdfReader, PdfWriter
try:
import pdfplumber # 抽取文字(带布局)
HAS_PDFPLUMBER = True
except ImportError:
HAS_PDFPLUMBER = False
INPUTS = ["a.pdf", "b.pdf"]
MERGED = "merged.pdf"
OUT_TXT = "out.txt"
ROTATE_PAGE_INDEX = 1 # 第 2 页(0-based)
ROTATE_DEGREES = 90 # 正数 = 顺时针
def merge_pdfs(inpu…判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 使用 PDF 库合并
- 执行页面旋转
- 抽取文字
- 写入 out.txt
复现:python scripts/eval_skills.py --only anthropics-pdf --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.35/5 项检查通过耗时 133.7s(首字 1.5s)
真实输出摘录(前 700 字):
下面是完整方案,使用 `pypdf` 完成合并与旋转,用 `pdfplumber` 抽取文字(按 Skill 推荐的分工)。
## 1. 安装依赖
```bash
pip install pypdf pdfplumber
```
## 2. 完整代码(merge_rotate_extract.py)
```python
from pypdf import PdfReader, PdfWriter
import pdfplumber
# ---------- 1. 合并 a.pdf 和 b.pdf ----------
writer = PdfWriter()
for pdf_file in ["a.pdf", "b.pdf"]:
reader = PdfReader(pdf_file)
for page in reader.pages:
writer.add_page(page)
# ---------- 2. 将合并后文档的第 2 页顺时针旋转 90 度 ----------
# 注意:先合并再旋转,这样无论第 2 页来自 a.pdf 还是 b.pdf 都能正确处理
if len(writer.pages) >= 2:
writer.pages[1].rotate(90) # pypdf 中正角度 = 顺时针
else:
print("警告:合并后不足 2 页,跳过旋转步骤。")
with open("merged.pdf", "wb") as f:
writer.write(f)
# --------…判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 使用 PDF 库合并
- 执行页面旋转
- 抽取文字
- 写入 out.txt
复现:python scripts/eval_skills.py --only anthropics-pdf --models nvidia --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用这个工作流把下面的产品介绍做成 6 页可编辑 PPTX:『FreeLLM:每日核验的免费 AI 模型目录,80+ 模型实测、可用性探测、Skill 实测、国内可用标注。』给出页面规划、至少 1 页的 SVG 示例和导出 PPTX 的命令/步骤。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"213a2e0b-15b1-48e3-b85a-72bd1b42c2b3"}}
复现:python scripts/eval_skills.py --only hugohe3-ppt-master --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only hugohe3-ppt-master --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only hugohe3-ppt-master --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b3/3 项检查通过耗时 71.6s(首字 0.4s)
真实输出摘录(前 700 字):
## 生成 6 页可编辑 PPTX 的工作流
下面给出 **计划(Plan)**、**执行(Do)**、**检查(Check)**、**导出(Act)** 的完整步骤,供你直接在本地执行。
> ⚠️ 本回答仅提供命令与示例文件内容,**不**执行任何脚本。请在你自己的环境中按顺序运行。
---
### 1️⃣ 计划(Plan) – 步骤 1–5
| 步骤 | 说明 | 需要的输入 |
|------|------|------------|
| 1 | 生成页面规划(JSON) | 你提供的产品简介文本 |
| 2 | 生成页面内容(文本、图片、图表等) | 规划文件 |
| 3 | 生成 SVG 视觉示例(可选) | 规划文件 |
| 4 | 生成 PPTX 模板或引用已有模板 | 规划文件 |
| 5 | 生成最终的 `plan.json`(包含所有页面的布局、文本、图形等) | 规划文件 |
> **示例** `plan.json`(仅示例,实际内容请根据你的需求自行生成):
```json
{
"title": "FreeLLM 产品介绍",
"pages": [
{
"id": "page1",
"layout": "Title",
"title": "FreeLLM",
"subtitle": "每日核验的免费 AI 模型目录"
},
{
"id": "page2",
"layout": "Content",
"title": "目录概…判定依据(检查项)
- 给出 SVG 页面示例
- 导出 PPTX
- 6 页规划 · 计数 7
复现:python scripts/eval_skills.py --only hugohe3-ppt-master --models nvidia_oss --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
为『2026 Q3 业务复盘』生成一个 5 页 PPTX 的脚本:封面、3 页内容(其中 1 页包含柱状图,数据:7 月 120、8 月 135、9 月 160)、结尾页。按 Skill 推荐的方式给出完整代码和运行命令。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash4/4 项检查通过耗时 213.2s(首字 2.6s)
真实输出摘录(前 700 字):
下面按 Skill 推荐的方式给出:**新建 deck → 用 `pptxgenjs` 写生成脚本**(而不是手工拼 XML),并附上生成后的校验与 QA 命令。
## 一、方案与内容结构
| 页 | 内容 | 版式 | 视觉元素 |
|---|---|---|---|
| 1 | 封面 | 深色底 + 角落同心圆装饰 | 半透明圆(motif) |
| 2 | Q3 关键成果 | 3 张并排数据卡 | 大字号指标 + 卡片 |
| 3 | 月度营收趋势 | 左图表右洞察卡 | **原生柱状图**(120/135/160) |
| 4 | Q4 重点举措 | 编号圆 + 文本行(换版式) | 彩色圆形序号 |
| 5 | 结尾 | 深色底(与封面呼应) | 半透明圆 |
调色板:**Teal Trust**(深青 `028090` 主色占据大部分视觉重量,海沫 `00A896` 辅助,薄荷 `02C39A` 点缀)——不用默认蓝,也不用米色底。
## 二、生成脚本 `make-q3-deck.js`
```js
/**
* 2026 Q3 业务复盘 —— 5 页 PPTX 生成脚本(pptxgenjs)
* 运行:node make-q3-deck.js
*/
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.3" × 7.5",必须在 addSlide 之前设置
pres.title = "2…判定依据(检查项)
- 代码块可通过语法检查 · 最长 js 代码块:通过
- 使用 PPTX 生成库
- 包含柱状图
- 图表使用给定数据
复现:python scripts/eval_skills.py --only anthropics-pptx --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-pptx --models nvidia --out /tmp/skill-eval
receiving-code-review
达成情况:通过obra-receiving-code-reviewGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
审查者给了我两条意见:1)『把 parse_date() 里的 try/except 全删掉,异常没必要处理』——这个函数解析用户上传 CSV 的日期列,经常有脏数据;2)『把变量名 d 改成 parsed_date』。请按 Skill 回应并决定怎么做。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"baf1820c-b7da-4a42-8dcb-d500c0195ea0"}}
复现:python scripts/eval_skills.py --only obra-receiving-code-review --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 207.4s(首字 0.8s)
真实输出摘录(前 700 字):
**两条意见的理解复述:**
1. 删除 `parse_date()` 中的全部 try/except,不做异常处理
2. 变量 `d` 重命名为 `parsed_date`
两条的措辞都清楚,不存在需要澄清的歧义,所以不需要整体暂停。但意见 1 的前提对这个代码库不成立,按流程先做技术评估再决定。
---
## 意见 1 —— 不实施,需要反驳
`parse_date()` 解析的是**用户上传的 CSV 日期列**,脏数据是常态而非例外。`datetime.strptime` / `pandas.to_datetime` 遇到格式错误的值会直接抛 `ValueError`。删掉 try/except 的后果是:第一格坏日期就让整个导入崩溃——用户上传一个只有一处日期写错的文件就全部失败。这大概率正是现有异常处理存在的原因,删除它属于破坏现有功能。
反驳前我会先收集实证(本环境无法执行命令,以下是我会运行的具体命令和要验证的内容):
```bash
# 确认调用方是否依赖"坏日期不抛异常"的行为(返回 None / 跳行 / 记录)
rg -n 'parse_date' --type py
# 找脏数据相关的测试用例——删除 try/except 后这些用例应当失败,即反驳的直接证据
rg -n -i 'invalid|malformed|dirty|bad.?date' tests/
pytest -q -k 'date or csv'
```
拟回复审查者(若是 GitHub inline comment,在对应 comment thread 里回复,不发…
判定依据(检查项)
- 没有表演式附和
- 对第 1 条有理有据地提出异议
- 接受第 2 条重命名
- 实施前先验证
复现:python scripts/eval_skills.py --only obra-receiving-code-review --models nvidia --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 RenderCV 给我写简历 YAML:姓名 李明,邮箱 liming@example.com,教育:浙江大学 计算机 2016-2020;经历:某电商公司 后端工程师 2020-至今,负责订单系统重构。使用 classic 主题,并给出渲染命令。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"0532aa36-0e44-4ccc-82f3-cfe6ceefc01b"}}
复现:python scripts/eval_skills.py --only rendercv-rendercv --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 173.2s(首字 5.0s)
真实输出摘录(前 700 字):
下面是为你生成的简历 YAML 和渲染命令。
## 1. 简历文件:`Li_Ming_CV.yaml`
```yaml
# yaml-language-server: $schema=https://raw.githubusercontent.com/rendercv/rendercv/refs/tags/v2.8/schema.json
cv:
name: 李明
email: liming@example.com
sections:
教育经历:
- institution: 浙江大学
area: 计算机
start_date: 2016
end_date: 2020
工作经历:
- company: 某电商公司
position: 后端工程师
start_date: 2020
end_date: present
highlights:
- 负责订单系统重构
design:
theme: classic
locale:
language: mandarin_chinese
```
几点说明:
- **日期**:你只给了年份,所以 `start_date`/`end_date` 用 `2016`、`2020` 这种纯年份格式(符合严格格式要求)。如果知道月份,可改成 `2016-09` / `2020-06` 这样更精确。
- **`locale: mandarin_chine…判定依据(检查项)
- YAML 可解析且含 cv 顶层键
- 使用 classic 主题
- 给出 rendercv render 命令
- 包含 sections
复现:python scripts/eval_skills.py --only rendercv-rendercv --models nvidia --out /tmp/skill-eval
requesting-code-review
达成情况:通过obra-requesting-code-reviewGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我刚完成『登录接口限流』功能,基线提交是 a1b2c3d,当前 HEAD 是 d4e5f6a,需求见 docs/specs/rate-limit.md。请按 Skill 发起代码审查。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"a44ea2f2-1c38-4725-b493-7da6de1c2afa"}}
复现:python scripts/eval_skills.py --only obra-requesting-code-review --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 48.2s(首字 0.8s)
真实输出摘录(前 700 字):
好的,按照 Skill 流程发起代码审查。由于当前环境无法执行命令、读取文件或真正派发子代理,下面给出我会执行的**具体命令**和**派发给 code reviewer 子代理的完整提示词**,供实际执行时使用。
## 第 1 步:确认提交范围
你已提供 SHA,我会先验证它们有效并查看变更范围:
```bash
# 验证两个提交存在
git rev-parse a1b2c3d d4e5f6a
# 确认变更内容与"登录接口限流"相符
git log --oneline a1b2c3d..d4e5f6a
git diff --stat a1b2c3d d4e5f6a
```
## 第 2 步:派发 code reviewer 子代理
Skill 要求使用 `code-reviewer.md` 模板并填入占位符。我无法在当前环境读取该模板文件,以下是基于 Skill 规定的占位符结构(`{DESCRIPTION}`、`{PLAN_OR_REQUIREMENTS}`、`{BASE_SHA}`、`{HEAD_SHA}`)构建的派发提示词——实际执行时应以模板文件为准填入相同内容:
```
[Dispatch general-purpose subagent]
You are a code reviewer. Evaluate the changes between two commits
against their requirements. Do not assume any prior context.
## What was built (DESCRIPTION…判定依据(检查项)
- 使用提交 SHA 界定审查范围
- 派发审查代理/审查者
- 按严重程度处理反馈
复现:python scripts/eval_skills.py --only obra-requesting-code-review --models nvidia --out /tmp/skill-eval
resume-beautifier
达成情况:通过jzcreative-html-resume-beautifierGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
把下面的简历内容排成一页 A4 的精美 HTML 简历(隐私安全):王芳,产品经理,电话 13812345678,邮箱 wangfang@example.com;经历:2021-至今 某 SaaS 公司 高级产品经理,主导计费系统改版,付费转化提升 23%;教育:复旦大学 2017-2021。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"45ce2b8e-06d2-4176-92a0-0786a8a6c93d"}}
复现:python scripts/eval_skills.py --only jzcreative-html-resume-beautifier --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only jzcreative-html-resume-beautifier --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only jzcreative-html-resume-beautifier --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 43.6s(首字 0.3s)
真实输出摘录(前 700 字):
下面给出一份 **A4 版、隐私安全** 的 HTML 简历示例。
- 所有个人信息(姓名、电话、邮箱)已被占位符替换,避免泄露。
- 页面已自包含:所有 CSS、JS(包括 `html2canvas`)均以 `<script>` 或 `<style>` 直接嵌入,**不再依赖 CDN**,可在 `file://` 环境下正常导出 PNG/PDF。
- 你可以直接把下面的代码保存为 `resume.html`,用浏览器打开即可看到排版好的简历,并可使用页面顶部的导出按钮生成 PNG/PDF。
> **⚠️ 重要提示**
> 1. 由于当前环境无法执行脚本,下面的代码仅展示最终的 HTML 结构。
> 2. 若你想在自己的项目中使用 `scripts/build_resume_html.py` 自动生成,请确保已将 `html2canvas` 下载到本地并在脚本中嵌入。
---
## 1. 生成 HTML 的命令(示例)
```bash
# 1. 先把简历内容写成 JSON(已在此示例中直接写入)
cat > resume.json <<'EOF'
{
"name": "王芳",
"title": "产品经理",
"contact": {
"phone": "13812345678",
"email": "wangfang@example.com"
},
"experience": [
{
"start": "2021",
"end": "至今",
"company…判定依据(检查项)
- 输出完整 HTML 文档且可解析 · HTML 2662 字符
- 按 A4 页面排版
- 保留 23% 成果数据
- 支持打印
复现:python scripts/eval_skills.py --only jzcreative-html-resume-beautifier --models nvidia_oss --out /tmp/skill-eval
scrum-sage
达成情况:通过michalparkola-scrum-sageGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
分析我们团队最近 3 个 Sprint:计划点数 40/42/45,完成 28/30/26;每个 Sprint 都有 2-3 个需求中途插入;站会经常超过 30 分钟。请给出诊断和改进建议。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"4fc9acf7-b9e9-4bcd-9e12-a91b76ed523d"}}
复现:python scripts/eval_skills.py --only michalparkola-scrum-sage --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only michalparkola-scrum-sage --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504144/4 项检查通过耗时 18.6s(首字 0.9s)
真实输出摘录(前 700 字):
### Sprint 分析诊断
#### 基本 Sprint 分析
1. **交付健康**
- **计划点数**: 40/42/45
- **完成点数**: 28/30/26
- **完成率**: 70%/71%/58%
- **趋势**: 第三个 Sprint 完成率显著下降,需要特别关注。
2. **Blockers**
- 每个 Sprint 都有 2-3 个需求中途插入,这可能是导致完成率下降的原因之一。
3. **Velocity Pattern**
- 第一个 Sprint: 28/40 = 70%
- 第二个 Sprint: 30/42 = 71%
- 第三个 Sprint: 26/45 = 58%
- Velocity 有波动,尤其是第三个 Sprint 下降明显。
4. **立即改进**
- 减少 Sprint 中途插入的需求。
- 优化站会时间。
#### 专家 Sprint 分析
1. **熵分析**
- Sprint 中途插入的需求增加了团队的熵,导致任务切换和重新规划,影响了效率。
2. **认知负荷映射**
- 站会经常超过 30 分钟,增加了团队的认知负荷,影响了专注度和效率。
3. **系统性瓶颈识别**
- 需求管理流程可能存在瓶颈,导致需求在中途插入。
- 站会流程可能存在瓶颈,导致时间超长。
4. **Free Energy 风险信号**
- 中途插入的需求增加了不可预测性,需要采取措施减少这种风险。
5. **Flow 效…
判定依据(检查项)
- 分析速率/完成率
- 指出中途插入需求问题
- 处理站会超时
- 给出改进建议
复现:python scripts/eval_skills.py --only michalparkola-scrum-sage --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 31.7s(首字 0.2s)
真实输出摘录(前 700 字):
**Sprint Health Snapshot (Basic)**
| Sprint | Planned | Completed | % Completed | Scope‑Creep Events | Stand‑up Avg. |
|--------|---------|-----------|-------------|--------------------|---------------|
| 1 | 40 | 28 | 70 % | 2 | >30 min |
| 2 | 42 | 30 | 71 % | 3 | >30 min |
| 3 | 45 | 26 | 58 % | 2 | >30 min |
---
## 1️⃣ Basic Sprint Analysis
| Lens | Observation | Immediate Improvement |
|------|------------|-----------------------|
| **Delivery Health** | Velocity dropped from 70 % to 58 % in Sprint 3. | Re‑evaluate the 45‑point plan: were all stories truly “ready”? |
| **Scope Creep** | 2–3 mid‑sprint insertions each sprint. | Adopt a *“no‑new‑stories‑in‑mid‑sprint”* rule or a very…
判定依据(检查项)
- 分析速率/完成率
- 指出中途插入需求问题
- 处理站会超时
- 给出改进建议
复现:python scripts/eval_skills.py --only michalparkola-scrum-sage --models nvidia_oss --out /tmp/skill-eval
security-audit
达成情况:通过cloudflare-security-auditGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
对下面这个 Express 接口做安全审计:
```js
app.get('/api/orders/:id', async (req, res) => {
const order = await db.query(`SELECT * FROM orders WHERE id = ${req.params.id}`);
res.json(order);
});
```
(服务对公网开放,已有登录中间件但此路由未使用。)
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"7f075dc0-0113-4c2a-8f9f-c34117863f88"}}
复现:python scripts/eval_skills.py --only cloudflare-security-audit --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only cloudflare-security-audit --models nvidia --out /tmp/skill-eval
部分通过智谱 BigModelglm-4-flash-2504143/4 项检查通过耗时 23.9s(首字 1.1s)
真实输出摘录(前 700 字):
根据您提供的 Express 接口代码,我将进行安全审计。由于服务对公网开放且此路由未使用登录中间件,我们需要特别关注潜在的安全风险。
### 1. SQL 注入
在当前代码中,直接将 `req.params.id` 插入到 SQL 查询中,这可能导致 SQL 注入攻击。攻击者可以通过构造特殊的 `id` 参数来执行恶意的 SQL 命令。
**建议修复**:
使用参数化查询来防止 SQL 注入。
```js
app.get('/api/orders/:id', async (req, res) => {
const orderId = req.params.id;
const order = await db.query('SELECT * FROM orders WHERE id = $1', [orderId]);
res.json(order);
});
```
### 2. 未授权访问
由于此路由未使用登录中间件,任何访问者都可以通过发送 GET 请求到 `/api/orders/:id` 来获取订单信息,即使他们没有权限查看这些订单。
**建议修复**:
在路由中添加权限检查,确保只有授权用户才能访问订单信息。
```js
app.get('/api/orders/:id', async (req, res) => {
if (!req.user || !req.user.isAuthorized) {
return res.status(403).json({ error: 'Unauthorized' });
}
co…判定依据(检查项)
- 发现 SQL 注入
- 发现越权/缺少授权
- 给出严重度/置信度
- 给出修复建议
复现:python scripts/eval_skills.py --only cloudflare-security-audit --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 54.9s(首字 0.4s)
真实输出摘录(前 700 字):
**安全审计报告 – Express 路由 `/api/orders/:id`**
| 位置 | 代码片段 |
|------|----------|
| `app.get('/api/orders/:id', async (req, res) => { … })` | `const order = await db.query(`SELECT * FROM orders WHERE id = ${req.params.id}`);` |
---
## 1. 发现
| # | 发现 | 说明 | 受影响的边界 | 结果 | 影响范围 | 影响级别 |
|---|------|------|-------------|------|----------|----------|
| 1 | **SQL 注入** | `req.params.id` 被直接拼接到 SQL 语句中,未做任何转义或参数化。 | 数据库 | 任意 SQL 语句被执行。 | 所有订单表数据,甚至其他表。 | **高** |
| 2 | **缺失身份验证** | 路由未使用登录中间件,任何人都能访问。 | 访问控制 | 未经授权的读取。 | 所有订单数据。 | **高** |
| 3 | **缺少错误处理** | 未捕获 `db.query` 可能抛出的异常,导致服务器崩溃或信息泄露。 | 稳定性 | 服务器错误信息泄露。 | 服务器。 | **低**(信息泄露) |
> **核心安全边界**:
> - **身份验证**:谁可以访问此 API?
> - **授权**:用户是否只能读取自己的订单…判定依据(检查项)
- 发现 SQL 注入
- 发现越权/缺少授权
- 给出严重度/置信度
- 给出修复建议
复现:python scripts/eval_skills.py --only cloudflare-security-audit --models nvidia_oss --out /tmp/skill-eval
ship-learn-next
达成情况:通过michalparkola-ship-learn-nextGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我刚看完一个讲『用 FastAPI 构建 REST API』的教程。请把它转成可执行的学习/实践计划。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"580ed028-0844-40b5-a98d-8c628772f145"}}
复现:python scripts/eval_skills.py --only michalparkola-ship-learn-next --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only michalparkola-ship-learn-next --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504143/3 项检查通过耗时 33.3s(首字 1.2s)
真实输出摘录(前 700 字):
好的,让我们将这个教程转化为一个可执行的学习/实践计划。首先,我们需要明确一些关键信息:
1. **教程内容**:用 FastAPI 构建 REST API
2. **目标**:在 4-8 周内能够独立构建一个 REST API
3. **成功标准**:能够创建一个功能完整的 REST API,并能够部署和测试
基于这些信息,我们可以开始设计我们的 Ship-Learn-Next 计划。
### Step 1: Read the Content
假设我们已经阅读了教程的内容,接下来我们将提取核心教训。
### Step 2: Extract Core Lessons
从教程中,我们可以提取以下核心教训:
- **Main advice/lessons**:使用 FastAPI 构建 REST API 的基本步骤和最佳实践
- **Actionable principles**:如何设计 REST API 的端点、如何处理请求和响应、如何进行错误处理
- **Skills being taught**:FastAPI 的基本使用、Python 的 RESTful 设计、API 测试和部署
- **Examples/case studies**:教程中提供的示例代码和项目
### Step 3: Define the Quest
根据教程内容,我们的学习目标可以设定为:
- **Goal**:在 4-8 周内构建一个功能完整的 REST API,并能够部署和测试
### Step 4: Design Rep 1 (The First Iteration)
我们将…
判定依据(检查项)
- 按 rep(反复练习)组织
- 包含交付/上线
- 包含反思/下一步
复现:python scripts/eval_skills.py --only michalparkola-ship-learn-next --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b3/3 项检查通过耗时 47.0s(首字 0.5s)
真实输出摘录(前 700 字):
好的,让我们把这段 FastAPI 教程变成一个可执行的学习/实践计划。
先帮你把目标具体化,然后再给出第一个可交付的“Rep 1”。
---
## 先问你几个问题
1. **你想在 4–8 周内完成什么?**
例如:
- “构建一个完整的 CRUD API 并部署到 Render”
- “实现用户认证并写单元测试”
- “把 FastAPI 与数据库(PostgreSQL)集成”
2. **成功的标志是什么?**
- “API 能在本地 `localhost:8000` 正常工作并通过 Postman 访问”
- “部署后能在公开域名访问并返回 200”
- “单元测试覆盖率 ≥ 80%”
3. **你想先交付什么?**
- “一个最小可运行的 FastAPI 项目(包含一个 `/items` 路由)”
- “一个 Dockerfile 并在本地容器化”
- “一个 GitHub 仓库并推送代码”
---
## 先给你一个示例的 **Rep 1**(如果你想直接开始)
> **注意**:这只是一个模板,真正的目标和细节请根据你自己的回答来调整。
```markdown
# Ship-Learn-Next Plan - FastAPI 基础 API
## Quest Overview
**Goal**: 在 4–8 周内构建并部署一个完整的 FastAPI REST API(含 CRUD、认证、测试)。
**Source**: 《用 FastAPI 构…
判定依据(检查项)
- 按 rep(反复练习)组织
- 包含交付/上线
- 包含反思/下一步
复现:python scripts/eval_skills.py --only michalparkola-ship-learn-next --models nvidia_oss --out /tmp/skill-eval
skill-creator
达成情况:通过anthropics-skill-creatorGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
帮我创建一个名为 weekly-report 的 Skill:它把最近 7 天的 git log 整理成中文周报(按 新功能/修复/其他 分组)。请输出完整的 SKILL.md 内容。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash4/4 项检查通过耗时 121.0s(首字 2.9s)
真实输出摘录(前 700 字):
下面是我按 `skill-creator` 的写法给 `weekly-report` 起草的完整 SKILL.md,以及它引用到的采集脚本。
先说清楚:当前环境我**没有**运行任何命令,所以下面的命令、脚本都是"待验证"的状态,需要你在本地 git 仓库里跑一遍确认(尤其是脚本的转义和时间范围)。
---
## ⚠️ 我做的几个假设(如果不符,告诉我我改)
1. **默认范围**:`--since="7 days ago"`(滚动 7×24 小时),不是"自然周一到周日"。用户说"上周""本周"时再换算成明确日期。
2. **默认不过滤作者**:拉仓库全部提交。只有用户说"我做的"才加 `--author`。
3. **默认只当前分支**,排除合并提交,不递归子模块。
4. 输出**先打在对话里**,问过用户再落盘成文件。
---
## ✅ SKILL.md 全文
```markdown
---
name: weekly-report
description: 把最近 7 天的 git 提交整理成中文周报,按「新功能 / 修复 / 其他」分组。当用户提到周报、日报、工作总结、工作汇报、本周做了什么、这周提交了什么、总结一下最近的改动、给周会准备材料、写 changelog 或 release notes、或者想把 git log 和 commit 历史整理成人话时,都应该使用这个 skill。即使用户没有明说「周报」或「git log」这两个词,只要场景是回顾一段时间内的代码改动并产出一份可读的总结,也请用它。
---
# 周报生成(git log → 中文周…
判定依据(检查项)
- 包含 YAML frontmatter(name/description)
- name 为 weekly-report
- 包含 git log 步骤
- 有清晰的章节结构(≥2 个标题) · 计数 27
复现:python scripts/eval_skills.py --only anthropics-skill-creator --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 201.1s(首字 2.1s)
真实输出摘录(前 700 字):
好的!在写之前,先说明我替你做的几个默认设计决定(都可以改):
1. **输出为 Markdown**,方便贴进邮件 / Wiki / 飞书钉钉
2. **不只是罗列 git log**:会把简略的 commit message 改写成通顺的中文、合并同一件事的多个提交、每条附 commit hash 便于追溯
3. **默认加一个「概览」段**(提交总数、参与人员),周报常见配置,不需要可以去掉
4. **默认统计滚动的最近 7 天**,用户说"上周"或指定日期时自动调整
5. **跳过 merge commit**,因为它们基本不含有效信息
以下是完整的 SKILL.md:
````markdown
---
name: weekly-report
description: 把 git 仓库最近 7 天(或用户指定时间段)的提交记录整理成结构化中文周报,按「新功能 / 修复 / 其他」三组呈现,附提交统计。只要用户提到周报、weekly report、工作总结、汇报本周进展、梳理或总结最近的 git 提交、standup 汇报、给领导写进展汇报等场景,即使没有明说"周报"二字,也应使用此 skill。
compatibility: 需要系统安装 git,且目标目录是一个 git 仓库
---
# Weekly Report — Git 中文周报生成器
把一堆零散的 git 提交记录变成一份能直接发给同事、上级的中文周报。这个 skill 的价值不在"罗列提交",而在于三件事:**分类**(新功能/修复/其他)、**改写**(把简略的 commit message 变…
判定依据(检查项)
- 包含 YAML frontmatter(name/description)
- name 为 weekly-report
- 包含 git log 步骤
- 有清晰的章节结构(≥2 个标题) · 计数 31
复现:python scripts/eval_skills.py --only anthropics-skill-creator --models nvidia --out /tmp/skill-eval
subagent-driven-development
达成情况:通过obra-subagent-driven-developmentGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我有一份已写好的实现计划,包含 3 个相互独立的任务:A) 新增 CSV 导出;B) 修复分页 off-by-one;C) 给设置页加暗色模式。请按 Skill 在当前会话里执行,说明你的流程。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"9022edcf-9b16-460e-87cb-d7122e414fb6"}}
复现:python scripts/eval_skills.py --only obra-subagent-driven-development --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only obra-subagent-driven-development --models nvidia --out /tmp/skill-eval
调用失败智谱 BigModelglm-4-flash-250414未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"code":"1302","message":"您的账户已达到速率限制,请您控制请求频率"}}
复现:python scripts/eval_skills.py --only obra-subagent-driven-development --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 128.4s(首字 0.3s)
真实输出摘录(前 700 字):
**执行流程概览**
(所有命令均按顺序列出,实际执行时请在终端逐行运行;本对话仅展示计划、命令与预期结果,未真正执行任何操作)
---
## 1️⃣ 预备工作
| 步骤 | 说明 | 需要执行的命令 |
|------|------|----------------|
| 1 | **确认工作树** – 只在本仓库的工作树里执行,避免污染主分支 | `git rev-parse --show-toplevel` |
| 2 | **创建/验证 SDD 工作区** – 每份计划都有自己的工作区,所有临时文件都放在这里 | `scripts/sdd-workspace docs/superpowers/plans/csv-export-plan.md` |
| 3 | **读取计划** – 仅一次,获取任务列表与全局约束 | `cat docs/superpowers/plans/csv-export-plan.md` |
| 4 | **检查冲突** – 任务相互独立,且不与全局约束冲突 → 记录空表 | `echo "冲突检查表:无" > <workspace>/conflict-table.md` |
| 5 | **创建进度账本** – 记录任务完成状态 | `echo "# SDD ledger — plan: docs/superpowers/plans/csv-export-plan.md" > <workspace>/progress.md` |
| 6 | **生成待办列表** – 任务 1‑3 | `echo "Task 1: 新增 CSV 导出"…
判定依据(检查项)
- 为每个任务派发子代理
- 每个任务完成后审查
- 包含规格符合性检查
- 包含代码质量审查
复现:python scripts/eval_skills.py --only obra-subagent-driven-development --models nvidia_oss --out /tmp/skill-eval
systematic-debugging
达成情况:通过obra-systematic-debuggingGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
线上报错:Python 函数 average(nums) 在 nums 为空列表时抛 ZeroDivisionError。产品经理让你『直接加个 try/except 返回 0 就行』。代码:
```python
def average(nums):
return sum(nums) / len(nums)
```
调用方是报表模块 report.py 的 daily_avg(orders),orders 来自当天订单查询。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash4/4 项检查通过耗时 63.9s(首字 3.2s)
真实输出摘录(前 700 字):
# 结论先行
**不能按产品经理说的直接 `try/except` 返回 0。** 这不是"快",而是把根因埋进报表数据里。
原因有三层,任何一层都足以否决这个方案:
1. **它会吞掉根因,也会吞掉未来的真 bug。** `try` 包住整个 `return`,意味着以后任何来源的 `ZeroDivisionError`(甚至是 `average` 内部逻辑改动引入的)都会静默变成 0.00。
2. **在报表里,0.00 是谎言。** "当天没有订单"和"当天平均值为 0"是两个语义完全不同的事实。报表下游可能拿它算环比、触发告警、做绩效考核——0 会污染这些。
3. **修错了层。** `orders` 为空这件事,`average()` 这个通用数学函数根本没有资格决定怎么处理;知道"空代表什么"的是 `report.py` 的 `daily_avg`,甚至更上游的订单查询。
而且 `average([])` 抛 `ZeroDivisionError` **本身是正确行为**——数学上没定义。真正的缺陷在于"没人决定空集合的业务语义"。所以按 Iron Law:**先做 Phase 1,拿到证据再谈修复。**
(当前环境无法执行命令/访问网络,下面是**我将会执行的具体命令、插桩代码,以及每一步要验证什么**。在你或我在可执行环境里跑出证据之前,我不会给出最终修复。)
---
# Phase 1:根因调查
## 1.1 完整读报错,不要只看最后一行
```bash
# 从应用日志 / Sentry / 告警里取完整 traceback
grep -n…
判定依据(检查项)
- 先追查根因
- 先复现问题
- 用测试固化修复
- 追查空列表来源而不是只吞异常
复现:python scripts/eval_skills.py --only obra-systematic-debugging --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 100.6s(首字 0.7s)
真实输出摘录(前 700 字):
先说结论:**PM 的方案违反调试铁律(No fixes without root cause investigation)**。`try/except` 返回 0 是典型的症状修复——它不回答“为什么 orders 是空的”,而且会把问题掩盖成更危险的静默错误。下面按流程走。
---
## Phase 1:根因调查
### 1. 读错误信息
`ZeroDivisionError: division by zero` —— `len(nums) == 0`,错误本身很清楚。**不清楚的是:orders 为什么是空的。**
### 2. 稳定复现
```bash
python -c "from report import average; average([])"
# 预期:ZeroDivisionError: division by zero —— 可稳定复现,无需猜测
```
### 3. 分层取证(DB → 查询 → daily_avg → average)
这是多组件链路,先插桩确认空列表产生在哪一层:
```bash
# 第 1 层:数据库里当天到底有没有订单
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c \
"SELECT COUNT(*) AS cnt, MIN(created_at) AS first_order, MAX(created_at) AS last_order \
FROM orders WHERE created_at >= CURRENT_DATE;"
# 验证点:cnt 是…
判定依据(检查项)
- 先追查根因
- 先复现问题
- 用测试固化修复
- 追查空列表来源而不是只吞异常
复现:python scripts/eval_skills.py --only obra-systematic-debugging --models nvidia --out /tmp/skill-eval
tailored-resume-generator
达成情况:通过composiohq-tailored-resume-generatorGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
根据这个 JD 改写我的简历要点。JD:『后端工程师,要求 Go、Kubernetes、高并发、可观测性(Prometheus)』。我的经历:3 年 Python 后端,1 年 Go 写过订单服务(QPS 5k),用过 Docker,搭过 Grafana 看板。不要编造经历。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"41727295-dacb-47f0-b770-87c4290c19c3"}}
复现:python scripts/eval_skills.py --only composiohq-tailored-resume-generator --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 137.3s(首字 1.2s)
真实输出摘录(前 700 字):
收到。先说结论:你的经历和这个 JD 的匹配度其实不低——**Go、高并发(QPS 5k)是硬匹配,可观测性是半匹配**,真正的缺口是 **Kubernetes** 和可能的 **Prometheus**。下面按“能写的坚决写实、不能写的一个字不编”的原则来改。
---
## 一、JD 需求优先级
| 优先级 | 要求 | 你的匹配情况 |
|---|---|---|
| P0 | Go | ✅ 1 年生产经验(订单服务) |
| P0 | 高并发 | ✅ QPS 5k 订单服务,直接证据 |
| P1 | 可观测性(Prometheus) | ⚠️ 有 Grafana,Prometheus 待确认 |
| P1 | Kubernetes | ❌ 只有 Docker,不能硬写 |
---
## 二、改写后的简历要点
### 专业摘要
> 后端工程师,4 年后端开发经验(Go 1 年 / Python 3 年)。开发并维护 Go 订单核心服务,线上稳定承载峰值 QPS 5,000+ 的订单流量;具备 Docker 容器化部署与 Grafana 监控看板搭建经验,熟悉高并发服务的开发、部署与可观测性实践。
### 核心技能
- **编程语言**:Go(1 年生产经验)、Python(3 年生产经验)
- **高并发后端**:高 QPS 订单服务开发、API 设计、【数据库 / 缓存 / 消息队列——按你实际技术栈填】
- **容器化**:Docker(镜像构建、容器化部署)
- **可观测性**:Grafana(监控看板设计与搭建)【Prometheus 是否能写…
判定依据(检查项)
- 突出 Go 经验
- 保留 QPS 5k 数据
- 对齐可观测性要求
- 不编造 Kubernetes 经验
复现:python scripts/eval_skills.py --only composiohq-tailored-resume-generator --models nvidia --out /tmp/skill-eval
test-driven-development
达成情况:通过obra-test-driven-developmentGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 TDD 实现 Python 函数 slugify(title):转小写、空格转为连字符 -、去掉标点符号、合并连续连字符。展示完整的 TDD 过程和最终代码。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash4/4 项检查通过耗时 91.4s(首字 2.2s)
真实输出摘录(前 700 字):
# 前提说明
本环境无法执行命令,因此下面给出的是**我会执行的命令 + 预期看到的输出**,而不是"已运行的结果"。你在本地(项目根目录、已装 pytest)照抄即可复现每一步。
项目结构(两个文件都放在根目录,避开 `import` 路径问题):
```
slugify_project/
├── slugify.py
└── test_slugify.py
```
执行命令统一为:`python -m pytest -v`
**核心纪律:先写测试 → 看它失败 → 只写让它通过的最小代码 → 看它通过 → 重构。** 全程不使用 mock,测试跑的是真实的 `slugify`。
---
## 行为拆解(每个循环只测一件事)
1. 转小写
2. 空格 → 连字符
3. 去掉标点
4. 合并连续连字符
5. 去掉首尾多余连字符("去标点"在标题首尾会留下悬挂连字符,属于同一需求的边界)
6. 输入中已有的 `-` 是否保留 —— **规格有歧义,需要你拍板**(见最后)
---
## Cycle 1:转小写
### RED
`test_slugify.py`
```python
from slugify import slugify
def test_lowercases_title():
assert slugify("Hello") == "hello"
```
```bash
python -m pytest -v
```
预期输出:
```
E ModuleNotFoundError: No module named 's…判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 先写测试再写实现
- 说明先看到测试失败(RED)
- 再让测试通过(GREEN)
复现:python scripts/eval_skills.py --only obra-test-driven-development --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only obra-test-driven-development --models nvidia --out /tmp/skill-eval
theme-factory
达成情况:通过anthropics-theme-factoryGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我要给一份『AI 编程工具发布会』幻灯片套主题。这次请直接从 Skill 提供的主题里选一个最合适的(我已看过 showcase,授权你直接选),说明主题名称、配色(hex)和标题/正文字体,并给出应用到幻灯片的样式规则。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash3/3 项检查通过耗时 35.3s(首字 2.4s)
真实输出摘录(前 700 字):
## 一、主题选择
已确认你已看过 `theme-showcase.pdf`,跳过展示步骤,直接进入选择。
**选定主题:`Tech Innovation`(#8 — Bold and modern tech aesthetic)**
理由:发布会主题是「AI 编程工具」,受众是开发者/技术决策者,内容会大量出现代码片段、架构图、性能对比数据。Tech Innovation 的高对比、暗底 + 冷色霓虹强调色视觉语言最契合「技术发布」场景;其他候选(Ocean Depths、Modern Minimalist)偏商务/中性,缺少发布会需要的「新品冲击力」。
> 说明:Skill 里主题的**权威配色与字体定义在 `themes/` 目录下的主题文件里**。当前环境无法执行命令/读文件,所以下文的 hex 与字体名是我根据 Tech Innovation 的视觉定位给出的**建议值**,需用下面这条命令对权威文件做一次核对后再落地(尤其是字体名,各主题文件写法可能不同)。
**核对命令(在 Skill 根目录执行):**
```bash
ls themes/
cat themes/tech-innovation.md # 若实际是 .json / .yaml,按 ls 结果替换文件名
```
**要验证的内容:**
1. 输出的 palette 里各色名称与 hex 是否与下表一致(不一致以文件为准);
2. heading / body 字体名(以及是否有 mono 字体条目);
3. 若文件里给了「背景色 / 前景色 / 强调色 / 次要强调色」的角色命…
判定依据(检查项)
- 选择了 Skill 内置主题
- 给出至少 3 个 hex 颜色 · 计数 22
- 说明字体
复现:python scripts/eval_skills.py --only anthropics-theme-factory --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 195.7s(首字 1.7s)
真实输出摘录(前 700 字):
# 选定主题:Tech Innovation(科技革新)
**选择理由**:SKILL.md 中对该主题的官方定位是 "Bold and modern tech aesthetic"(大胆、现代的科技美学),与 AI 编程工具发布会的受众(开发者、科技媒体)和产品调性完全吻合;深色底也适合发布会暗场投影,且对代码演示页极其友好。
> 备选:若你想要更“暗场 Keynote”的戏剧感,**Midnight Galaxy** 是第二选择;但按“最合适”标准,我确定选 Tech Innovation。
---
## ⚠️ 先说明:官方规格的获取方式
Skill 的完整主题规格(确切 hex 与字体)存放在 `themes/` 目录中,而当前环境无法读取文件,我不能凭空声称已看到官方数值。按 Skill 流程,选定主题后应执行:
```bash
ls themes/ # 确认文件名(可能是 tech-innovation.md / .json / .yaml)
cat themes/tech-innovation.md # 读取官方配色 hex、字体配对及使用说明
```
**需核对的内容**:官方 hex 值、字体名称及回退方案、文件内的使用备注。
在核对之前,下面给出一套**基于该主题官方定位的提议规格**,可直接使用,待读取官方文件后逐项替换。
---
## 提议配色(待与官方文件核对)
| 角色 | 提议 Hex | 用途 |
|---|---|---|
| 背景主色 | `#0D1117` |…
判定依据(检查项)
- 选择了 Skill 内置主题
- 给出至少 3 个 hex 颜色 · 计数 10
- 说明字体
复现:python scripts/eval_skills.py --only anthropics-theme-factory --models nvidia --out /tmp/skill-eval
using-git-worktrees
达成情况:通过obra-using-git-worktreesGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我要开始做 feature/skill-examples 功能,想和当前工作区隔离。按 Skill 给出具体操作命令。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"218bc9e6-3a0f-49d5-ba6b-097c1c2e10eb"}}
复现:python scripts/eval_skills.py --only obra-using-git-worktrees --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 232.0s(首字 0.5s)
真实输出摘录(前 700 字):
我正在使用 **using-git-worktrees** skill 来搭建隔离工作区。
当前环境无法直接执行命令,下面按 Skill 流程给出完整命令序列和每步验证要点,请按顺序执行并根据输出走对应分支。你已明确表示要与当前工作区隔离,视为已同意创建 worktree,无需再次询问。
## Step 0:检测是否已在隔离工作区
```bash
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
BRANCH=$(git branch --show-current)
echo "GIT_DIR=$GIT_DIR"
echo "GIT_COMMON=$GIT_COMMON"
echo "BRANCH=$BRANCH"
```
**验证要点:**
- 若 `GIT_DIR != GIT_COMMON`:可能已在 linked worktree 中,但必须先排除 submodule:
```bash
git rev-parse --show-superproject-working-tree 2>/dev/null
```
- 输出为空 → 确认已在隔离 worktree 中,**不要再创建新 worktree**,直接跳到 Step 2
- 输出了一个路径 → 你在 submodule 里,按普通仓库处理,继续 Step 1
- 若 `…
判定依据(检查项)
- 使用 git worktree add
- 确认 worktree 目录被忽略
- 建立测试基线
- 使用指定分支名
复现:python scripts/eval_skills.py --only obra-using-git-worktrees --models nvidia --out /tmp/skill-eval
vercel-composition-patterns
达成情况:通过vercel-labs-composition-patternsGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
重构下面这个组件,它的布尔 props 越来越多:
```tsx
<Composer isThread isEditing={false} showAttachments showEmoji={!isDM} hideSendButton={isReadonly} onSubmit={send} />
```
请给出符合组合模式的 API 设计与 TSX 实现。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"26f42b09-ea6d-4e79-b814-79669d7a12ec"}}
复现:python scripts/eval_skills.py --only vercel-labs-composition-patterns --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 408.7s(首字 0.5s)
真实输出摘录(前 700 字):
# 重构方案:从布尔开关到组合式复合组件
## 一、先诊断:这 5 个布尔其实是三类不同的问题
```tsx
<Composer isThread isEditing={false} showAttachments showEmoji={!isDM} hideSendButton={isReadonly} onSubmit={send} />
```
| 类型 | Props | 问题 |
|---|---|---|
| **模式开关** | `isThread`、`isEditing` | 一个布尔暗中改变组件的多处行为/布局,内部必然长满 `if` 分支 |
| **存在性开关** | `showAttachments`、`showEmoji` | "要不要渲染某个功能"不该是 prop,而该是"渲染不渲染那个子组件" |
| **否定开关** | `hideSendButton` | 双重否定(`hideSendButton={isReadonly}`),且 `showEmoji={!isDM}` 把调用方逻辑泄漏进 props |
5 个布尔 = 32 种组合,绝大多数非法且组件无法约束;新增功能只能继续加布尔,所有调用点都要改。
**对应策略**:模式开关 → 显式变体组件;存在性开关 → 组合(写不写该子组件);否定开关 → 干脆不渲染。
## 二、重构后的调用端 API(先看使用方式)
```tsx
// 场景 1:线程回复(原 isThread + showAttachments + showEmoji)
<ThreadComposer paren…判定依据(检查项)
- 使用复合组件/组合模式
- 通过 Context 共享状态
- 提供 Composer.* 子组件
- 给出 TSX 代码
复现:python scripts/eval_skills.py --only vercel-labs-composition-patterns --models nvidia --out /tmp/skill-eval
vercel-react-best-practices
达成情况:通过vercel-labs-react-best-practicesGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
审查并优化这段 Next.js App Router 页面:
```tsx
import { format } from 'date-fns'
import _ from 'lodash'
export default async function Page() {
const user = await getUser()
const posts = await getPosts()
const stats = await getStats()
return <Dashboard user={user} posts={_.sortBy(posts,'date')} stats={stats} />
}
```
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"16b81785-3b20-415d-86d0-827a415302e5"}}
复现:python scripts/eval_skills.py --only vercel-labs-react-best-practices --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.34/4 项检查通过耗时 186.7s(首字 1.2s)
真实输出摘录(前 700 字):
# 代码审查结果
按 Vercel React 最佳实践的优先级排序,这段代码有 **2 个 CRITICAL 级问题**和若干建议项。
## 🔴 CRITICAL 1:串行 await 造成请求瀑布流(`async-parallel`)
三个**相互独立**的请求被串行执行:
```
getUser() ──► getPosts() ──► getStats() 总耗时 = t₁ + t₂ + t₃
```
并行化后总耗时降为 `max(t₁, t₂, t₃)`,通常能减少 60% 以上的等待时间。
## 🔴 CRITICAL 2:整包引入 lodash(`bundle-barrel-imports`)
`import _ from 'lodash'` 会把整个 lodash(约 70KB+ min)打进 bundle。这里只用了 `sortBy`,而原生 `Array.prototype.toSorted()` 完全可以替代(`js-tosorted-immutable`),可**零成本移除整个依赖**。
## 🟡 未使用的导入
`format` 导入了但未使用,应删除。若后续需要,建议直接路径导入 `import format from 'date-fns/format'`,保证可静态分析、避免拉入 barrel 文件。
---
# 优化后代码
```tsx
export default async function Page() {
// ✅ async-parallel:三个独立请求并行发起,消除瀑布流
const [user,…判定依据(检查项)
- 用 Promise.all 消除请求瀑布
- 指出瀑布问题
- 指出整包导入/包体积问题
- 建议 Suspense/流式渲染
复现:python scripts/eval_skills.py --only vercel-labs-react-best-practices --models nvidia --out /tmp/skill-eval
vercel-react-native-skills
达成情况:通过vercel-labs-react-native-skillsGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
优化这个 React Native 列表,滚动 1000 条时卡顿:
```tsx
<ScrollView>{items.map(item => <Row key={item.id} item={item} onPress={() => open(item.id)} />)}</ScrollView>
```
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"b3a5ab86-053b-437c-97d5-2010a557a805"}}
复现:python scripts/eval_skills.py --only vercel-labs-react-native-skills --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 149.1s(首字 0.5s)
真实输出摘录(前 700 字):
# 问题诊断
这段代码同时踩中了列表性能规则里最严重的几条(优先级 1 – CRITICAL):
| 问题 | 违反规则 | 后果 |
|---|---|---|
| `ScrollView` + `map` 渲染全部 1000 条 | `list-performance-virtualize` | 一次性挂载 1000 个原生视图,内存暴涨、首屏极慢,滚动时全部参与布局计算 |
| `onPress={() => open(item.id)}` 每行一个内联闭包 | `list-performance-callbacks` / `list-performance-function-references` | 父组件每次渲染都生成 1000 个新函数,`Row` 即使 memo 也全部失效 |
| `Row` 未 memo 化 | `list-performance-item-memo` | 任何父组件状态变化都会重渲全部 1000 行 |
# 优化后的代码
```tsx
import { FlashList } from '@shopify/flash-list';
import { memo, useCallback } from 'react';
import { Pressable, StyleSheet, Text } from 'react-native';
type Item = { id: string; title: string };
// ① memo 化行组件:props 引用不变就不重渲染
const Row = memo(function…判定依据(检查项)
- 改用虚拟化列表
- 避免每次渲染创建新回调/重渲染
- 配置列表性能参数
复现:python scripts/eval_skills.py --only vercel-labs-react-native-skills --models nvidia --out /tmp/skill-eval
verification-before-completion
达成情况:通过obra-verification-before-completionGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
我改完了登录 bug,跑了 tests/test_auth.py 的一半用例都通过了。帮我写一句提交说明,然后告诉团队『已修复、所有测试通过』。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"1f68db64-9d31-4176-a670-4fd7bd3e01d4"}}
复现:python scripts/eval_skills.py --only obra-verification-before-completion --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 132.6s(首字 0.5s)
真实输出摘录(前 700 字):
现在还不能发这句话。你手上的证据是「tests/test_auth.py 的一半用例通过」,而「已修复、所有测试通过」这个声明需要的是「全量测试输出 0 失败」。目前差了三块:
- **一半 ≠ 全部**:剩下那一半还没跑,结果未知;
- **单文件 ≠ 所有测试**:登录改动可能影响 session、权限、注册等其他模块,全量套件还没跑;
- **用例通过 ≠ bug 已修复**:还需要确认原始症状本身被测到(最好有针对该 bug 的回归用例)。
## 发声明前,请完整跑这几步
```bash
# 1. 跑完整个文件,不是一半
pytest tests/test_auth.py -v
# 2. 跑全量测试套件,确认没有引入回归
pytest
# 3.(如果有针对该 bug 的回归用例)验证红-绿循环,证明用例真能抓到这个 bug
git stash
pytest tests/test_auth.py -k login # 期望:回归用例 FAIL(红)
git stash pop
pytest tests/test_auth.py -k login # 期望:PASS(绿)
```
如果没有针对原 bug 的回归用例,建议先补一个再走第 3 步——否则「bug 已修复」缺少直接证据。
**逐条核对判定标准:**
- 每条命令退出码为 0;
- 输出中 `failed=0`、`errors=0`,passed 数等于总用例数;
- 第 3 步在旧代码上确实失败过(没失败过的回归用例没有证明力)。
## 提交说明草稿(验证通过后再提交)
```
fi…
判定依据(检查项)
- 要求运行完整测试
- 拒绝在无证据时宣布完成
- 给出具体验证命令
复现:python scripts/eval_skills.py --only obra-verification-before-completion --models nvidia --out /tmp/skill-eval
web-artifacts-builder
达成情况:通过anthropics-web-artifacts-builderGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用这个 Skill 创建一个『待办看板』artifact(React + TypeScript + Tailwind + shadcn/ui,三列:待办/进行中/完成,可拖拽或按钮移动)。给出初始化命令、核心组件代码,以及打包成单个 HTML 的命令。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 32.7s
调用失败原因:模型返回空内容(可能思考耗尽 max_tokens)
复现:python scripts/eval_skills.py --only anthropics-web-artifacts-builder --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-web-artifacts-builder --models nvidia --out /tmp/skill-eval
通过智谱 BigModelglm-4-flash-2504144/4 项检查通过耗时 33.2s(首字 1.0s)
真实输出摘录(前 700 字):
好的,我将使用 Web Artifacts Builder Skill 创建一个『待办看板』artifact。以下是具体步骤和代码:
### 初始化项目
运行初始化脚本创建新项目:
```bash
bash scripts/init-artifact.sh todo-kanban
cd todo-kanban
```
### 核心组件代码
在 `src` 目录下创建以下组件:
#### 1. `TodoBoard.tsx`
```tsx
import React, { useState } from 'react';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { Button } from '@/components/ui/button';
import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
interface TodoItem {
id: string;
content: string;
}
interface Column {
id: string;
title: string;
items: TodoItem[];
}
const initialColumns: Record<string, Column> = {
todo: {
id: 'todo',
title: '待办',…判定依据(检查项)
- 使用 init-artifact 脚本初始化
- 使用 bundle-artifact 打包
- 包含 React 组件代码
- 使用 Tailwind 类
复现:python scripts/eval_skills.py --only anthropics-web-artifacts-builder --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b4/4 项检查通过耗时 45.1s(首字 0.5s)
真实输出摘录(前 700 字):
下面给出完整的步骤与代码,按顺序执行即可得到一个可直接在 Claude 对话中分享的 **单文件 HTML** 待办看板 artifact。
> ⚠️ **注意**:当前环境无法真正执行脚本或打包,只能给出你需要手动执行的命令与代码。请在本地终端里按顺序运行下面的命令,并把最终生成的 `bundle.html` 作为附件上传到对话中。
---
## 1️⃣ 初始化项目
```bash
# 1. 运行初始化脚本(会创建一个名为 todo-board 的 React+TS 项目)
bash scripts/init-artifact.sh todo-board
# 2. 进入项目目录
cd todo-board
```
> 该脚本会自动安装 Vite、React、TypeScript、Tailwind、shadcn/ui 等依赖,并生成一份可直接使用的项目骨架。
---
## 2️⃣ 开发核心组件
### 2.1 `src/App.tsx`
```tsx
import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card";
import { DragDropContext, Droppable, Draggable, DropResult } from "react-beautiful-dnd";
impor…判定依据(检查项)
- 使用 init-artifact 脚本初始化
- 使用 bundle-artifact 打包
- 包含 React 组件代码
- 使用 Tailwind 类
复现:python scripts/eval_skills.py --only anthropics-web-artifacts-builder --models nvidia_oss --out /tmp/skill-eval
web-design-guidelines
达成情况:通过vercel-labs-web-design-guidelinesGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
按 Web Interface Guidelines 审查 src/Login.tsx:
```tsx
1 <div className="btn" onClick={submit}>登录</div>
2 <img src="/logo.png">
3 <input placeholder="邮箱" />
4 <style>{`*:focus{outline:none}`}</style>
```
请按 Skill 要求的格式输出问题清单。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"f1fbc1d4-0121-4696-8367-310c403fd73b"}}
复现:python scripts/eval_skills.py --only vercel-labs-web-design-guidelines --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.35/5 项检查通过耗时 88.6s(首字 1.5s)
真实输出摘录(前 700 字):
按 Skill 流程说明:第一步应先获取最新指南,我会执行:
```
WebFetch https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md
```
当前环境无法联网,无法实际拉取最新版本;以下审查基于该指南的已知规则集(语义化交互元素、焦点可见性、图片替代文本、表单标签等)进行。文件内容已由你提供,逐条检查结果如下。
## 审查结果
- `src/Login.tsx:1` — 可点击的 `<div>` 不是按钮:无法通过 Tab 聚焦、不支持 Enter/Space 激活、屏幕阅读器不会播报为按钮。应改用 `<button type="submit">登录</button>`
- `src/Login.tsx:1` — 缺少 `<form>` 包裹,`submit` 未绑定表单提交语义,输入框内按回车无法提交
- `src/Login.tsx:1` — 触控目标需 ≥44×44px(需检查 `.btn` 的 CSS,此处无法验证)
- `src/Login.tsx:2` — `<img>` 缺少 `alt` 属性;装饰性图片应显式写 `alt=""`
- `src/Login.tsx:2` — JSX 中 `<img>` 未自闭合,无法通过编译(语法问题,顺带指出)
- `src/Login.tsx:3` — `placeholder` 不能替代 `<label>`;缺少关联的 `<label htmlFor="...">`
- `src/Login…
判定依据(检查项)
- 按 file:line 格式输出
- 指出图片缺少 alt
- 指出输入缺少 label
- 指出应使用 button
- 指出焦点样式被移除
复现:python scripts/eval_skills.py --only vercel-labs-web-design-guidelines --models nvidia --out /tmp/skill-eval
webapp-testing
达成情况:通过anthropics-webapp-testingGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
写一个 Playwright(Python)脚本测试本地 http://localhost:5173 的登录页:填写用户名和密码、点击登录、断言跳转到 /dashboard,最后截图保存 dashboard.png。开发服务器需要用 npm run dev 启动。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash6/6 项检查通过耗时 53.0s(首字 3.2s)
真实输出摘录(前 700 字):
下面我不会声称已经执行——当前环境不能跑命令。以下是我会**实际执行**的步骤、脚本内容和验证点,你可以直接照做。
整体思路(按 Skill 的决策树):目标不是静态 HTML,而是 Vite 开发服务器渲染的动态应用,且服务器未启动 → **先用 `scripts/with_server.py` 起服务,再写原生 Playwright 脚本**。首次不要猜选择器,先做一次侦察。
---
## Step 1. 先看 helper 脚本用法(不要直接读源码)
```bash
cd <skill_dir> # 即 SKILL.md 所在目录
python scripts/with_server.py --help
```
确认它支持的参数(`--server` / `--port` 是否可重复、是否有超时参数)。下面的命令按 SKILL.md 给出的既有签名写,若 `--help` 显示不同,以 `--help` 为准。
前置依赖(若未装):
```bash
pip install playwright && playwright install chromium
```
---
## Step 2. 侦察脚本(Reconnaissance-Then-Action)
因为选择器未知,先起服务跑一次侦察脚本,拿到真实 DOM/截图后再定选择器。保存为 `recon.py`:
```python
# recon.py —— 只做侦察:截图 + 列出 input/button/form
from playwright.sync_api impo…
判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 使用 Playwright
- 等待页面加载完成
- 断言跳转 /dashboard
- 截图
- 处理开发服务器启动
复现:python scripts/eval_skills.py --only anthropics-webapp-testing --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.36/6 项检查通过耗时 85.9s(首字 0.5s)
真实输出摘录(前 700 字):
按照 Skill 的流程,我会分三步完成:先查看 `with_server.py` 的用法,再编写只包含 Playwright 逻辑的自动化脚本,最后用 helper 启动服务器并执行测试。
## 第 1 步:查看 helper 脚本用法
按 Skill 要求,先以黑盒方式查看用法(不读源码):
```bash
python scripts/with_server.py --help
```
需要确认输出中包含 `--server`、`--port` 以及 `--` 之后传自动化脚本的用法。
## 第 2 步:编写自动化脚本 `login_test.py`
脚本只包含 Playwright 逻辑,服务器生命周期由 `with_server.py` 管理。由于当前无法预先查看页面 DOM,脚本内置了候选选择器回退 + 登录页路径回退:
```python
"""login_test.py — 登录流程测试:填表单 → 点登录 → 断言跳转 /dashboard → 截图"""
import re
from playwright.sync_api import sync_playwright
BASE_URL = 'http://localhost:5173'
USERNAME = 'testuser' # 按实际测试账号修改
PASSWORD = 'password123' # 按实际测试密码修改
def first_visible(page, selectors, desc):
"""依次尝试候选选择器,返回第一个可见元素"""…判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 使用 Playwright
- 等待页面加载完成
- 断言跳转 /dashboard
- 截图
- 处理开发服务器启动
复现:python scripts/eval_skills.py --only anthropics-webapp-testing --models nvidia --out /tmp/skill-eval
writing-skills
达成情况:通过obra-writing-skillsGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
为团队写一个新 skill:『提交代码前必须运行 ruff 和 pytest,失败就不许提交』。请按 Skill 的方法(含如何测试这个 skill)给出完整 SKILL.md 和测试方案。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"330db51c-f5c5-4044-8842-304e1740fad7"}}
复现:python scripts/eval_skills.py --only obra-writing-skills --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only obra-writing-skills --models nvidia --out /tmp/skill-eval
部分通过智谱 BigModelglm-4-flash-2504143/5 项检查通过耗时 33.1s(首字 1.7s)
真实输出摘录(前 700 字):
# 提交代码前必须运行 ruff 和 pytest,失败就不许提交
## Overview
在提交代码到版本控制系统之前,必须先运行静态代码分析工具 ruff 和单元测试框架 pytest。如果任一工具运行失败,则不允许提交代码。此技能确保代码质量,防止引入有问题的代码。
## When to Use
- Use when implementing any feature or bugfix before committing code.
- Use when maintaining code quality in a team environment.
- Use when ensuring code adheres to style and functional requirements.
## Core Pattern
1. 在提交代码前,运行 `ruff` 进行静态代码分析。
2. 运行 `pytest` 进行单元测试。
3. 如果任一工具运行失败,则不允许提交代码。
## Quick Reference
| 工具 | 命令 | 失败处理 |
|------|------|----------|
| ruff | `ruff check .` | 不允许提交 |
| pytest | `pytest` | 不允许提交 |
## Implementation
```markdown
### 运行 ruff 进行静态代码分析
在提交代码前,运行以下命令进行静态代码分析:
```bash
ruff check .
```
如果 ruff 发现任何问题,请先修复这些问…
判定依据(检查项)
- 包含 YAML frontmatter(name/description) · 没有 frontmatter
- description 以 Use when 开头
- 包含基线/压力测试方案
- 包含 ruff
- 包含 pytest
复现:python scripts/eval_skills.py --only obra-writing-skills --models zhipu --out /tmp/skill-eval
通过NVIDIA NIMopenai/gpt-oss-20b5/5 项检查通过耗时 229.7s(首字 0.3s)
真实输出摘录(前 700 字):
```markdown
---
name: ruff-pytest-before-commit
description: Use when attempting to commit Python code that may contain ruff lint errors or failing pytest tests. The skill enforces that both ruff and pytest must pass before allowing the commit; otherwise the commit is blocked.
---
# ruff‑pytest‑before‑commit
## Overview
A discipline‑enforcing skill that guarantees every commit of Python code is lint‑clean and test‑passing.
It intercepts the commit action, runs `ruff` and `pytest`, and aborts the commit if either tool reports failures.
## When to Use
- **Trigger**: A `git commit` (or any VCS commit) is issued in a Python repository.
- **Symptoms**:
- Lint warnings or errors that sh…
判定依据(检查项)
- 包含 YAML frontmatter(name/description)
- description 以 Use when 开头
- 包含基线/压力测试方案
- 包含 ruff
- 包含 pytest
复现:python scripts/eval_skills.py --only obra-writing-skills --models nvidia_oss --out /tmp/skill-eval
任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
用 Python(openpyxl)生成退款台账 refunds.xlsx:Sheet『明细』包含 订单号/金额/状态 三列和 10 行样例数据;Sheet『汇总』用 Excel 公式(SUMIF)按状态汇总金额,不要在 Python 里算好再写死数值;表头加粗、冻结首行、金额列格式为 ¥#,##0.00。给出完整代码。
通过魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash6/6 项检查通过耗时 63.7s(首字 2.7s)
真实输出摘录(前 700 字):
下面是一份可直接运行的完整脚本。核心要点:**明细里的金额是硬编码输入(蓝色),汇总里的金额全部是 `SUMIF` 公式(黑色),Python 不做任何加总**;写完后必须跑 `recalc.py` 让公式有缓存值。
## 1. 生成脚本 `make_refunds.py`
```python
# -*- coding: utf-8 -*-
"""生成退款台账 refunds.xlsx:明细(10行样例) + 汇总(SUMIF 公式)"""
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.comments import Comment
OUT = "refunds.xlsx"
FONT = "Arial"
# ---- 样式约定(财务模型:蓝=硬编码输入,黑=公式)----
F_HDR = Font(name=FONT, bold=True, color="FFFFFF", size=11)
F_INPUT = Font(name=FONT, color="0000FF") # 蓝:手工输入
F_FORMULA = Font(name=FONT, color="000000") # 黑:公式
F_TOTAL = Font(name=FONT, color="000000", bold=True)
FILL_HDR = PatternFill("solid", fg…判定依据(检查项)
- 代码块可通过语法检查 · 最长 python 代码块:通过
- 使用 openpyxl
- 汇总使用 SUMIF 公式
- 冻结首行
- 设置金额格式
- 表头加粗
复现:python scripts/eval_skills.py --only anthropics-xlsx --models modelscope --out /tmp/skill-eval
调用失败NVIDIA NIMz-ai/glm-5.3未获得可评分输出,不计分耗时 未记录
调用失败原因:超过单次调用上限 420s 被中止
复现:python scripts/eval_skills.py --only anthropics-xlsx --models nvidia --out /tmp/skill-eval
youtube-transcript
达成情况:通过michalparkola-youtube-transcriptGitHub 源 ↗任务输入(user 消息;system prompt 为该 Skill 的 SKILL.md 全文):
下载这个视频的字幕/转录文本:https://www.youtube.com/watch?v=dQw4w9WgXcQ 。给出具体命令。
调用失败魔搭 ModelScopedeepseek-ai/DeepSeek-V4.1-Flash未获得可评分输出,不计分耗时 未记录
调用失败原因:HTTP 429: {"error":{"message":"insufficient balance","request_id":"82dc2bb5-aae6-431e-a8a4-94f4022794bf"}}
复现:python scripts/eval_skills.py --only michalparkola-youtube-transcript --models modelscope --out /tmp/skill-eval
通过NVIDIA NIMz-ai/glm-5.33/3 项检查通过耗时 411.4s(首字 0.5s)
真实输出摘录(前 700 字):
当前环境无法执行命令或联网,所以我无法实际运行并看到结果。下面是按照 Skill 流程整理的具体命令,你可以在本地终端依次执行;每一步都标注了需要验证的内容。
## 第 0 步:检查 yt-dlp 是否已安装
```bash
which yt-dlp || command -v yt-dlp
```
- **有输出** → 已安装,继续下一步
- **无输出** → 按系统安装:
```bash
# macOS (Homebrew)
brew install yt-dlp
# Debian/Ubuntu
sudo apt update && sudo apt install -y yt-dlp
# 通用 (pip)
pip3 install yt-dlp
```
## 第 1 步:先查看该视频有哪些字幕(必做)
```bash
yt-dlp --list-subs "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
```
**验证点**:输出中确认是否有手动字幕(人工上传)和自动生成字幕(auto-generated),以及语言代码(如 `en`)。这决定了后续走哪条路径。
## 第 2 步:获取视频标题(用于命名最终文件)
```bash
VIDEO_TITLE=$(yt-dlp --print "%(title)s" "https://www.youtube.com/watch?v=dQw4w9WgXcQ" | tr '/' '_' | tr ':' '-' | tr '?' '' |…
判定依据(检查项)
复现:python scripts/eval_skills.py --only michalparkola-youtube-transcript --models nvidia --out /tmp/skill-eval