skills/moderate-mark/SKILL.md
This skill should be used when the user asks to "moderate marks", "produce marking dossiers", "double-mark" an assessment, run a "second-reader pass", or "build a moderation pack". Also trigger when the user has just entered rubric marks for a HUMN8031 Assessment 2 paper and wants a moderation dossier produced. Do not trigger for rubric design or rubric review — only for dossier production on a marked assessment.
npx skillsauth add saross/personal-assistant moderate-markInstall 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.
Produce a moderation dossier for a marked literature review. The dossier double-marks the marker's tier picks against the rubric descriptors and the submitted text, surfaces upward and downward descriptor-fit findings independently, and produces polished marker comments + per-criterion borderline comments ready for Canvas.
This skill is HUMN8031-specific in v0.1.x. Paths, rubric weights,
A1↔A2 criterion mapping, and the cohort-relative norm (ANU Masters
low-70s mode) are hardcoded in the stage prompts. Externalisation
to a config.yaml is a v0.2 candidate.
The skill runs four stages in sequence. Each stage is independently re-invokable. Together they produce a single moderation dossier per student.
Stage 1 — Neutral dossier
stage-1-produce-dossier.md
↓ (criterion-by-criterion descriptor-fit analysis,
A1→A2 trajectory, identifies borderline criteria;
NO lift or hold recommendations at this stage)
Stage 2 — Upward check
stage-2-upward-check.md
↓ (for borderline-or-suggestive criteria, evaluate
descriptor evidence for the higher tier; apply
default-to-lower discipline; apply marker-comment-as-
descriptor-evidence rule)
Stage 3 — Downward check
stage-3-downward-check.md
↓ (for each call, evaluate whether descriptor + cohort-
relative norm support a lower tier; apply marker-comment-
as-descriptor-evidence rule on the downward side)
Stage 4 — Reconcile and append
stage-4-reconcile-and-append.md
(synthesise upward + downward findings; produce final
mark recommendation; append polished marker-comment
bullets and per-criterion borderline paste-ables)
The four stages are kept separate (not collapsed) for accountability: each stage's reasoning is preserved in the dossier, so a moderator can see why the recommendation landed where it did. Stage 4 is unified in v0.1.x (reconcile + polished comments + borderline comments in one agent run); split into 4a/4b is a v2 option if the prompt grows unwieldy.
/moderate-mark <student-stem> — full 4-stage pipeline for one
student. Example: /moderate-mark li-jiayuan. The student-stem is
the dash-separated surname-given-name as it appears in the marks
filename (e.g., li-jiayuan matches li-jiayuan-1276958.md in
reports/marking/a2-shawn-marks/)./moderate-mark batch — pipeline across all students with marks
entered in reports/marking/a2-shawn-marks/. Skip students whose
dossier already exists at reports/marking/dossiers/<stem>-*.md
unless --force is passed./moderate-mark stage-N <student-stem> — re-run a single stage
on an existing dossier. Stage N reads the prior stages' output from
the dossier file in place and rewrites only its own section.If /moderate-mark <student> is run on a student who already has a
dossier at reports/marking/dossiers/<stem>-<submission-id>.md,
prompt for single-line confirmation before overwriting:
Dossier already exists for <student> at <path>. Overwrite? [y/N]
Bail on anything other than y / Y / yes.
The skill bails with a clear message if any of these checks fail:
reports/marking/a2-shawn-marks/<stem>-*.md. If zero or multiple matches: bail with the offending count and the matched paths.data/submissions-lit-review/extracted/<stem>-*.txt. Same rule.reports/marking/a2-rubric-definition.json exists.discipline-rules.md). If unparseable, raise a flag in the dossier header rather than bailing — the marker can verify manually.The A1 feedback file (reports/marking/a1-feedback/<stem>-*.md) is
treated as optional. If absent, proceed with an empty A1
trajectory section noting "A1 feedback unavailable — late enrolee
or other reason". This is an edge case for late enrolees.
If the marks file is malformed (no parseable rubric ratings), bail with the parse error and the path. Do not guess.
| Input | Path pattern |
|---|---|
| A2 marker tier picks | reports/marking/a2-shawn-marks/<stem>-<canvas-user-id>.md |
| A1 feedback (optional) | reports/marking/a1-feedback/<stem>-<canvas-user-id>.md |
| Submission body text | data/submissions-lit-review/extracted/<stem>-<submission-id>.txt |
| Rubric definition | reports/marking/a2-rubric-definition.json |
| Discipline rules | discipline-rules.md (in this skill) |
| Format spec | dossier-format.md (in this skill) |
| Worked example | examples/jiang-xinrui-canonical.md (in this skill) |
The Canvas user ID (in marks/A1 filenames) and the submission ID (in
extracted-text filename) are different IDs. The skill reads both
files via student-stem glob; the submission ID for the dossier output
filename comes from the extracted-text header (# Submission ID: <id>
on line 2).
| Output | Path pattern |
|---|---|
| Moderation dossier | reports/marking/dossiers/<stem>-<submission-id>.md |
| Batch progress | reports/marking/dossiers/batch-progress.md (batch mode only) |
discipline-rules.md — the 11 locked rules. Every stage must
apply these; rules are cited by number in stage prompts.dossier-format.md — the 10-section spec for the dossier
output. Stages 1–4 each write specified sections.examples/jiang-xinrui-canonical.md — the canonical reference
dossier. Read for voice, tone, length conventions, and bullet
structure. Format authority is dossier-format.md; voice authority
is this example.stage-1-produce-dossier.md — neutral descriptor-fit analysis
and A1→A2 trajectory; identifies borderline criteria; NO lift/hold
recommendations.stage-2-upward-check.md — upward review for
borderline-or-suggestive criteria; drift-catch logic as one
internal trigger (NOT a named protocol).stage-3-downward-check.md — cohort-relative downward review;
marker-comment-as-descriptor-evidence rule applied on the downward
side.stage-4-reconcile-and-append.md — reconciles upward and
downward findings; appends polished marker-comment bullets and
per-criterion borderline paste-ables; produces the final mark
recommendation.The dossier verdict line and per-criterion calls use exactly three labels:
Borderline calls that are defensible either way are labelled Borderline in the dossier body (not as a verdict outcome). They are surfaced for transparency, not as recommendations.
**[Your comment, polished]**.Documented in planning/moderate-mark-skill-plan.md (sections F–J).
Do not pull forward without explicit ask:
config.yamltesting
Generate valid Fieldmark notebook JSON files from natural language descriptions, field manuals, or specifications. Supports validation rules, conditional logic, and parent-child relationships.
development
Generate modular "lego brick" documentation for Fieldmark field types. Produces design docs (Notebook Editor configuration), collect docs (data collection usage), shared docs, Playwright screenshot specs, and practical fieldwork tips. This skill should be used when creating, updating, or reviewing field type documentation for the fieldmark-docs-staging repository.
development
Classify dual-nature entities (hotels, churches, schools, halls) as building-only, business/organisation-only, or both based on contextual linguistic analysis.
development
This skill should be used when the user asks to "build a rubric", "create a rubric", "design a rubric", "make a marking rubric", "assessment rubric", or "rubric for [assessment name]". Also trigger when the user mentions needing to mark or assess student work and a rubric does not yet exist. Do not trigger for rubric review or revision of an existing rubric — only for building a new one.