بنقرة واحدة
brief-compliance-check
Use when you need to check a LaTeX submission against a PDF assessment brief.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when you need to check a LaTeX submission against a PDF assessment brief.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when you need to compare a project .bib against a Paperpile project/topic folder to find uncited papers or unfiled entries.
Use when you need to extract citations from a PDF and generate a validated .bib file. Reads the PDF, identifies all referenced works, constructs BibTeX entries with metadata verification, then runs bib-validate.
Use when you need to replicate a quantitative analysis in a second language (R↔Python↔Stata↔Julia) to verify correctness. Level 1 of the verification hierarchy.
Use when you need to challenge research assumptions or stress-test arguments.
Review user-facing documentation for accuracy, consistency, and completeness across private, public, nested repos, and the user manual. Use when docs feel stale, after major changes, or before sharing. (Replaces `repo-doc-audit`)
Use when you need to compile all LaTeX projects and check cross-project consistency.
| name | brief-compliance-check |
| description | Use when you need to check a LaTeX submission against a PDF assessment brief. |
| allowed-tools | ["Read","Glob","Bash(uv:*)","Bash(ls*)"] |
Given a PDF brief and a LaTeX submission, report exactly what is met, missing, or over-limit. Report-only — never modifies files.
Per rules/review-artefact-routing.md (auto-loads in research projects (path-scoped to paper-*/ and paper/)):
brief-compliance-checkreviews/<paper-slug>/brief-compliance-check/<YYYY-MM-DD-HHMM>.md inside the project, where <paper-slug> is the paper directory name (e.g., paper-jtp, paper-philtech). Path is relative to the research project root, not the Task-Management repo../CRITIC-REPORT.md-style filenames are forbidden — pre-rule layout).{date}-revision.md, {date}-r2.md, {date}-pre-submission.md) — never overwrite.reviews/INDEX.md exists, write a one-line entry under "Latest per source" pointing at the new file. Otherwise review-recap will rebuild the index next time it runs.[brief.pdf] [submission/] or auto-detect from context| Setting | Default |
|---|---|
| Brief path | Prompt if not found automatically |
| Submission dir | CWD or submission/ subdirectory |
| LaTeX file | main.tex in submission dir |
| Word counting | Strips lstlisting, tikzpicture, tabular/tabularx, LaTeX commands |
Read the full brief PDF. Extract for each task/section:
Present a one-paragraph summary: how many tasks, total marks, submission format.
For any task with a word limit, count words in the corresponding LaTeX section using this script:
import re
with open('main.tex', 'r') as f:
tex = f.read()
# Map section headings to task labels and limits
# (fill from brief before running)
sections = {
'Task X': (r'\section{Heading}', r'\section{Next Heading}', limit),
}
for task, (start, end, limit) in sections.items():
s = tex.find(start)
e = tex.find(end) if end else len(tex)
chunk = tex[s:e]
# Strip non-prose environments
chunk = re.sub(r'\\begin\{lstlisting\}.*?\\end\{lstlisting\}', '', chunk, flags=re.DOTALL)
chunk = re.sub(r'\\begin\{tikzpicture\}.*?\\end\{tikzpicture\}', '', chunk, flags=re.DOTALL)
chunk = re.sub(r'\\begin\{tabular[x]?\}.*?\\end\{tabular[x]?\}', '', chunk, flags=re.DOTALL)
# Strip LaTeX commands but keep their text arguments
chunk = re.sub(r'\\[a-zA-Z]+\*?\{([^}]*)\}', r' \1 ', chunk)
chunk = re.sub(r'\\[a-zA-Z]+\*?', ' ', chunk)
chunk = re.sub(r'[{}\$~^%]', ' ', chunk)
count = len(chunk.split())
status = 'OK' if count <= limit else f'OVER by {count - limit}'
print(f'{task}: ~{count} words (limit {limit}) [{status}]')
Adapt section headings and limits from the brief before running.
For each required non-LaTeX file, verify existence:
ls submission/ # check submitted PDF and LaTeX
ls openapi/ # check YAML specs if required
ls .github/workflows/ # check CI workflow if required
ls services/*/ # check service implementations if required
Report each as ✅ present / ❌ missing.
Produce a compliance table per task. Then summarise overall status.
## Brief Compliance Report — [Module/Assessment Name]
### Overview
[1-para summary: N tasks, N marks, submission format]
### Per-Task Compliance
| Task | Requirement | Status |
|------|-------------|--------|
| A | Architecture diagram | ✅ |
| A | Written explanation ≤600 words | ✅ ~540 words |
| B | Security requirements ≤800 words | ✅ ~416 words |
| C | Five OpenAPI YAML files | ✅ |
| C | Linting output in PDF | ✅ |
| D | Test logs | ✅ |
| D | Written analysis ≤600 words | ❌ ~764 words (OVER by 164) |
| E | GitHub Actions workflow file | ✅ |
| F | Reflection ≤700 words | ✅ ~645 words |
### File Deliverables
| File/Directory | Required | Status |
|----------------|----------|--------|
| main.pdf | Yes | ✅ |
| openapi/*.yaml (5 files) | Yes | ✅ |
| .github/workflows/ci.yml | Yes | ✅ |
| services/*/Dockerfile (5) | Yes | ✅ |
### Summary
- ✅ N requirements met
- ❌ N gaps or violations
- ⚠️ N warnings (approaching limit, optional items)
[Action items for any ❌ or ⚠️]
lstlisting, tikzpicture, or table body content — these are not proseWrite the brief-compliance report to reviews/<paper-slug>/brief-compliance-check/<YYYY-MM-DD-HHMM>.md (where <paper-slug> is extracted from the paper directory, e.g. paper-jtp; create mkdir -p reviews/<paper-slug>/brief-compliance-check/ first). Then append a row to the project's REVIEW-STATE.md:
bash <skills-root>/_shared/review-state-log.sh \
--check brief-compliance-check \
--paper "<paper-{venue} dir>" \
--verdict "<PASS|PARTIAL|FAIL>" \
--score "<met-count>/<total-criteria>" \
--open-issues "<gap-count>/<total-criteria>" \
--report "reviews/<paper-slug>/brief-compliance-check/<YYYY-MM-DD-HHMM>.md" \
--notes "<one-line: e.g. 'over word limit by 250; missing appendix C'>" \
[--trigger "pre-submission-report|review-cluster"]
8/10).Schema: the installed shared resource shared/review-state-schema.md.