Skillgrade 技能验证
- 作者仓库星标 490
- 作者仓库 skillgrade
Skillgrade Grader Authoring
Procedures
Step 1: Identify the Grading Strategy
- Determine whether the task requires objective verification (deterministic) or qualitative assessment (LLM rubric).
- For most tasks, combine both: deterministic graders verify outcomes (weight 0.7), LLM rubrics assess approach quality (weight 0.3).
Step 2: Write a Deterministic Grader
- Create a script in the skill's
graders/directory (bash or TypeScript). - The script must output a JSON object to stdout with the following structure:
{"score": 0.67, "details": "2/3 checks passed", "checks": [{"name": "check-name", "passed": true, "message": "Description"}]} score(0.0–1.0) anddetailsare required.checksis optional but recommended.- Read
references/grader-output-schema.mdfor the full output specification. - Use
awkfor arithmetic in bash scripts —bcis not available innode:20-slim. - Reference the grader in eval.yaml:
- type: deterministic run: bash graders/check.sh weight: 0.7
Step 3: Write an LLM Rubric Grader
- Draft a rubric with explicit scoring criteria and point allocations.
- Structure the rubric into weighted sections that sum to 1.0:
Workflow Compliance (0-0.5): - Did the agent follow the mandatory workflow steps? Efficiency (0-0.5): - Completed in ≤5 commands without trial-and-error? - Reference the rubric in eval.yaml:
- type: llm_rubric rubric: | [rubric text or file path] weight: 0.3 provider: gemini # optional: gemini (default) | anthropic | openai model: gemini-3-flash-preview # optional, each provider has a default model - For long rubrics, store in a separate file and reference by path:
rubric: rubrics/quality.md.
Step 4: Combine Multiple Graders
- Assign weights to each grader based on importance. Weights are normalized automatically.
- Final reward is calculated as:
Σ (grader_score × weight) / Σ weight. - Example configuration:
graders: - type: deterministic run: bash graders/check.sh weight: 0.7 - type: llm_rubric rubric: rubrics/quality.md weight: 0.3
Step 5: Validate Graders
- Create a reference solution script that produces the expected output.
- Run
skillgrade --validateto verify graders score the reference solution correctly. - Test only deterministic graders:
skillgrade --grader=deterministic(skips LLM calls, faster iteration). - Test only LLM rubric graders:
skillgrade --grader=llm_rubric. - Run a specific eval with a specific grader type:
skillgrade --eval=my-eval --grader=deterministic. - If a grader returns unexpected scores, inspect the script output and adjust scoring logic.
Error Handling
- If a deterministic grader outputs non-JSON, ensure all
echo/console.logstatements except the final JSON result are redirected to stderr. - If an LLM rubric grader returns 0.00 with a missing API key message, set the appropriate key for your provider:
GEMINI_API_KEY(provider: gemini),ANTHROPIC_API_KEY(provider: anthropic), orOPENAI_API_KEY(provider: openai). - To use a custom/self-hosted LLM endpoint, set
ANTHROPIC_BASE_URL(for provider: anthropic) orOPENAI_BASE_URL(for provider: openai) — e.g. for Ollama or vLLM. - If scores are inconsistent across trials, reduce rubric ambiguity by adding concrete examples of passing and failing behavior.
- 流狐分类
- 写作
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @mgechev · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 需要 · OpenAI / Anthropic / Gemini
- 检测到的系统要求
- macOS · Linux · Windows
- 底层运行要求
- Node.js
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Step 1: Identify the Grading Strategy Determine whether the task requires objective verification (deterministic) or qualitative assessment (LLM rubric). For most tasks, combine both: deterministic graders verify outcomes (weight 0.7), LLM rubrics assess…
If a deterministic grader outputs non-JSON, ensure all echo/console.log statements except the final JSON result are redirected to stderr. If an LLM rubric grader returns 0.00 with a missing API key message, set the appropriate key for your provider:…
# Skillgrade Grader Authoring
## Procedures
**Step 1: Identify the Grading Strategy**
1. Determine whether the task requires objective verification (deterministic) or qualitative assessment (LLM rubric).
2. For most tasks, combine both: deterministic graders verify outcomes (weight 0.7), LLM rubrics assess approach quality (weight 0.3).
**Step 2: Write a Deterministic Grader**
1. Create a script in the skill's `graders/` directory (bash or TypeScript).
2. The script must output a JSON object to stdout with the following structure:
```json
{"score": 0.67, "details": "2/3 checks passed", "checks": [{"name": "check-name", "passed": true, "message": "Description"}]}
```
3. `score` (0.0–1.0) and `details` are required. `checks` is optional but recommended.
4. Read `references/grader-output-schema.md` for the full output specification.
5. Use `awk` for arithmetic in bash scripts — `bc` is not available in `node:20-slim`.
6. Reference the grader in eval.yaml:
```yaml
- type: deterministic
run: bash graders/check.sh
weight: 0.7
```
**Step 3: Write an LLM Rubric Grader**
1. Draft a rubric with explicit scoring criteria and point allocations.
2. Structure the rubric into weighted sections that sum to 1.0:
```
Workflow Compliance (0-0.5):
- Did the agent follow the mandatory workflow steps?
Efficiency (0-0.5):
- Completed in ≤5 commands without trial-and-error?
```
3. Reference the rubric in eval.yaml:
```yaml
- type: llm_rubric
rubric: |
[rubric text or file path]
weight: 0.3
provider: gemini # optional: gemini (default) | anthropic | openai
model: gemini-3-flash-preview # optional, each provider has a default model
```
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Procedures → Error Handling
要点 -> Step 1: Identify the Grading Strategy · Step 2: Write a Deterministic Grader · Step 3: Write an LLM Rubric Grader · Step 4: Combine Multiple Graders · Step 5: Validate Graders
文件/命令 -> graders/ · score · details · checks · references/grader-output-schema.md · awk · node:20-slim · rubric: rubrics/quality.md
内容 SHA-256 -> 03f65f0912f8
原文结构
适用与边界
原文中的明确线索
graders/、score、details、checks、references/grader-output-schema.md、awk、node:20-slim、rubric: rubrics/quality.md