archived/skills/ground-truth/SKILL.md
Establish and refine ground truth labels for evaluation datasets. Use when creating, reviewing, or updating labels for any judgment/reasoning task.
npx skillsauth add nicsuzor/academicops ground-truthInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Establish rigorous, defensible ground truth labels for evaluation datasets. Ensures labels derive from authoritative sources rather than intuition, and documents reasoning for reproducibility and auditability.
Invoke when:
Ground truth derives from explicit guidelines, not intuition.
When labeling, the answer must come from the established criteria themselves, not from general judgment about what "should" be the case.
❌ "This seems like good journalism, so it shouldn't be flagged"
✅ "Guideline X permits quoting harmful language when [condition]. This article meets that condition."
Before labeling any record, load and review the authoritative criteria:
For each record:
Label structure:
ground_truth:
violating: true/false
reasons:
- Primary reason with guideline reference
- 'OPTIONAL: Secondary observation that scorers need not require'
Reason categories:
High disagreement signals:
When encountering genuine ambiguity, document it - don't force a label.
Prefix with "OPTIONAL:" for secondary observations:
Example:
reasons:
- Article provides critical framing and therefore DOES NOT VIOLATE quote attribution rules.
- 'OPTIONAL: Uses "activists" - guidelines discourage this when implying negative connotations, but usage here is neutral.'
| Pitfall | Correction | | -------------------------- | ---------------------------------------- | | Labeling by intuition | Find explicit guideline provision | | Assuming guidelines agree | Check each criterion separately | | Over-strict interpretation | Guidelines often permit with conditions | | Ignoring context | Most guidelines consider framing/purpose | | Binary thinking | Use OPTIONAL for nuanced observations |
When refining labels:
For each labeling decision, provide:
data-ai
Canonical session close — commit, push, PR, release_task, reflection blocks, handover. Use /dump for emergency bail (no commit/PR/reflection).
data-ai
Emergency session bail — fast resume task + short handover, no commit/PR/reflection. For when you (or the user) need a clean context now. Use /end-session for canonical close.
data-ai
Daily note lifecycle — compose and maintain a factual daily note. Reports the state of the day; does not prioritise or recommend. SSoT for daily note structure.
testing
Launder supervisor/worker task-log output into a Nic-facing narrative — what happened, where things are headed, and what (if anything) is genuinely his to decide. Never relays raw process detail (worker IDs, thread pointers, log paths) or verbatim task-log stream-of-consciousness.