flonat-research 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/.claude/agents/domain-reviewer.md +336 -0
  2. package/.claude/agents/fixer.md +226 -0
  3. package/.claude/agents/paper-critic.md +370 -0
  4. package/.claude/agents/peer-reviewer.md +289 -0
  5. package/.claude/agents/proposal-reviewer.md +215 -0
  6. package/.claude/agents/referee2-reviewer.md +367 -0
  7. package/.claude/agents/references/journal-referee-profiles.md +354 -0
  8. package/.claude/agents/references/paper-critic/council-personas.md +77 -0
  9. package/.claude/agents/references/paper-critic/council-prompts.md +198 -0
  10. package/.claude/agents/references/peer-reviewer/report-template.md +199 -0
  11. package/.claude/agents/references/peer-reviewer/sa-prompts.md +260 -0
  12. package/.claude/agents/references/peer-reviewer/security-scan.md +188 -0
  13. package/.claude/agents/references/proposal-reviewer/report-template.md +144 -0
  14. package/.claude/agents/references/proposal-reviewer/sa-prompts.md +149 -0
  15. package/.claude/agents/references/referee-config.md +114 -0
  16. package/.claude/agents/references/referee2-reviewer/audit-checklists.md +287 -0
  17. package/.claude/agents/references/referee2-reviewer/report-template.md +334 -0
  18. package/.claude/rules/design-before-results.md +52 -0
  19. package/.claude/rules/ignore-agents-md.md +17 -0
  20. package/.claude/rules/ignore-gemini-md.md +17 -0
  21. package/.claude/rules/lean-claude-md.md +45 -0
  22. package/.claude/rules/learn-tags.md +99 -0
  23. package/.claude/rules/overleaf-separation.md +67 -0
  24. package/.claude/rules/plan-first.md +175 -0
  25. package/.claude/rules/read-docs-first.md +50 -0
  26. package/.claude/rules/scope-discipline.md +28 -0
  27. package/.claude/settings.json +125 -0
  28. package/.context/current-focus.md +33 -0
  29. package/.context/preferences/priorities.md +36 -0
  30. package/.context/preferences/task-naming.md +28 -0
  31. package/.context/profile.md +29 -0
  32. package/.context/projects/_index.md +41 -0
  33. package/.context/projects/papers/nudge-exp.md +22 -0
  34. package/.context/projects/papers/uncertainty.md +31 -0
  35. package/.context/resources/claude-scientific-writer-review.md +48 -0
  36. package/.context/resources/cunningham-multi-analyst-agents.md +104 -0
  37. package/.context/resources/cunningham-multilang-code-audit.md +62 -0
  38. package/.context/resources/google-ai-co-scientist-review.md +72 -0
  39. package/.context/resources/karpathy-llm-council-review.md +58 -0
  40. package/.context/resources/multi-coder-reliability-protocol.md +175 -0
  41. package/.context/resources/pedro-santanna-takeaways.md +96 -0
  42. package/.context/resources/venue-rankings/abs_ajg_2024.csv +1823 -0
  43. package/.context/resources/venue-rankings/abs_ajg_2024_econ.csv +356 -0
  44. package/.context/resources/venue-rankings/cabs_4_4star_theory.csv +40 -0
  45. package/.context/resources/venue-rankings/core_2026.csv +801 -0
  46. package/.context/resources/venue-rankings.md +147 -0
  47. package/.context/workflows/README.md +69 -0
  48. package/.context/workflows/daily-review.md +91 -0
  49. package/.context/workflows/meeting-actions.md +108 -0
  50. package/.context/workflows/replication-protocol.md +155 -0
  51. package/.context/workflows/weekly-review.md +113 -0
  52. package/.mcp-server-biblio/formatters.py +158 -0
  53. package/.mcp-server-biblio/pyproject.toml +11 -0
  54. package/.mcp-server-biblio/server.py +678 -0
  55. package/.mcp-server-biblio/sources/__init__.py +14 -0
  56. package/.mcp-server-biblio/sources/base.py +73 -0
  57. package/.mcp-server-biblio/sources/formatters.py +83 -0
  58. package/.mcp-server-biblio/sources/models.py +22 -0
  59. package/.mcp-server-biblio/sources/multi_source.py +243 -0
  60. package/.mcp-server-biblio/sources/openalex_source.py +183 -0
  61. package/.mcp-server-biblio/sources/scopus_source.py +309 -0
  62. package/.mcp-server-biblio/sources/wos_source.py +508 -0
  63. package/.mcp-server-biblio/uv.lock +896 -0
  64. package/.scripts/README.md +161 -0
  65. package/.scripts/ai_pattern_density.py +446 -0
  66. package/.scripts/conf +445 -0
  67. package/.scripts/config.py +122 -0
  68. package/.scripts/count_inventory.py +275 -0
  69. package/.scripts/daily_digest.py +288 -0
  70. package/.scripts/done +177 -0
  71. package/.scripts/extract_meeting_actions.py +223 -0
  72. package/.scripts/focus +176 -0
  73. package/.scripts/generate-codex-agents-md.py +217 -0
  74. package/.scripts/inbox +194 -0
  75. package/.scripts/notion_helpers.py +325 -0
  76. package/.scripts/openalex/query_helpers.py +306 -0
  77. package/.scripts/papers +227 -0
  78. package/.scripts/query +223 -0
  79. package/.scripts/session-history.py +201 -0
  80. package/.scripts/skill-health.py +516 -0
  81. package/.scripts/skill-log-miner.py +273 -0
  82. package/.scripts/sync-to-codex.sh +252 -0
  83. package/.scripts/task +213 -0
  84. package/.scripts/tasks +190 -0
  85. package/.scripts/week +206 -0
  86. package/CLAUDE.md +197 -0
  87. package/LICENSE +21 -0
  88. package/MEMORY.md +38 -0
  89. package/README.md +269 -0
  90. package/docs/agents.md +44 -0
  91. package/docs/bibliography-setup.md +55 -0
  92. package/docs/council-mode.md +36 -0
  93. package/docs/getting-started.md +245 -0
  94. package/docs/hooks.md +38 -0
  95. package/docs/mcp-servers.md +82 -0
  96. package/docs/notion-setup.md +109 -0
  97. package/docs/rules.md +33 -0
  98. package/docs/scripts.md +303 -0
  99. package/docs/setup-overview/setup-overview.pdf +0 -0
  100. package/docs/skills.md +70 -0
  101. package/docs/system.md +159 -0
  102. package/hooks/block-destructive-git.sh +66 -0
  103. package/hooks/context-monitor.py +114 -0
  104. package/hooks/postcompact-restore.py +157 -0
  105. package/hooks/precompact-autosave.py +181 -0
  106. package/hooks/promise-checker.sh +124 -0
  107. package/hooks/protect-source-files.sh +81 -0
  108. package/hooks/resume-context-loader.sh +53 -0
  109. package/hooks/startup-context-loader.sh +102 -0
  110. package/package.json +51 -0
  111. package/packages/cli-council/.github/workflows/claude-code-review.yml +44 -0
  112. package/packages/cli-council/.github/workflows/claude.yml +50 -0
  113. package/packages/cli-council/README.md +100 -0
  114. package/packages/cli-council/pyproject.toml +43 -0
  115. package/packages/cli-council/src/cli_council/__init__.py +19 -0
  116. package/packages/cli-council/src/cli_council/__main__.py +185 -0
  117. package/packages/cli-council/src/cli_council/backends/__init__.py +8 -0
  118. package/packages/cli-council/src/cli_council/backends/base.py +81 -0
  119. package/packages/cli-council/src/cli_council/backends/claude.py +25 -0
  120. package/packages/cli-council/src/cli_council/backends/codex.py +27 -0
  121. package/packages/cli-council/src/cli_council/backends/gemini.py +26 -0
  122. package/packages/cli-council/src/cli_council/checkpoint.py +212 -0
  123. package/packages/cli-council/src/cli_council/config.py +51 -0
  124. package/packages/cli-council/src/cli_council/council.py +391 -0
  125. package/packages/cli-council/src/cli_council/models.py +46 -0
  126. package/packages/llm-council/.github/workflows/claude-code-review.yml +44 -0
  127. package/packages/llm-council/.github/workflows/claude.yml +50 -0
  128. package/packages/llm-council/README.md +453 -0
  129. package/packages/llm-council/pyproject.toml +42 -0
  130. package/packages/llm-council/src/llm_council/__init__.py +23 -0
  131. package/packages/llm-council/src/llm_council/__main__.py +259 -0
  132. package/packages/llm-council/src/llm_council/checkpoint.py +193 -0
  133. package/packages/llm-council/src/llm_council/client.py +253 -0
  134. package/packages/llm-council/src/llm_council/config.py +232 -0
  135. package/packages/llm-council/src/llm_council/council.py +482 -0
  136. package/packages/llm-council/src/llm_council/models.py +46 -0
  137. package/packages/mcp-bibliography/MEMORY.md +31 -0
  138. package/packages/mcp-bibliography/_app.py +226 -0
  139. package/packages/mcp-bibliography/formatters.py +158 -0
  140. package/packages/mcp-bibliography/log/2026-03-13-2100.md +35 -0
  141. package/packages/mcp-bibliography/pyproject.toml +15 -0
  142. package/packages/mcp-bibliography/run.sh +20 -0
  143. package/packages/mcp-bibliography/scholarly_formatters.py +83 -0
  144. package/packages/mcp-bibliography/server.py +1857 -0
  145. package/packages/mcp-bibliography/tools/__init__.py +28 -0
  146. package/packages/mcp-bibliography/tools/_registry.py +19 -0
  147. package/packages/mcp-bibliography/tools/altmetric.py +107 -0
  148. package/packages/mcp-bibliography/tools/core.py +92 -0
  149. package/packages/mcp-bibliography/tools/dblp.py +52 -0
  150. package/packages/mcp-bibliography/tools/openalex.py +296 -0
  151. package/packages/mcp-bibliography/tools/opencitations.py +102 -0
  152. package/packages/mcp-bibliography/tools/openreview.py +179 -0
  153. package/packages/mcp-bibliography/tools/orcid.py +131 -0
  154. package/packages/mcp-bibliography/tools/scholarly.py +575 -0
  155. package/packages/mcp-bibliography/tools/unpaywall.py +63 -0
  156. package/packages/mcp-bibliography/tools/zenodo.py +123 -0
  157. package/packages/mcp-bibliography/uv.lock +711 -0
  158. package/scripts/setup.sh +143 -0
  159. package/skills/beamer-deck/SKILL.md +199 -0
  160. package/skills/beamer-deck/references/quality-rubric.md +54 -0
  161. package/skills/beamer-deck/references/review-prompts.md +106 -0
  162. package/skills/bib-validate/SKILL.md +261 -0
  163. package/skills/bib-validate/references/council-mode.md +34 -0
  164. package/skills/bib-validate/references/deep-verify.md +79 -0
  165. package/skills/bib-validate/references/fix-mode.md +36 -0
  166. package/skills/bib-validate/references/openalex-verification.md +45 -0
  167. package/skills/bib-validate/references/preprint-check.md +31 -0
  168. package/skills/bib-validate/references/ref-manager-crossref.md +41 -0
  169. package/skills/bib-validate/references/report-template.md +82 -0
  170. package/skills/code-archaeology/SKILL.md +141 -0
  171. package/skills/code-review/SKILL.md +265 -0
  172. package/skills/code-review/references/quality-rubric.md +67 -0
  173. package/skills/consolidate-memory/SKILL.md +208 -0
  174. package/skills/context-status/SKILL.md +126 -0
  175. package/skills/creation-guard/SKILL.md +230 -0
  176. package/skills/devils-advocate/SKILL.md +130 -0
  177. package/skills/devils-advocate/references/competing-hypotheses.md +83 -0
  178. package/skills/init-project/SKILL.md +115 -0
  179. package/skills/init-project-course/references/memory-and-settings.md +92 -0
  180. package/skills/init-project-course/references/organise-templates.md +94 -0
  181. package/skills/init-project-course/skill.md +147 -0
  182. package/skills/init-project-light/skill.md +139 -0
  183. package/skills/init-project-research/SKILL.md +368 -0
  184. package/skills/init-project-research/references/atlas-pipeline-sync.md +70 -0
  185. package/skills/init-project-research/references/atlas-schema.md +81 -0
  186. package/skills/init-project-research/references/confirmation-report.md +39 -0
  187. package/skills/init-project-research/references/domain-profile-template.md +104 -0
  188. package/skills/init-project-research/references/interview-round3.md +34 -0
  189. package/skills/init-project-research/references/literature-discovery.md +43 -0
  190. package/skills/init-project-research/references/scaffold-details.md +197 -0
  191. package/skills/init-project-research/templates/field-calibration.md +60 -0
  192. package/skills/init-project-research/templates/pipeline-manifest.md +63 -0
  193. package/skills/init-project-research/templates/run-all.sh +116 -0
  194. package/skills/init-project-research/templates/seed-files.md +337 -0
  195. package/skills/insights-deck/SKILL.md +151 -0
  196. package/skills/interview-me/SKILL.md +157 -0
  197. package/skills/latex/SKILL.md +141 -0
  198. package/skills/latex/references/latex-configs.md +183 -0
  199. package/skills/latex-autofix/SKILL.md +230 -0
  200. package/skills/latex-autofix/references/known-errors.md +183 -0
  201. package/skills/latex-autofix/references/quality-rubric.md +50 -0
  202. package/skills/latex-health-check/SKILL.md +161 -0
  203. package/skills/learn/SKILL.md +220 -0
  204. package/skills/learn/scripts/validate_skill.py +265 -0
  205. package/skills/lessons-learned/SKILL.md +201 -0
  206. package/skills/literature/SKILL.md +335 -0
  207. package/skills/literature/references/agent-templates.md +393 -0
  208. package/skills/literature/references/bibliometric-apis.md +44 -0
  209. package/skills/literature/references/cli-council-search.md +79 -0
  210. package/skills/literature/references/openalex-api-guide.md +371 -0
  211. package/skills/literature/references/openalex-common-queries.md +381 -0
  212. package/skills/literature/references/openalex-workflows.md +248 -0
  213. package/skills/literature/references/reference-manager-sync.md +36 -0
  214. package/skills/literature/references/scopus-api-guide.md +208 -0
  215. package/skills/literature/references/wos-api-guide.md +308 -0
  216. package/skills/multi-perspective/SKILL.md +311 -0
  217. package/skills/multi-perspective/references/computational-many-analysts.md +77 -0
  218. package/skills/pipeline-manifest/SKILL.md +226 -0
  219. package/skills/pre-submission-report/SKILL.md +153 -0
  220. package/skills/process-reviews/SKILL.md +244 -0
  221. package/skills/process-reviews/references/rr-routing.md +101 -0
  222. package/skills/project-deck/SKILL.md +87 -0
  223. package/skills/project-safety/SKILL.md +135 -0
  224. package/skills/proofread/SKILL.md +254 -0
  225. package/skills/proofread/references/quality-rubric.md +104 -0
  226. package/skills/python-env/SKILL.md +57 -0
  227. package/skills/quarto-deck/SKILL.md +226 -0
  228. package/skills/quarto-deck/references/markdown-format.md +143 -0
  229. package/skills/quarto-deck/references/quality-rubric.md +54 -0
  230. package/skills/save-context/SKILL.md +174 -0
  231. package/skills/session-log/SKILL.md +98 -0
  232. package/skills/shared/concept-validation-gate.md +161 -0
  233. package/skills/shared/council-protocol.md +265 -0
  234. package/skills/shared/distribution-diagnostics.md +164 -0
  235. package/skills/shared/engagement-stratified-sampling.md +218 -0
  236. package/skills/shared/escalation-protocol.md +74 -0
  237. package/skills/shared/external-audit-protocol.md +205 -0
  238. package/skills/shared/intercoder-reliability.md +256 -0
  239. package/skills/shared/mcp-degradation.md +81 -0
  240. package/skills/shared/method-probing-questions.md +163 -0
  241. package/skills/shared/multi-language-conventions.md +143 -0
  242. package/skills/shared/paid-api-safety.md +174 -0
  243. package/skills/shared/palettes.md +90 -0
  244. package/skills/shared/progressive-disclosure.md +92 -0
  245. package/skills/shared/project-documentation-content.md +443 -0
  246. package/skills/shared/project-documentation-format.md +281 -0
  247. package/skills/shared/project-documentation.md +100 -0
  248. package/skills/shared/publication-output.md +138 -0
  249. package/skills/shared/quality-scoring.md +70 -0
  250. package/skills/shared/reference-resolution.md +77 -0
  251. package/skills/shared/research-quality-rubric.md +165 -0
  252. package/skills/shared/rhetoric-principles.md +54 -0
  253. package/skills/shared/skill-design-patterns.md +272 -0
  254. package/skills/shared/skill-index.md +240 -0
  255. package/skills/shared/system-documentation.md +334 -0
  256. package/skills/shared/tikz-rules.md +402 -0
  257. package/skills/shared/validation-tiers.md +121 -0
  258. package/skills/shared/venue-guides/README.md +46 -0
  259. package/skills/shared/venue-guides/cell_press_style.md +483 -0
  260. package/skills/shared/venue-guides/conferences_formatting.md +564 -0
  261. package/skills/shared/venue-guides/cs_conference_style.md +463 -0
  262. package/skills/shared/venue-guides/examples/cell_summary_example.md +247 -0
  263. package/skills/shared/venue-guides/examples/medical_structured_abstract.md +313 -0
  264. package/skills/shared/venue-guides/examples/nature_abstract_examples.md +213 -0
  265. package/skills/shared/venue-guides/examples/neurips_introduction_example.md +245 -0
  266. package/skills/shared/venue-guides/journals_formatting.md +486 -0
  267. package/skills/shared/venue-guides/medical_journal_styles.md +535 -0
  268. package/skills/shared/venue-guides/ml_conference_style.md +556 -0
  269. package/skills/shared/venue-guides/nature_science_style.md +405 -0
  270. package/skills/shared/venue-guides/reviewer_expectations.md +417 -0
  271. package/skills/shared/venue-guides/venue_writing_styles.md +321 -0
  272. package/skills/split-pdf/SKILL.md +172 -0
  273. package/skills/split-pdf/methodology.md +48 -0
  274. package/skills/sync-notion/SKILL.md +93 -0
  275. package/skills/system-audit/SKILL.md +157 -0
  276. package/skills/system-audit/references/sub-agent-prompts.md +294 -0
  277. package/skills/task-management/SKILL.md +131 -0
  278. package/skills/update-focus/SKILL.md +204 -0
  279. package/skills/update-project-doc/SKILL.md +194 -0
  280. package/skills/validate-bib/SKILL.md +242 -0
  281. package/skills/validate-bib/references/council-mode.md +34 -0
  282. package/skills/validate-bib/references/deep-verify.md +71 -0
  283. package/skills/validate-bib/references/openalex-verification.md +45 -0
  284. package/skills/validate-bib/references/preprint-check.md +31 -0
  285. package/skills/validate-bib/references/report-template.md +62 -0
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: pre-submission-report
3
+ description: "Use when you need all quality checks run before submission, producing a single dated report."
4
+ allowed-tools: Bash(latexmk*, mkdir*, ls*, wc*), Read, Write, Edit, Glob, Grep, Task, Skill
5
+ argument-hint: "[path/to/main.tex or no arguments to auto-detect]"
6
+ ---
7
+
8
+ # Pre-Submission Report
9
+
10
+ > Aggregates all quality checks into one dated report. Run before submitting to a journal/conference or sharing with collaborators.
11
+
12
+ ## When to Use
13
+
14
+ - Before submitting a paper to a venue
15
+ - Before sharing a draft with supervisors or co-authors
16
+ - When the user says "pre-submission check", "is this ready?", "run everything"
17
+
18
+ ## Input
19
+
20
+ - A `.tex` file path, or auto-detect `paper/main.tex` in the current project
21
+
22
+ ## Critical Rule
23
+
24
+ **Python:** Always use `uv run python` or `uv pip install`. Never bare `python`, `python3`, `pip`, or `pip3`. Include this in any sub-agent prompts.
25
+
26
+ ## Steps
27
+
28
+ ### 1. Locate the Paper
29
+
30
+ If no argument provided, search for the main `.tex` file:
31
+ 1. Check `paper/main.tex`
32
+ 2. Check `paper/*.tex` for a file containing `\begin{document}`
33
+ 3. Ask the user if ambiguous
34
+
35
+ ### 2. Integrity Gate (hard gate — must pass before quality checks)
36
+
37
+ Run these checks first. If any fail, stop and report — do not proceed to quality checks.
38
+
39
+ 1. **Placeholder scan** — grep the `.tex` file(s) for `TODO`, `FIXME`, `XXX`, `TBD`, `[INSERT`, `PLACEHOLDER`, `Lorem ipsum`. Any match is a FAIL.
40
+ 2. **Citation integrity** — invoke `/bib-validate` in verify mode. Every `\cite{}` key must resolve to a `.bib` entry. Any missing key is a FAIL.
41
+ 3. **Section completeness** — check that all standard sections exist and are non-empty (Abstract, Introduction, and at least one body section before Conclusion/References). An empty or missing section is a FAIL.
42
+ 4. **Broken references** — grep for `??` in the compiled PDF output or `.log` file (undefined `\ref{}` or `\cite{}`). Any `??` in output is a FAIL.
43
+
44
+ **If any check fails:**
45
+ ```
46
+ INTEGRITY GATE: FAIL
47
+
48
+ Blockers (must fix before quality checks):
49
+ - [ ] 3 TODO placeholders found (lines 47, 112, 289)
50
+ - [ ] 2 undefined references (\ref{fig:missing}, \cite{nonexistent2024})
51
+ - [ ] Abstract section is empty
52
+
53
+ Fix these and re-run /pre-submission-report.
54
+ ```
55
+
56
+ **If all pass:** proceed to Step 3.
57
+
58
+ ### 3. Run Quality Checks
59
+
60
+ Run these sequentially (each depends on a clean state):
61
+
62
+ 1. **Compilation** — invoke `/latex-autofix` on the main `.tex` file. Record pass/fail and any remaining warnings.
63
+ 2. **Citation audit** — invoke `/bib-validate` (full mode — deep verify). Record missing, unused, and suspect keys.
64
+ 3. **Adversarial review** — launch `paper-critic` agent (via Task tool). Capture the CRITIC-REPORT.md score and findings.
65
+
66
+ ### 4. Aggregate Report
67
+
68
+ Save to `audits/quality-reports/YYYY-MM-DD_<project-name>.md`:
69
+
70
+ ```markdown
71
+ # Pre-Submission Quality Report
72
+
73
+ **Project:** <project name>
74
+ **Date:** YYYY-MM-DD
75
+ **File:** <path to main.tex>
76
+ **Target:** <venue from project CLAUDE.md, or "not specified">
77
+
78
+ ---
79
+
80
+ ## Integrity Gate: PASS / FAIL
81
+
82
+ - **Placeholders:** 0 found
83
+ - **Citation integrity:** all keys resolved
84
+ - **Section completeness:** all sections present
85
+ - **Broken references:** none
86
+
87
+ ---
88
+
89
+ ## Overall Score: XX/100 — [Verdict]
90
+
91
+ Verdict uses the quality scoring framework:
92
+ - 90-100: Publication-ready
93
+ - 80-89: Minor revisions needed
94
+ - 70-79: Significant revisions needed
95
+ - Below 70: Not ready
96
+
97
+ ---
98
+
99
+ ## Compilation
100
+
101
+ - **Status:** PASS / FAIL
102
+ - **Warnings:** <count>
103
+ - **Details:** <brief summary of any issues>
104
+
105
+ ## Citations
106
+
107
+ - **Missing keys:** <count> — <list>
108
+ - **Unused keys:** <count> — <list>
109
+ - **Suspect entries:** <count> — <list>
110
+
111
+ ## Adversarial Review
112
+
113
+ - **Score:** XX/100
114
+ - **Key findings:**
115
+ - <finding 1>
116
+ - <finding 2>
117
+ - ...
118
+
119
+ ## Research Quality Score
120
+
121
+ Load `skills/shared/research-quality-rubric.md` and report the weighted aggregate (X.X / 5.0) with verdict.
122
+
123
+ ## Remaining Issues
124
+
125
+ | # | Severity | Category | Issue |
126
+ |---|----------|----------|-------|
127
+ | 1 | High/Medium/Low | Compilation/Citation/Content | <description> |
128
+
129
+ ## Recommendation
130
+
131
+ **[Submit / Revise / Not ready]**
132
+
133
+ <1-2 sentence summary of what needs to happen before submission>
134
+ ```
135
+
136
+ ### 5. Present Summary
137
+
138
+ Display the report path and the summary table to the user. If the recommendation is "Submit", congratulate. If "Revise", list the top 3 issues to fix first.
139
+
140
+ ## Error Handling
141
+
142
+ - If compilation fails after `/latex-autofix`, still run the remaining checks. Mark compilation as FAIL in the report.
143
+ - If `paper-critic` agent fails, note it in the report and base the overall score on compilation + citations only.
144
+ - Always produce the report file, even if some checks failed.
145
+
146
+ ## Integration
147
+
148
+ | Skill/Agent | Role in this workflow |
149
+ |-------------|---------------------|
150
+ | `/latex-autofix` | Compilation + auto-fix |
151
+ | `/bib-validate` | Citation cross-reference |
152
+ | `paper-critic` agent | Adversarial content review |
153
+ | `quality-scoring.md` | Verdict thresholds |
@@ -0,0 +1,244 @@
1
+ ---
2
+ name: process-reviews
3
+ description: "Use when you need to process referee comments from a reviews PDF into tracking files."
4
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir*), Bash(cp*), Bash(ls*), Bash(latexmk*), AskUserQuestion, Task
5
+ argument-hint: "[path-to-reviews-pdf or no arguments for guided setup]"
6
+ ---
7
+
8
+ # Process Referee Comments
9
+
10
+ Read a reviews PDF and generate three standardised output files for managing an R&R response.
11
+
12
+ ## When to Use
13
+
14
+ - Received reviewer reports for a paper (journal or conference)
15
+ - Starting an R&R cycle and need to set up tracking infrastructure
16
+ - Want to standardise an existing ad-hoc review response
17
+
18
+ ## When NOT to Use
19
+
20
+ - Writing the actual response letter (use the generated `comment-tracker.md` response blocks as a starting point, then write the letter manually)
21
+ - Reviewing someone else's paper (use `/proofread` or the `peer-reviewer` agent)
22
+
23
+ ## Inputs
24
+
25
+ Gather via interview if not provided:
26
+
27
+ 1. **Reviews PDF path** — auto-discovered or user-provided (see below)
28
+ 2. **Project path** — root of the research project (auto-detect from cwd if possible)
29
+ 3. **Venue slug** — short identifier, e.g., `ejor`, `facct-2026`, `management-science`
30
+ 4. **Revision round** — integer, default 1
31
+ 5. **Response deadline** — date if known, otherwise "TBD"
32
+ 6. **Coordinating author** — who is leading the response
33
+
34
+ ### PDF Auto-Discovery
35
+
36
+ Search for the reviews PDF in this order. Use the first match; if multiple PDFs found at a location, list them and ask the user to pick.
37
+
38
+ 1. `to-sort/*.pdf` — most likely landing spot after download
39
+ 2. `correspondence/referee-reviews/{venue}-round{n}/*.pdf`
40
+ 3. `correspondence/referee-reviews/*.pdf`
41
+ 4. Ask the user for the path if nothing found
42
+
43
+ ## Output Location
44
+
45
+ Review correspondence goes under `correspondence/referee-reviews/`, with an `analysis/` subfolder for derived work:
46
+
47
+ ```
48
+ correspondence/referee-reviews/{venue}-round{n}/
49
+ ├── reviews-original.pdf (copy of input PDF — source is NEVER moved/deleted)
50
+ ├── rebuttal.md (empty — for response draft)
51
+ ├── reviews/ (individual reviewer files)
52
+ │ ├── reviewer-1.md
53
+ │ ├── reviewer-2.md
54
+ │ └── ...
55
+ └── analysis/
56
+ ├── comment-tracker.md (atomic comment matrix)
57
+ ├── review-analysis.md (strategic overview)
58
+ └── reviewer-comments-verbatim.tex (LaTeX transcription)
59
+ ```
60
+
61
+ **Source PDF preservation:** The original reviews PDF is only ever **copied** to `reviews-original.pdf`. Never move, rename, or delete the source file from its original location (e.g., `to-sort/`, Downloads, etc.). The user decides when to clean up the original.
62
+
63
+ **Principle:** `correspondence/` holds exchanges with reviewers (their comments, your rebuttal). Internal review work (e.g., referee2 agent reports) goes in `docs/{venue}/internal-reviews/`.
64
+
65
+ If the round directory already exists (e.g., from manual setup), do NOT overwrite existing files. Instead:
66
+ - If `comment-tracker.md` already exists, name the new one `comment-tracker-v2.md` (or next version)
67
+ - If `reviewer-comments-verbatim.tex` already exists, name the new one `reviewer-comments-verbatim-v2.tex`
68
+ - Always flag existing files to the user before writing
69
+
70
+ ## Protocol
71
+
72
+ ### Phase 1: Setup
73
+
74
+ 1. Confirm inputs (PDF path, project path, venue, round, deadline, lead author)
75
+ 2. Create the directory structure under `correspondence/referee-reviews/{venue}-round{n}/`
76
+ 3. Copy the reviews PDF to `correspondence/referee-reviews/{venue}-round{n}/reviews-original.pdf`
77
+
78
+ ### Phase 2: Read the Reviews
79
+
80
+ 1. Read the reviews PDF using the Read tool (supports PDF natively)
81
+ 2. For large PDFs (>10 pages), read in page ranges (e.g., pages 1-10, then 11-20)
82
+ 3. Extract for each reviewer:
83
+ - Reviewer identifier (name, number, or anonymous ID)
84
+ - Recommendation / score (if provided)
85
+ - Whether revision is allowed
86
+ - General assessment text
87
+ - Individual comments (each as a separate item)
88
+
89
+ ### Phase 3: Generate Individual Review Markdown Files
90
+
91
+ Create one markdown file per reviewer in `reviews/`:
92
+
93
+ 1. Create the `reviews/` subdirectory
94
+ 2. For each reviewer, write `reviews/reviewer-{n}.md` containing:
95
+ - **Header:** reviewer identifier, recommendation/score, whether revision is allowed
96
+ - **General Assessment:** full verbatim text of the reviewer's overall assessment
97
+ - **Individual Comments:** each comment as a numbered item with its assigned ID (`R{n}-C{m}`), verbatim text, and section/page reference if mentioned
98
+ 3. Use this template for each file:
99
+
100
+ ```markdown
101
+ # Reviewer {N}
102
+
103
+ **Recommendation:** {recommendation or score}
104
+ **Revision allowed:** {Yes / No / Not stated}
105
+
106
+ ## General Assessment
107
+
108
+ {verbatim general assessment text}
109
+
110
+ ## Comments
111
+
112
+ ### R{N}-C1 {optional: section/page reference}
113
+
114
+ {verbatim comment text}
115
+
116
+ ### R{N}-C2 ...
117
+
118
+ {verbatim comment text}
119
+ ```
120
+
121
+ 4. If files already exist in `reviews/`, follow the same versioning convention as other outputs (flag and version)
122
+
123
+ ### Phase 4: Generate LaTeX Verbatim Transcription
124
+
125
+ Using the template from `templates/referee-comments/reviewer-comments-verbatim.tex`:
126
+
127
+ 1. Create one `\section{}` per reviewer with comment count and recommendation
128
+ 2. Place general assessment in a `genbox` environment
129
+ 3. For each specific comment:
130
+ - Assign an ID: `R{reviewer}-C{comment}` (sequential within each reviewer)
131
+ - Identify the section/page reference if the reviewer mentions one
132
+ - Place the full verbatim text in the comment table
133
+ 4. If a single reviewer paragraph contains multiple distinct concerns, split into separate IDs and add a `\textit{\footnotesize Split: ...}` note
134
+ 5. If any IDs are derived (split from a larger comment or inferred), add them to a Derived IDs appendix section
135
+ 6. Compile with `latexmk` to verify it builds cleanly
136
+
137
+ ### Phase 5: Generate Comment Tracker
138
+
139
+ Using the template from `templates/referee-comments/comment-tracker.md`:
140
+
141
+ 1. Fill in the Triage Summary table
142
+ 2. Populate the Comment Matrix — one row per atomic comment:
143
+ - **ID:** matching the LaTeX verbatim IDs
144
+ - **Reviewer:** reviewer number
145
+ - **Comment:** short verbatim quote (first ~100 chars in quotes)
146
+ - **Type:** classify as Major / Minor / Editorial / Question / Praise
147
+ - **R&R Classification:** classify as NEW ANALYSIS / CLARIFICATION / DISAGREE / MINOR (see `references/rr-routing.md` for decision rules and signal words)
148
+ - **Priority:** assign Critical / High / Medium / Low based on:
149
+ - Critical = threatens acceptance if not addressed
150
+ - High = significant concern, must address
151
+ - Medium = reasonable concern, should address
152
+ - Low = minor or editorial
153
+ - **Action:** leave blank (for the user to fill)
154
+ - **Owner:** leave blank
155
+ - **Status:** set all to "Pending"
156
+ - **Section:** paper section referenced, if identifiable
157
+ 3. Fill in the Status Dashboard counts
158
+ 4. Generate a **Routing Summary** table grouping comments by R&R classification:
159
+ - NEW ANALYSIS: list IDs + brief description of required analysis
160
+ - CLARIFICATION: list IDs + target sections needing revision
161
+ - DISAGREE: list IDs + flag for user review
162
+ - MINOR: list IDs
163
+ 5. Identify **Cross-Cutting Themes** — concerns raised by 2+ reviewers, tagged T1, T2, etc.
164
+ 6. Leave Evidence Log, Patch Plan, Response Blocks, and Blockers empty (user fills during revision)
165
+
166
+ ### Phase 6: Generate Review Analysis
167
+
168
+ Using the template from `templates/referee-comments/review-analysis.md`:
169
+
170
+ 1. Fill in Scores & Recommendations table
171
+ 2. Write a Reviewer Profile for each reviewer:
172
+ - **Posture:** hostile / sceptical / constructive / supportive (infer from tone)
173
+ - **What they liked:** bullet points
174
+ - **What they want revised:** numbered list
175
+ - **Assessment:** paragraph on how addressable their concerns are
176
+ - **Risk:** None / Low / Medium / High with explanation
177
+ 3. Identify Cross-Cutting Themes — concerns that appear across 2+ reviewers, tagged T1, T2, etc.
178
+ 4. Estimate Acceptance Probability with factors for/against
179
+ 5. Bucket comments into Priority 1/2/3 response categories
180
+ 6. List Vulnerabilities (weaknesses in the paper that reviewers exposed)
181
+ 7. Populate the Publication Strategy section:
182
+ - **Strategy A (minimal revision):** venues that would accept the paper's strengths as-is, despite the weaknesses reviewers identified. Look for venues that value the descriptive/empirical contribution without demanding the specific improvements the current reviewers want.
183
+ - **Strategy B (substantial revision):** venues worth targeting if the authors invest effort to address the major reviewer concerns. These should be equal or higher prestige than the current venue.
184
+ - For conferences: check CORE rankings via `.context/resources/venue-rankings.md` (and the CSV at `.context/resources/venue-rankings/core_2026.csv`). Note upcoming deadlines.
185
+ - For journals: check CABS AJG rankings via `.context/resources/venue-rankings.md` (and the CSV at `.context/resources/venue-rankings/abs_ajg_2024.csv`). For SJR score, query the Elsevier Serial Title API (see venue-rankings.md for snippet; requires `SCOPUS_API_KEY`). Flag journals below CABS 3 only if there's a strong fit rationale.
186
+ - **Recommendation table:** rank 3-5 venues in priority order with rationale. First option should always be "revise for current venue" if acceptance probability is above ~30%.
187
+ - **Key Decision:** frame the core trade-off the authors face (e.g., speed vs. impact, minimal vs. substantial revision effort).
188
+ - Consider the paper's discipline and methodology when suggesting venues — a qualitative policy analysis fits different outlets than a computational study.
189
+ 8. Leave Timeline empty (user fills)
190
+
191
+ ### Phase 6.5: Strategic Coaching (Interactive)
192
+
193
+ For each **Major** or **Critical** comment, walk the user through a structured deliberation:
194
+
195
+ 1. **Understanding:** "What is this reviewer's core concern — methodology, theory, or framing?"
196
+ 2. **Position:** Classify as one of:
197
+ - **Agree** — will revise as suggested
198
+ - **Partially agree** — will address the spirit but not the exact suggestion. State which parts you accept and which you push back on.
199
+ - **Disagree** — will rebut with evidence. Draft the core rebuttal argument.
200
+ 3. **Risk assessment:** "If you push back on this, how likely is the reviewer to escalate? Is it worth the risk?"
201
+ 4. **Response sketch:** One-sentence draft of the response direction (not the full response — just the strategy).
202
+
203
+ Record these in the Comment Matrix by adding two columns after `R&R Classification`:
204
+ - **Position:** Agree / Partially / Disagree
205
+ - **Strategy:** one-line response direction
206
+
207
+ **Rules:**
208
+ - Only Major and Critical comments get coaching. Minor/Editorial are auto-classified as "Agree" with no coaching.
209
+ - the user can say "skip coaching" to bypass and classify all remaining as Agree.
210
+ - Maximum 2 rounds of dialogue per comment — do not over-discuss.
211
+ - Do not write the actual response letter — that remains the user's job.
212
+
213
+ ### Phase 7: Summary & Review
214
+
215
+ Present to the user:
216
+ - Total comments extracted (by reviewer)
217
+ - Breakdown by type and priority
218
+ - Key cross-cutting themes
219
+ - Position summary: N Agree / N Partially / N Disagree
220
+ - Any comments that were ambiguous or hard to classify
221
+ - Ask for corrections before finalising
222
+
223
+ ## Critical Rules
224
+
225
+ 1. **Verbatim means verbatim.** Never paraphrase reviewer text in the LaTeX transcription. Copy exactly.
226
+ 2. **Every comment gets an ID.** No reviewer concern should be lost. If in doubt, give it its own ID.
227
+ 3. **Don't write actions.** The Comment Matrix `Action` column stays blank — that's the user's job.
228
+ 4. **Don't overwrite.** If files already exist at the target location, flag and version.
229
+ 5. **Compile the LaTeX.** The verbatim document must build without errors before the skill completes.
230
+
231
+ ## Templates
232
+
233
+ Located in `templates/referee-comments/`:
234
+ - `comment-tracker.md`
235
+ - `review-analysis.md`
236
+ - `reviewer-comments-verbatim.tex`
237
+
238
+ ## Cross-References
239
+
240
+ - `/proofread` — for proofreading the response letter before submission
241
+ - `/bib-validate` — run after revision to check bibliography
242
+ - `/pre-submission-report` — full quality check before resubmission
243
+ - `paper-critic` agent — for self-review of the revised paper
244
+ - `references/rr-routing.md` — R&R classification system and routing logic for revision workflow
@@ -0,0 +1,101 @@
1
+ # R&R Comment Classification and Routing
2
+
3
+ > Used during Phase 5 (Comment Tracker) to classify referee comments for efficient revision routing.
4
+ > Adapted from Sant'Anna's clo-author revision protocol.
5
+
6
+ ## Classification System
7
+
8
+ Every atomic referee comment is classified into one of four categories:
9
+
10
+ | Classification | Definition | Signal Words | Routing |
11
+ |---------------|------------|-------------|---------|
12
+ | **NEW ANALYSIS** | Requires new estimation, data work, or robustness checks | "run", "test", "control for", "check", "estimate", "add specification", "heterogeneity" | Code changes → table/figure updates → paper text |
13
+ | **CLARIFICATION** | Text revision sufficient — no new analysis needed | "explain", "clarify", "discuss", "motivate", "justify", "elaborate", "rewrite" | Paper text only |
14
+ | **DISAGREE** | The reviewer asks for something the authors believe is wrong or infeasible | "fundamentally", "reject the premise", contradicts identification strategy | Flag for user — never auto-respond to disagreements |
15
+ | **MINOR** | Typos, formatting, citation fixes, wording tweaks | "typo", "citation", "footnote", "spelling", "format" | Quick paper edits |
16
+
17
+ ## Classification Rules
18
+
19
+ 1. **When in doubt between NEW ANALYSIS and CLARIFICATION:** If the reviewer's concern *could* be addressed with better writing but would be *stronger* with additional evidence, classify as NEW ANALYSIS. Referees notice when you only clarify instead of substantiate.
20
+
21
+ 2. **DISAGREE is rare.** Most referee comments that feel wrong are actually CLARIFICATION requests — the reviewer misunderstood, and better exposition fixes it. Only classify as DISAGREE when:
22
+ - The reviewer asks for an analysis that would violate the identification strategy
23
+ - The reviewer's suggestion contradicts established methodology (e.g., "use naive TWFE for staggered treatment")
24
+ - The reviewer wants you to change the research question
25
+ - The request is infeasible given data limitations
26
+
27
+ 3. **Split compound comments.** A single referee paragraph may contain both a CLARIFICATION and a NEW ANALYSIS request. Split into separate IDs with cross-references.
28
+
29
+ 4. **Always classify praise.** Even positive comments should be logged (Type: Praise, Priority: Low) to reference in the response letter: "We thank the reviewer for noting..."
30
+
31
+ ## Priority Assignment
32
+
33
+ | Priority | Definition | Classification Overlap |
34
+ |----------|-----------|----------------------|
35
+ | **Critical** | Threatens acceptance if not addressed | Usually NEW ANALYSIS or DISAGREE |
36
+ | **High** | Significant concern, must address thoroughly | NEW ANALYSIS or CLARIFICATION |
37
+ | **Medium** | Reasonable concern, should address | CLARIFICATION |
38
+ | **Low** | Minor or editorial | MINOR or Praise |
39
+
40
+ ### Priority Heuristics
41
+
42
+ - **Multiple reviewers raise the same concern** → bump to Critical
43
+ - **Reviewer uses words like "fatal", "fundamental", "serious"** → Critical
44
+ - **Concern about identification/causality** → at least High
45
+ - **"Interesting but..."** → the "but" is the real concern, classify that
46
+ - **Editor's letter highlights specific comments** → those are Critical regardless
47
+
48
+ ## Routing in the Response
49
+
50
+ ### NEW ANALYSIS workflow
51
+ 1. Identify the required analysis (new regression, robustness check, subsample)
52
+ 2. Write the estimation code → generate new table/figure
53
+ 3. Update paper text to discuss new results
54
+ 4. Reference new results in response letter with specific table/figure number
55
+
56
+ ### CLARIFICATION workflow
57
+ 1. Identify the section(s) that need revision
58
+ 2. Rewrite to address the concern
59
+ 3. Quote the changed passage in the response letter (before/after)
60
+
61
+ ### DISAGREE workflow
62
+ 1. **Flag for user** — Claude never autonomously pushes back on referees
63
+ 2. Draft a diplomatic response that:
64
+ - Acknowledges the reviewer's concern
65
+ - Explains why the current approach is preferred
66
+ - Offers a compromise if possible (e.g., mention in footnote, add to appendix)
67
+ 3. User reviews and approves before including in response
68
+
69
+ ### MINOR workflow
70
+ 1. Fix directly in the paper
71
+ 2. Brief acknowledgement in response letter: "We have corrected the typo on p.X"
72
+
73
+ ## Response Letter Structure
74
+
75
+ For each referee comment:
76
+
77
+ ```markdown
78
+ **[R1-C3]** Reviewer 1, Comment 3: "[first ~100 chars of comment]"
79
+
80
+ **Classification:** NEW ANALYSIS
81
+ **Action taken:** We estimated an additional specification controlling for X.
82
+ The results, reported in Table A3 of the Online Appendix, confirm that our
83
+ main findings are robust. Specifically, the coefficient on treatment changes
84
+ from 0.045 (s.e. 0.012) to 0.042 (s.e. 0.013).
85
+
86
+ **Changes:** Table A3 (new), Section 5.2 paragraph 3 (revised),
87
+ Appendix B.1 (new subsection)
88
+ ```
89
+
90
+ ## Cross-Cutting Themes
91
+
92
+ When the same concern appears across reviewers, create a theme entry:
93
+
94
+ ```markdown
95
+ **Theme T1:** External validity concerns
96
+ **Raised by:** R1-C5, R2-C2, R3-C8
97
+ **Response strategy:** Address once comprehensively in Section 7 (Discussion),
98
+ then cross-reference from each individual response.
99
+ ```
100
+
101
+ This avoids repetitive responses and shows the authors took the concern seriously.
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: project-deck
3
+ description: "Use when you need to create a presentation deck to communicate project status."
4
+ allowed-tools: Bash(latexmk*), Bash(xelatex*), Bash(pdflatex*), Bash(mkdir*), Read, Write, Edit
5
+ argument-hint: [project-name-or-path]
6
+ ---
7
+
8
+ # Project Deck Skill
9
+
10
+ > Create beautiful presentation decks to communicate project status to your future self and collaborators.
11
+
12
+ ## Purpose
13
+
14
+ Based on Scott Cunningham's Part 7: "Making Beautiful Decks For My Future Self" - using decks not for public speaking but to efficiently communicate work status across time and to coauthors.
15
+
16
+ ## The Philosophy
17
+
18
+ "I use decks to help me keep track of the work I was doing so that I can communicate it to my coauthors and myself later in the week when we meet to go over our projects."
19
+
20
+ Claude has absorbed the "rhetoric of decks" - the tacit knowledge about what makes presentations effective:
21
+ - One idea per slide
22
+ - Titles are assertions, not labels
23
+ - Lead with conclusions
24
+ - Visual hierarchy signals importance
25
+ - Repeat for retention
26
+ - Transition explicitly
27
+
28
+ ## When to Use
29
+
30
+ - Before a supervisor meeting
31
+ - At the end of a research sprint
32
+ - When handing off to a coauthor
33
+ - When returning to a dormant project
34
+ - Weekly project status updates
35
+
36
+ ## Workflow
37
+
38
+ 1. **Read project context** - Progress logs, current focus, recent work
39
+ 2. **Design deck structure**:
40
+ - Research question
41
+ - What's been done (with figures/tables)
42
+ - Key findings so far
43
+ - Current blockers
44
+ - Next steps
45
+ 3. **Create beautiful output** - Clean design, good typography, optimal cognitive density
46
+ 4. **Include visuals** - Figures, tables, diagrams that capture the work
47
+
48
+ ## Deck Rhetoric Principles
49
+
50
+ ```markdown
51
+ ## Principles for Effective Decks
52
+
53
+ 1. **One idea per slide** - Don't overload
54
+ 2. **Titles are assertions** - "Distance increases abortion rates" not "Results"
55
+ 3. **Lead with conclusions** - Don't bury the lede
56
+ 4. **Visual hierarchy** - Most important things stand out
57
+ 5. **Optimal cognitive density** - Smooth delivery, not overloaded
58
+ 6. **Beautiful figures and tables** - Data visualisation matters
59
+ 7. **Explicit transitions** - Guide the reader through the narrative
60
+ ```
61
+
62
+ ## Extended Rhetoric Principles
63
+
64
+ ### For Research Decks
65
+ - **Motivation slides**: Why should anyone care? What's the gap?
66
+ - **Methods slides**: Identification strategy in plain English, visualize variation
67
+ - **Results slides**: Lead with main coefficient, visualize where possible
68
+ - **Figures**: Clear titles, labeled axes, no chartjunk
69
+
70
+ ### For "Decks as Thinking Tools"
71
+ When making decks for yourself/coauthors:
72
+ 1. **Document decisions** — Why did we choose this approach?
73
+ 2. **Visualize data** — Patterns you've discovered
74
+ 3. **Track progress** — What's done, what's next
75
+ 4. **Summarize code** — What scripts do what
76
+ 5. **Capture context** — So future-you remembers
77
+
78
+ ### Beamer Tips
79
+ - Custom themes > recognizable templates
80
+ - Metropolis or Madrid themes as starting points
81
+ - Sans-serif fonts for readability
82
+ - Generous margins and whitespace
83
+ - Compile without warnings (fix overfull hboxes)
84
+
85
+ ## Example Prompt
86
+
87
+ "Create a project deck for my Indifference Adjustments paper. Read my progress logs and the current state of the project, then make a 10-slide deck that I can use in my supervisor meeting next week. Include the key figures and a clear 'what's next' section."