Writing Rubrics
Objective
Create or update rubric documents in this repo and keep their integration points in sync:
- Rubric files (typically under
*/references/*rubric*.md)
- Reviewer report templates (typically
*/references/review-template.md)
- Reviewer prompts (
*/agents/openai.yaml)
When to use / When not to use
Use when:
- The user asks to create, edit, align, or consolidate rubric files (especially
*/references/*rubric*.md).
- The user asks to sync rubric expectations with reviewer templates (
**/references/review-template.md) or reviewer prompts (**/agents/openai.yaml).
Do not use when:
- The user wants a rubric-only review/grade without editing (use the review prompt at references/review-prompt.md directly).
- The user wants to write a non-rubric skill or policy doc unrelated to rubric meta-patterns.
Safety / Constraints (non-negotiable)
- Never read, request, or paste secrets.
- Do not browse the web or call external systems unless the user explicitly requests it.
- Keep diffs small: change only the rubric meta-pattern or the user-requested rubric content.
- Before making bulk edits across multiple rubrics/templates, summarize the planned changes and get approval.
Quality Bar (default)
Target outcome:
- No spec violations, and
- Weighted score ≥ 4.5/5.0 (grade A), and
- No P1 findings in a critic review
The review prompt (contains scoring dimensions and review workflow): references/review-prompt.md (single source of truth for grading rubric documents).
The review report template: references/review-template.md.
Canonical Rubric Meta-Pattern (repo default)
Apply these conventions across rubrics unless a rubric explicitly documents a justified exception:
- Grade bands
- A: 4.5–5.0
- B: 3.5–4.49
- C: 2.5–3.49
- D: 1.5–2.49
- F: < 1.5
- Findings priorities
- P1 (Critical): likely to cause broken workflows, unsafe actions, or repeated failure loops.
- P2 (Important): likely to waste tokens/time, reduce output quality, or cause repeated clarification.
- P3 (Nice): polish and future-proofing.
- Evidence-backed verification
- Prefer PASS/FAIL/SKIP reporting for checks.
- Use SKIP when verification would require executing code or accessing secrets.
- Do not claim FAIL without evidence (file path + what was checked).
Workflow (decision-complete)
- Discover rubric files
- Find rubric markdown files under the repo (default:
*/references/*rubric*.md).
- If the user provided paths, restrict to those.
- Decide scope
- Single-file edit: only the requested rubric changes.
- Alignment pass: apply the Canonical Rubric Meta-Pattern across all discovered rubrics.
- Ensure the linter is available
- If
packages/skillcheck/dist/ exists (inside this repo), use: node packages/skillcheck/bin/skillcheck.js
- Otherwise, build it first:
cd packages/skillcheck && npm ci && npm run build
- Outside this repo:
npx skillcheck (not yet published; skip validation and note it was skipped if unavailable)
- Optional preflight (recommended)
- Run the linter with
--rubrics-only on the repo skills directory to locate drift in grade bands, P-definitions, and evidence-backed verification sections.
- Run
npx agnix <skill-dir> on any skill directories that will be modified.
- Only run the linter with
--fix after summarizing the expected file changes and getting explicit user approval (it writes files).
- Apply changes (write)
- Update rubric(s) to match the canonical meta-pattern.
- If a rubric requires a domain-specific verification section, keep it domain-specific but enforce the evidence rule.
- Sync integration points (write)
- Ensure reviewer templates include a “Verification Results” section if the rubric expects evidence-backed checks.
- Ensure reviewer prompts mention the correct rubric path(s).
- Validate
- If preflight reports drift, propose the smallest set of edits to resolve it (by file), then re-run the preflight.
- For any changed skill directories, run both linters on each:
node packages/skillcheck/bin/skillcheck.js <skill-dir>
npx agnix <skill-dir>
Quality Gate
Two-phase review after validation. Target: Quality Bar (score >= 4.5, no P1 findings).
Phase 1: Self-critic review
Review the changed rubric(s) and integration points for:
- Internal consistency — grade bands, P-definitions match the canonical meta-pattern.
- Completeness — all dimensions have 1/3/5 criteria.
- Cross-reference accuracy — reviewer templates/prompts reference correct rubric paths.
Fix inline or flag. If score < 4.5 or P1 findings remain, fix before proceeding to Phase 2.
Phase 2: Fresh-context subagent review
Run a fresh-context critic pass using references/review-prompt.md:
- If your environment supports subagents, spawn a fresh-context subagent with the review prompt. Otherwise, perform the review directly following the prompt instructions.
- Apply P1 + P2 fixes (P3 last).
- Re-run validation.
- Repeat up to 3 loops, stop early when the Quality Bar is met.
Edge Cases
- Linters not available (no Node.js / npx): warn the user; skip validation but note it was skipped in the deliverable.
- No rubric files found: stop and ask the user for the correct path(s) before proceeding.
Examples
- "Use $writing-rubrics to create a new rubric for reviewing deployment configs."
- "Use $writing-rubrics to align all rubrics in this repo to the canonical meta-pattern."
- "Use $writing-rubrics to sync the reviewer template with the updated skills-rubric.md."
Output Rules
- Keep rubric prose dense and scannable (tables/bullets preferred).
- Avoid time-sensitive claims unless the rubric explicitly requires web browsing and says so.
1---2name: writing-rubrics3description: Creates or updates rubric Markdown files (and their review-template/prompt integration) with consistent grade bands, P1/P2/P3 definitions, and evidence-backed verification rules. Use when: the user asks to add a new rubric, align/consolidate rubrics, or sync rubric expectations with reviewer templates/prompts.4---56# Writing Rubrics78## Objective910Create or update rubric documents in this repo and keep their integration points in sync:11- Rubric files (typically under `*/references/*rubric*.md`)12- Reviewer report templates (typically `*/references/review-template.md`)13- Reviewer prompts (`*/agents/openai.yaml`)1415## When to use / When not to use1617Use when:18- The user asks to create, edit, align, or consolidate rubric files (especially `*/references/*rubric*.md`).19- The user asks to sync rubric expectations with reviewer templates (`**/references/review-template.md`) or reviewer prompts (`**/agents/openai.yaml`).2021Do not use when:22- The user wants a rubric-only review/grade without editing (use the review prompt at [references/review-prompt.md](references/review-prompt.md) directly).23- The user wants to write a non-rubric skill or policy doc unrelated to rubric meta-patterns.2425## Safety / Constraints (non-negotiable)2627- Never read, request, or paste secrets.28- Do not browse the web or call external systems unless the user explicitly requests it.29- Keep diffs small: change only the rubric meta-pattern or the user-requested rubric content.30- Before making bulk edits across multiple rubrics/templates, summarize the planned changes and get approval.3132## Quality Bar (default)3334Target outcome:35- **No spec violations**, and36- **Weighted score ≥ 4.5/5.0** (grade A), and37- **No P1 findings** in a critic review3839The review prompt (contains scoring dimensions and review workflow): [references/review-prompt.md](references/review-prompt.md) (single source of truth for grading rubric documents).40The review report template: [references/review-template.md](references/review-template.md).4142## Canonical Rubric Meta-Pattern (repo default)4344Apply these conventions across rubrics unless a rubric explicitly documents a justified exception:4546- **Grade bands**47 - **A:** 4.5–5.048 - **B:** 3.5–4.4949 - **C:** 2.5–3.4950 - **D:** 1.5–2.4951 - **F:** < 1.552- **Findings priorities**53 - **P1 (Critical):** likely to cause broken workflows, unsafe actions, or repeated failure loops.54 - **P2 (Important):** likely to waste tokens/time, reduce output quality, or cause repeated clarification.55 - **P3 (Nice):** polish and future-proofing.56- **Evidence-backed verification**57 - Prefer **PASS/FAIL/SKIP** reporting for checks.58 - Use **SKIP** when verification would require executing code or accessing secrets.59 - Do not claim **FAIL** without evidence (file path + what was checked).6061## Workflow (decision-complete)62631. Discover rubric files64 - Find rubric markdown files under the repo (default: `*/references/*rubric*.md`).65 - If the user provided paths, restrict to those.662. Decide scope67 - **Single-file edit:** only the requested rubric changes.68 - **Alignment pass:** apply the Canonical Rubric Meta-Pattern across all discovered rubrics.693. Ensure the linter is available70 - If `packages/skillcheck/dist/` exists (inside this repo), use: `node packages/skillcheck/bin/skillcheck.js`71 - Otherwise, build it first: `cd packages/skillcheck && npm ci && npm run build`72 - Outside this repo: `npx skillcheck` (not yet published; skip validation and note it was skipped if unavailable)734. Optional preflight (recommended)74 - Run the linter with `--rubrics-only` on the repo skills directory to locate drift in grade bands, P-definitions, and evidence-backed verification sections.75 - Run `npx agnix <skill-dir>` on any skill directories that will be modified.76 - Only run the linter with `--fix` after summarizing the expected file changes and getting explicit user approval (it writes files).775. Apply changes (write)78 - Update rubric(s) to match the canonical meta-pattern.79 - If a rubric requires a domain-specific verification section, keep it domain-specific but enforce the evidence rule.806. Sync integration points (write)81 - Ensure reviewer templates include a “Verification Results” section if the rubric expects evidence-backed checks.82 - Ensure reviewer prompts mention the correct rubric path(s).837. Validate84 - If preflight reports drift, propose the smallest set of edits to resolve it (by file), then re-run the preflight.85 - For any changed skill directories, run both linters on each:86 - `node packages/skillcheck/bin/skillcheck.js <skill-dir>`87 - `npx agnix <skill-dir>`8889### Quality Gate9091Two-phase review after validation. Target: Quality Bar (score >= 4.5, no P1 findings).9293#### Phase 1: Self-critic review9495Review the changed rubric(s) and integration points for:96- **Internal consistency** — grade bands, P-definitions match the canonical meta-pattern.97- **Completeness** — all dimensions have 1/3/5 criteria.98- **Cross-reference accuracy** — reviewer templates/prompts reference correct rubric paths.99100Fix inline or flag. If score < 4.5 or P1 findings remain, fix before proceeding to Phase 2.101102#### Phase 2: Fresh-context subagent review103104Run a **fresh-context critic** pass using [references/review-prompt.md](references/review-prompt.md):105- If your environment supports subagents, **spawn a fresh-context subagent** with the review prompt. Otherwise, perform the review directly following the prompt instructions.106- Apply **P1 + P2** fixes (P3 last).107- Re-run validation.108- Repeat up to **3 loops**, stop early when the Quality Bar is met.109110## Edge Cases111112- **Linters not available (no Node.js / npx):** warn the user; skip validation but note it was skipped in the deliverable.113- **No rubric files found:** stop and ask the user for the correct path(s) before proceeding.114115## Examples116117- "Use $writing-rubrics to create a new rubric for reviewing deployment configs."118- "Use $writing-rubrics to align all rubrics in this repo to the canonical meta-pattern."119- "Use $writing-rubrics to sync the reviewer template with the updated skills-rubric.md."120121## Output Rules122123- Keep rubric prose dense and scannable (tables/bullets preferred).124- Avoid time-sensitive claims unless the rubric explicitly requires web browsing and says so.