skillgrade-graders
- Repo stars 490
- Author updated Live
- Author repo skillgrade
- Domain
- Writing
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 88 / 100 · community maintained
- Author / version / license
- @mgechev · no license declared
- Token usage
- Lean
- Setup complexity
- Guided setup
- External API key
- Required · OpenAI / Anthropic / Gemini
- Operating systems
- macOS · Linux · Windows
- Runtime requirements
- Node.js
- Permissions
-
- Read-only
- Write / modify
- Network behavior
- External requests
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: skillgrade-graders
description: Authors deterministic and LLM rubric graders for skillgrade evaluations. Use when creating scori…
category: writing
runtime: Node.js
---
# skillgrade-graders output preview
## PART A: Task fit
- Use case: Authors deterministic and LLM rubric graders for skillgrade evaluations. Use when creating scoring scripts, writing evaluation rubrics, or combining multiple graders with weighted scoring. Don't use for setting up eval pipelines, configuring eval.yaml defaults, or general test writing..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “Procedures / Error Handling” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Authors deterministic and LLM rubric graders for skillgrade evaluations. Use when creating scoring scripts, writing evaluation rubrics, or combining multiple graders with weighted scoring. Don't use for setting up eval pipelines, configuring eval.yaml defaults, or general test writing.”.
- **02** When the source has headings, the agent prioritizes “Procedures / Error Handling” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files; may access external network resources; requires OpenAI / Anthropic / Gemini API keys.
## Running Rules
- read files, write/modify files; may access external network resources; requires OpenAI / Anthropic / Gemini API keys.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files.
Start with a small task and check whether the result follows “Procedures / Error Handling”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: skillgrade-graders
description: Authors deterministic and LLM rubric graders for skillgrade evaluations. Use when creating scori…
category: writing
source: mgechev/skillgrade
---
# skillgrade-graders
## When to use
- Authors deterministic and LLM rubric graders for skillgrade evaluations. Use when creating scoring scripts, writing ev…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “Procedures / Error Handling” and keep inference separate from source facts.
- read files, write/modify files; may access external network resources; requires OpenAI / Anthropic / Gemini API keys.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "skillgrade-graders" {
input -> user goal + target files + boundaries + acceptance criteria
context -> Procedures / Error Handling
rules -> SKILL.md triggers / order / output contract
runtime -> Node.js | read files, write/modify files | may access external network resources
guardrails -> requires OpenAI / Anthropic / Gemini API keys + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} 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.
Decide Fit First
Design Intent
How To Use It
Boundaries And Review