self-grade
Use this skill when ready to compute the final self-assessed grade for submission. Triggers include: "self grade", "final grade", "ready to submit", "compute the grade", "self-assess", "what's our sco
SKILL.md.claude/skills/self-grade/SKILL.md
GitHubSelf-Grade
Computes a defensible self-assessed grade with strict honesty. Target 92–93, cap 95.
When to run
Only when: all PRs merged to main; CI green on main; the README report is complete with every
figure embedded; results/ holds the committed raw data; docs/KNOWN_LIMITATIONS.md is current.
How to compute
scripts/self_grade.py (ported in Phase 3) produces a numeric score + a per-item breakdown with
every deduction and its reason. Run it: uv run python scripts/self_grade.py.
What gets graded (HW5 deliverables, analysis-weighted)
| Category | Weight | What's measured |
|---|---|---|
| Analysis & theory-linking | ~35 | Depth of the baseline/AirLLM/quant/competitor analysis; Prefill/Decode + memory/compute-bound + paging linkage; the roofline |
| Measurement rigor & reproducibility | ~25 | The six metrics captured cleanly; cold/warm; committed raw data; figures regenerate offline |
| Economics | ~15 | Two on-prem lines + API + caching + cloud; break-even; all assumptions stated |
| Report / README quality | ~15 | Hardware + model justification; findings; reproduction; figures embedded inline |
| Process & code quality | ~10 | ruff/mypy/coverage/file-size; atomic commits; cross-model review; honest disclosure |
Analysis is the most important category — a well-analyzed negative result scores higher than a shallow positive one. Code that runs but isn't analyzed loses more than rough code with deep analysis.
Honesty rules
- Never report > 95 without explicit override + audit. If the script outputs 96+, re-run with harsher penalties and lower at least one item where a judgment call was made.
- The grading agent is ground truth. A self-grade off by > 5 points loses accuracy points — so target slightly below your honest assessment (think 94 → report 92).
- Justification > number. The submission must include a written, per-category justification; the number alone won't survive grading.
- Let
docs/KNOWN_LIMITATIONS.mdbe the justification for the gap below 100 — documented limitations (single-box measurement, tiny token budgets, Windows-stack caveats, perplexity-as-proxy) read as calibration, not modesty.
Anti-patterns to refuse
Report > 95 without audit · submit without KNOWN_LIMITATIONS.md entries · submit with CI red on
main · skip the justification text · inflate analysis to cover weak process · backdate the submission.
Verify before submission
make grade green on main · self_grade.py reports a defensible number with breakdown · README
renders on github.com with figures · repo is public · both partners listed with correct IDs ·
docs/PROMPTS.md truthful and complete.