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,135 @@
1
+ ---
2
+ name: project-safety
3
+ description: "Use when you need to set up safety rules and folder structures for a research project."
4
+ argument-hint: [project-path]
5
+ ---
6
+
7
+ # Project Safety Skill
8
+
9
+ **CRITICAL RULE: Never delete data or code files. Never.** Use legacy/ folder for originals. Copy, don't move.
10
+
11
+ > Establish safety rules and structures before Claude makes changes to research projects.
12
+
13
+ ## Purpose
14
+
15
+ Based on Scott Cunningham's workflow: prevent accidental data loss by establishing rules and using legacy folders before Claude reorganizes or modifies project files.
16
+
17
+ ## When to Use
18
+
19
+ - Starting a new research project folder
20
+ - Before asking Claude to reorganize files
21
+ - When Claude will be running code or modifying data
22
+ - Setting up a project for collaborative work
23
+
24
+ ---
25
+
26
+ ## Safety Rules Template
27
+
28
+ Add this to any project's CLAUDE.md file:
29
+
30
+ ```markdown
31
+ ## Safety Rules
32
+
33
+ 1. **Never delete data files** — No .csv, .dta, .xlsx, .parquet, or any data format
34
+ 2. **Never delete code files** — No .py, .R, .do, .tex, .md or scripts
35
+ 3. **Use legacy/ folder** — If reorganizing, move originals to legacy/ first
36
+ 4. **Copy from legacy, don't move** — Always preserve the original
37
+
38
+ ### If you need to reorganize:
39
+ 1. Create a legacy/ folder if it doesn't exist
40
+ 2. Move ALL original files into legacy/
41
+ 3. Copy (not move) needed files into new structure
42
+ 4. Never modify anything in legacy/
43
+ ```
44
+
45
+ ---
46
+
47
+ ## Directory Structure
48
+
49
+ After safety setup:
50
+
51
+ ```
52
+ project/
53
+ ├── CLAUDE.md ← Safety rules + project context
54
+ ├── README.md ← Project documentation
55
+ ├── legacy/ ← PROTECTED: original files
56
+ │ └── [all originals]
57
+ ├── code/
58
+ │ ├── R/
59
+ │ ├── python/
60
+ │ └── stata/
61
+ ├── data/
62
+ │ ├── raw/ ← Copied from legacy, never modified
63
+ │ └── processed/
64
+ ├── output/
65
+ │ ├── figures/
66
+ │ └── tables/
67
+ ├── docs/
68
+ │ └── manuscript/
69
+ └── log/ ← Progress logs
70
+ ```
71
+
72
+ ---
73
+
74
+ ## Dry Run Pattern
75
+
76
+ Before Claude executes potentially destructive operations, ask for a preview:
77
+
78
+ > "Tell me what commands you would run to reorganize this folder, but don't execute them yet."
79
+
80
+ > "Show me what files would be affected by this change before you make it."
81
+
82
+ > "Walk me through your plan for cleaning this data before you run any code."
83
+
84
+ **When to use dry runs:**
85
+ - File operations (move, delete, rename)
86
+ - Git operations (reset, clean, force push)
87
+ - Database operations
88
+ - Batch processing
89
+ - Any operation affecting multiple files
90
+
91
+ **After reviewing:**
92
+ - If correct: "Go ahead"
93
+ - If wrong: "Wait — don't do X, instead Y"
94
+
95
+ ---
96
+
97
+ ## Workflow
98
+
99
+ 1. **Create CLAUDE.md** with safety rules
100
+ 2. **Create legacy/ folder**
101
+ 3. **Move all originals to legacy/**
102
+ 4. **Copy needed files** into new structure
103
+ 5. **Verify** legacy/ contains everything
104
+ 6. **Proceed** with project work
105
+
106
+ ---
107
+
108
+ ## Prompt Template
109
+
110
+ ```
111
+ I'm starting work on [PROJECT]. Before we do anything:
112
+
113
+ 1. Create a CLAUDE.md with safety rules (never delete data/code, use legacy folder)
114
+ 2. Create a legacy/ folder
115
+ 3. Move all existing files into legacy/
116
+ 4. Show me the proposed new directory structure before creating it
117
+
118
+ Do a dry run first — tell me what you would do before doing it.
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Why This Matters
124
+
125
+ - Claude operates at speed — mistakes happen fast
126
+ - You can't always verify what Claude will do before it does it
127
+ - Version control (git, Dropbox) helps but prevention is better
128
+ - The legacy/ folder is your safety net
129
+ - Dry runs give you a chance to catch mistakes
130
+
131
+ ---
132
+
133
+ ## Example Use
134
+
135
+ "Set up my new Carbon Markets project with proper safety rules. Create the CLAUDE.md, legacy folder, and recommended directory structure. Show me your plan before executing."
@@ -0,0 +1,254 @@
1
+ ---
2
+ name: proofread
3
+ description: "Use when you need academic proofreading of a LaTeX paper (11 check categories)."
4
+ allowed-tools: Read, Glob, Grep
5
+ argument-hint: [project-path or tex-file]
6
+ ---
7
+
8
+ # Academic Proofreading
9
+
10
+ **Report-only skill.** Never edit source files — produce `PROOFREAD-REPORT.md` only.
11
+
12
+ ## When to Use
13
+
14
+ - Before sending a draft to supervisors
15
+ - Before submission to a journal/conference
16
+ - After major revisions to check consistency
17
+ - When you want a fresh-eyes check on writing quality
18
+
19
+ ## When NOT to Use
20
+
21
+ - **Formal audits** — use the Referee 2 agent for systematic verification
22
+ - **Argument quality** — use `/devils-advocate` for logical scrutiny
23
+ - **Citation completeness** — use `/bib-validate` for bibliography cross-referencing (though this skill flags obvious citation format issues)
24
+
25
+ ## Workflow
26
+
27
+ 1. **Locate files**: Find all `.tex` files in the project (and `.log` files for LaTeX diagnostics)
28
+ 2. **Read the document**: Read all `.tex` source files in order
29
+ 3. **Run 11 check categories** (below)
30
+ 4. **Produce report**: Write `YYYY-MM-DD_PROOFREAD-REPORT.md` in `reviews/proofread/` under the project directory (create the directory if it does not exist). Do NOT overwrite previous reports — each review is dated.
31
+
32
+ ## Check Categories
33
+
34
+ ### 1. Grammar & Spelling
35
+
36
+ - Spelling errors (including technical terms)
37
+ - Subject-verb agreement
38
+ - Sentence fragments or run-ons
39
+ - Misused words (e.g., "effect" vs "affect", "which" vs "that")
40
+ - American English is the default for all papers and conference articles. Flag any British English spellings (e.g., -ise, -our, -re, analyse, scepticism).
41
+
42
+ ### 2. Notation Consistency
43
+
44
+ - Variable notation used consistently throughout (e.g., always `$x_i$` or always `$x_{i}$`, not both)
45
+ - Subscript/superscript style (e.g., `$\beta_1$` vs `$\beta_{OLS}$`)
46
+ - Matrix/vector formatting conventions (bold, uppercase, etc.)
47
+ - Consistent use of `\mathbb`, `\mathcal`, `\mathbf` for sets, operators, vectors
48
+ - Equation numbering: all referenced equations numbered, unreferenced ones unnumbered
49
+
50
+ ### 3. Citation Format
51
+
52
+ - Consistent use of `\citet` (textual) vs `\citep` (parenthetical)
53
+ - No raw `\cite{}` when `\citet`/`\citep` is available
54
+ - Author name spelling matches between text mentions and citation keys
55
+ - Multiple citations in chronological or alphabetical order (check which convention)
56
+ - No "As shown by (Author, Year)" — should be "As shown by \citet{key}"
57
+
58
+ ### 4. Academic Tone
59
+
60
+ - No informal contractions (don't, can't, won't → do not, cannot, will not)
61
+ - No first-person overuse (some "we" is fine; excessive "I think" is not)
62
+ - No casual hedging ("pretty much", "kind of", "a lot")
63
+ - Appropriate use of hedging language ("suggests" vs "proves")
64
+ - No exclamation marks in body text
65
+ - Consistent tense (present for established facts, past for specific studies)
66
+
67
+ ### 5. LaTeX-Specific Issues
68
+
69
+ - **Overfull hbox**: Check `.log` file for `Overfull \hbox` warnings — report line numbers and severity (badness)
70
+ - **Equation overflow**: Long equations that exceed column/page width
71
+ - **Float placement**: Check for `[h!]` or `[H]` overuse; prefer `[tbp]`
72
+ - **Missing labels**: Figures/tables/equations referenced but without `\label{}`
73
+ - **Orphan/widow lines**: Check for `\\` abuse that creates bad page breaks
74
+ - **Unresolved references**: `??` in output indicating broken `\ref{}` or `\cite{}`
75
+
76
+ ### 6. Citation Voice Balance
77
+
78
+ Check the ratio of in-line (`\citet`) to parenthetical (`\citep`) citations:
79
+
80
+ - **Count in-line vs parenthetical citations** across the full document
81
+ - **Flag if ratio exceeds 1:1** (in-line should be the minority) — Major
82
+ - **Flag runs of 3+ consecutive in-line citations** in a paragraph or section — Major
83
+ - **Flag paragraphs that open with an in-line citation** when the author's identity isn't the point — Minor
84
+ - **Flag "As shown by \citet{}" patterns** where parenthetical would be more natural — Minor
85
+ - **Report the overall ratio** (e.g., "42 parenthetical, 28 in-line — ratio 1.5:1")
86
+
87
+ See `docs/conventions.md` § Citation Voice Balance for the full convention.
88
+
89
+ ### 7. TikZ Diagram Review
90
+
91
+ If the document contains TikZ code (`\begin{tikzpicture}` or `\tikz`):
92
+
93
+ - **Label positioning**: Labels not overlapping nodes or edges
94
+ - **Geometric accuracy**: Coordinates and angles consistent with intended layout
95
+ - **Visual semantics**: Arrow styles match meaning (solid = direct, dashed = indirect, etc.)
96
+ - **Spacing**: Nodes not too cramped or too spread out
97
+ - **Consistency**: Style matches across all diagrams in the document
98
+ - **Standalone compilability**: Each diagram should compile independently
99
+
100
+ For detailed spatial verification (Bezier depth calculations, gap minimums, shape boundary clearance), see [`../shared/tikz-rules.md`](../shared/tikz-rules.md).
101
+
102
+ ### 8. Numeric Text↔Table Cross-Check
103
+
104
+ Cross-check every number mentioned in the prose against the corresponding table or figure. Flag ANY discrepancy, no matter how small.
105
+
106
+ - **Coefficient claims**: "a 3.2 percentage point increase" in text vs coefficient of 0.031 in the table — flag the mismatch
107
+ - **Sample sizes**: "N = 1,247" in text vs N row in table — must match exactly
108
+ - **Significance claims**: "statistically significant at the 5% level" in text vs the actual stars/p-value in the table
109
+ - **Summary statistics**: means, medians, standard deviations mentioned in prose must match the descriptive statistics table
110
+ - **Figure references**: claims about trends or magnitudes must be consistent with what the figure shows
111
+ - **Table/figure existence**: every table/figure referenced in text must exist; every table/figure in the document must be referenced in text
112
+ - **N consistency**: the number of observations should be consistent across related specifications unless there's an explained reason for differences
113
+
114
+ ### 9. Causal Language Audit
115
+
116
+ Audit causal claims against the stated identification strategy. The strength of causal language must match the strength of the research design.
117
+
118
+ - **Flag "X causes Y"** or "the causal effect of X" when the identification strategy is observational (OLS with controls, correlational) — should be "is associated with" or "predicts"
119
+ - **Flag "proves"** — almost never appropriate; use "provides evidence consistent with"
120
+ - **Match language to design**:
121
+ - DiD/RDD/IV → "we estimate the causal effect" is acceptable with qualifiers
122
+ - OLS with controls → "we find a relationship" or "our estimates suggest"
123
+ - Correlational → never use causal language
124
+ - **Flag "significant" ambiguity** — must always be clear whether "statistically significant" or "economically meaningful/large"
125
+ - **Flag coefficient descriptions without units or scale** — "a coefficient of 0.031" means nothing without knowing the units of X and Y
126
+ - **Flag correlation/causation conflation** — any statement that slides from an association to a causal claim without an identification argument
127
+
128
+ ### 10. Equation Completeness
129
+
130
+ Verify that mathematical notation is complete and internally consistent.
131
+
132
+ - **Every variable in an equation must be defined** in the text (either before or immediately after the equation)
133
+ - **Error terms**: properly specified (ε_it vs u_i vs e_ij) and consistent with the econometric framework described
134
+ - **Equation numbering**: sequential, and all cross-references to equations are correct
135
+ - **Subscript/index structure must match the level of observation** — e.g., if the text describes individual-level variation, the equation should have individual subscripts, not county-level
136
+ - **Summation/expectation indices**: verify bounds match the described sample
137
+ - **Consistent notation across equations**: don't switch between β and b for the same coefficient, or between X_i and x_i
138
+
139
+ ### 11. Preprint Staleness
140
+
141
+ For every citation that looks like a preprint or working paper, check whether a peer-reviewed version has since been published. Flag stale preprints as Major issues.
142
+
143
+ - **Detection signals**: URL contains `arxiv.org`, `ssrn.com`, `nber.org`; journal field says "Working Paper", "mimeo"; entry type is `@techreport` or `@unpublished`
144
+ - **Action**: note the stale citation and suggest the published venue/year
145
+ - **This is a lighter version of `/bib-validate`'s preprint check** — only flag obvious cases visible from the `.bib` or `\bibitem` entries. For thorough preprint checking, recommend running `/bib-validate` separately.
146
+
147
+ ## Severity Levels
148
+
149
+ | Level | Definition | Example |
150
+ |-------|-----------|---------|
151
+ | **Critical** | Will be noticed by reviewers, may cause rejection | Broken references, major grammar errors, inconsistent core notation, text↔table number mismatch, causal overclaiming with weak design |
152
+ | **Major** | Noticeable quality issue | Inconsistent citation style, tone issues, overfull hbox > 10pt, undefined variable in equation, stale preprint, ambiguous "significant" |
153
+ | **Minor** | Polish issue | Occasional British/American mix, minor spacing, missing equation number for referenced equation |
154
+
155
+ ## Quality Scoring
156
+
157
+ Apply numeric quality scoring using the shared framework and skill-specific rubric:
158
+
159
+ - **Framework:** [`../shared/quality-scoring.md`](../shared/quality-scoring.md) — severity tiers, thresholds, verdict rules
160
+ - **Rubric:** [`references/quality-rubric.md`](references/quality-rubric.md) — issue-to-deduction mappings for this skill
161
+
162
+ Start at 100, deduct per issue found, apply verdict. Insert the Score Block into the report after the summary table.
163
+
164
+ ## Report Format
165
+
166
+ ```markdown
167
+ # Proofread Report
168
+
169
+ **Document:** [filename]
170
+ **Date:** YYYY-MM-DD
171
+ **Pages:** [approximate]
172
+
173
+ ## Summary
174
+
175
+ | Category | Critical | Major | Minor |
176
+ |----------|----------|-------|-------|
177
+ | Grammar & spelling | 0 | 0 | 0 |
178
+ | Notation consistency | 0 | 0 | 0 |
179
+ | Citation format | 0 | 0 | 0 |
180
+ | Academic tone | 0 | 0 | 0 |
181
+ | LaTeX-specific | 0 | 0 | 0 |
182
+ | Citation voice balance | 0 | 0 | 0 |
183
+ | TikZ diagrams | 0 | 0 | 0 |
184
+ | Numeric cross-check | 0 | 0 | 0 |
185
+ | Causal language | 0 | 0 | 0 |
186
+ | Equation completeness | 0 | 0 | 0 |
187
+ | Preprint staleness | 0 | 0 | 0 |
188
+ | **Total** | **0** | **0** | **0** |
189
+
190
+ ## Critical Issues
191
+
192
+ [List each with file, line/section, and specific issue]
193
+
194
+ ## Major Issues
195
+
196
+ [List each with file, line/section, and specific issue]
197
+
198
+ ## Minor Issues
199
+
200
+ [List each with file, line/section, and specific issue]
201
+
202
+ ## Quality Score
203
+
204
+ | Metric | Value |
205
+ |--------|-------|
206
+ | **Score** | XX / 100 |
207
+ | **Verdict** | Ship / Ship with notes / Revise / Revise (major) / Blocked |
208
+
209
+ ### Deductions
210
+
211
+ | # | Issue | Tier | Deduction | Category |
212
+ |---|-------|------|-----------|----------|
213
+ | 1 | [description] | [tier] | -X | [category] |
214
+ | | **Total deductions** | | **-XX** | |
215
+
216
+ ## Recommendations
217
+
218
+ [Optional: overall observations about the writing — prioritise fixes by deduction size]
219
+ ```
220
+
221
+ ## Council Mode (Optional)
222
+
223
+ For high-stakes pre-submission checks, run proofreading in council mode to get independent assessments from multiple LLM providers. Council mode surfaces formatting issues that any single model might miss.
224
+
225
+ **Trigger:** "Council proofread my paper" or "thorough proofread"
226
+
227
+ **How it works:**
228
+ 1. The main session reads the document and constructs the proofreading prompt
229
+ 2. The prompt is sent to 3 different models via `cli-council` (or `llm-council` for API mode)
230
+ 3. Each model independently runs the 7 check categories
231
+ 4. Cross-review identifies agreements and disputes
232
+ 5. Chairman synthesis produces a single `PROOFREAD-REPORT.md` with council notes
233
+
234
+ **Invocation (CLI backend — free with existing subscriptions):**
235
+ ```bash
236
+ cd packages/cli-council
237
+ uv run python -m cli_council \
238
+ --prompt-file /tmp/proofread-prompt.txt \
239
+ --context-file /tmp/paper-content.txt \
240
+ --output-md /tmp/proofread-council.md \
241
+ --chairman claude \
242
+ --timeout 180
243
+ ```
244
+
245
+ See `skills/shared/council-protocol.md` for the full orchestration protocol.
246
+
247
+ **Value:** Diminishing returns for pure formatting — council mode is most valuable when combined with citation voice balance and notation consistency checks, where different models have genuinely different pattern recognition.
248
+
249
+ ## Cross-References
250
+
251
+ - **`/bib-validate`** — For thorough bibliography cross-referencing
252
+ - **`/latex-autofix`** — For compilation and error resolution (run before proofreading to ensure the document compiles cleanly)
253
+ - **Referee 2 agent** — For formal code + paper auditing
254
+ - **`/devils-advocate`** — For argument quality and logical scrutiny
@@ -0,0 +1,104 @@
1
+ # Quality Rubric: Proofread
2
+
3
+ > Scoring rubric for `/proofread`. Uses the shared framework in [`../../shared/quality-scoring.md`](../../shared/quality-scoring.md).
4
+
5
+ ## Deduction Table
6
+
7
+ ### Blocker (-100)
8
+
9
+ | Issue | Deduction | Notes |
10
+ |-------|-----------|-------|
11
+ | Broken `\ref{}` producing `??` in output | -100 | Document has unresolved references — not submission-ready |
12
+ | Broken `\cite{}` producing `??` or `[?]` | -100 | Missing bibliography entries — not submission-ready |
13
+
14
+ ### Critical (-15 to -25)
15
+
16
+ | Issue | Deduction | Notes |
17
+ |-------|-----------|-------|
18
+ | Inconsistent core notation (e.g., `$x_i$` vs `$x_{i}$` for the same variable) | -15 | Per notation inconsistency pattern |
19
+ | Wrong citation command (`\cite` instead of `\citet`/`\citep` throughout) | -15 | Per systematic misuse pattern |
20
+ | Major grammar error (subject-verb disagreement, dangling modifier) | -15 | Per instance in body text |
21
+ | Major grammar error in abstract or introduction | -15 | Higher visibility = higher cost |
22
+
23
+ ### Major (-5 to -14)
24
+
25
+ | Issue | Deduction | Notes |
26
+ |-------|-----------|-------|
27
+ | Informal contraction in body text (don't, can't) | -5 | Per unique contraction |
28
+ | Overfull hbox > 10pt | -5 | Per instance |
29
+ | Inconsistent citation ordering (mixed chronological/alphabetical) | -5 | Once for the pattern |
30
+ | British/American English mixing (systematic) | -5 | Once for the pattern |
31
+ | Equation referenced but unnumbered | -5 | Per instance |
32
+ | "As shown by (Author, Year)" instead of `\citet{}` | -5 | Per instance |
33
+
34
+ ### Minor (-1 to -4)
35
+
36
+ | Issue | Deduction | Notes |
37
+ |-------|-----------|-------|
38
+ | Academic tone slip (casual hedging, exclamation mark) | -3 | Per instance |
39
+ | Overfull hbox 1-10pt | -2 | Per instance |
40
+ | Minor spelling error (non-technical) | -1 | Per instance |
41
+ | Inconsistent tense (isolated, not systematic) | -2 | Per instance |
42
+ | Minor spacing or formatting inconsistency | -1 | Per instance |
43
+ | Paragraph opens with in-line citation unnecessarily | -2 | Per instance |
44
+ | "As shown by \citet{}" where parenthetical fits better | -2 | Per instance |
45
+
46
+ ### Citation Voice Balance (-5 to -10)
47
+
48
+ | Issue | Deduction | Notes |
49
+ |-------|-----------|-------|
50
+ | In-line:parenthetical ratio exceeds 1:1 | -10 | Once for the document — systematic overuse |
51
+ | Run of 3+ consecutive in-line citations | -5 | Per run (paragraph or section) |
52
+
53
+ ### Numeric Cross-Check (-5 to -25)
54
+
55
+ | Issue | Deduction | Notes |
56
+ |-------|-----------|-------|
57
+ | Text claims a number that contradicts its own table | -25 | Critical — per instance. Embarrassing if caught by a reviewer. |
58
+ | Significance claim in text doesn't match stars/p-value in table | -15 | Critical — misleading |
59
+ | Sample size (N) inconsistency between text and table | -15 | Critical — per instance |
60
+ | N inconsistency across related table specifications (unexplained) | -5 | Major — per table pair |
61
+ | Table/figure referenced in text but doesn't exist | -15 | Critical — broken reference |
62
+ | Table/figure exists but never referenced in text | -5 | Major — orphaned exhibit |
63
+
64
+ ### Causal Language (-5 to -25)
65
+
66
+ | Issue | Deduction | Notes |
67
+ |-------|-----------|-------|
68
+ | Causal claim ("causes", "the effect of") with no identification strategy | -25 | Critical — reviewer will attack this |
69
+ | Causal claim that exceeds the stated identification strategy's strength | -15 | Critical — overclaiming |
70
+ | Ambiguous "significant" (could be statistical or substantive) | -5 | Major — per instance |
71
+ | Coefficient described without units or scale | -5 | Major — per instance |
72
+ | Correlation/causation conflation (sliding from association to causal claim) | -15 | Critical |
73
+
74
+ ### Equation Completeness (-5 to -15)
75
+
76
+ | Issue | Deduction | Notes |
77
+ |-------|-----------|-------|
78
+ | Variable in equation undefined in surrounding text | -5 | Major — per variable |
79
+ | Subscript/index level doesn't match described observation unit | -15 | Critical — conceptual error |
80
+ | Inconsistent notation across equations (same concept, different symbol) | -15 | Critical — same as Check 2 but across equations |
81
+ | Error term specification inconsistent with described model | -5 | Major |
82
+ | Equation cross-reference points to wrong equation | -15 | Critical |
83
+
84
+ ### Preprint Staleness (-5)
85
+
86
+ | Issue | Deduction | Notes |
87
+ |-------|-----------|-------|
88
+ | Preprint cited when published version exists | -5 | Major — per instance. Suggest running `/bib-validate` for thorough check. |
89
+
90
+ ## Category Mapping
91
+
92
+ | Rubric category | SKILL.md check category |
93
+ |----------------|------------------------|
94
+ | Grammar & spelling | Check 1 |
95
+ | Notation consistency | Check 2 |
96
+ | Citation format | Check 3 |
97
+ | Academic tone | Check 4 |
98
+ | LaTeX-specific | Check 5 |
99
+ | Citation voice balance | Check 6 |
100
+ | TikZ diagrams | Check 7 |
101
+ | Numeric cross-check | Check 8 |
102
+ | Causal language | Check 9 |
103
+ | Equation completeness | Check 10 |
104
+ | Preprint staleness | Check 11 |
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: python-env
3
+ description: "Use when you need Python environment management with uv (install, create venv, manage deps)."
4
+ allowed-tools: Bash(uv*), Bash(python*), Bash(mkdir*), Bash(ls*)
5
+ ---
6
+
7
+ # Python Environment Management
8
+
9
+ **CRITICAL RULE: Never use `pip` directly. Always use `uv`.** This applies to all Python package management.
10
+
11
+ ## Golden Rule
12
+
13
+ **ALWAYS use `uv` for Python package and environment management. Never use `pip` directly.**
14
+
15
+ ## Commands
16
+
17
+ | Task | Command |
18
+ |------|---------|
19
+ | Create venv | `uv venv` |
20
+ | Install package | `uv pip install <package>` |
21
+ | Install from requirements | `uv pip install -r requirements.txt` |
22
+ | Run script in project | `uv run python script.py` |
23
+ | Run with dependencies | `uv run --with pandas python script.py` |
24
+ | Install CLI tool globally | `uv tool install <tool>` |
25
+ | Sync project deps | `uv sync` |
26
+ | Add dependency | `uv add <package>` |
27
+
28
+ ## Project Setup
29
+
30
+ For new projects:
31
+ ```bash
32
+ uv init
33
+ uv add <dependencies>
34
+ uv sync
35
+ ```
36
+
37
+ For existing projects with `pyproject.toml`:
38
+ ```bash
39
+ uv sync
40
+ uv run python main.py
41
+ ```
42
+
43
+ ## Rules
44
+
45
+ 1. **Never use `pip install`** — always `uv pip install` or `uv add`
46
+ 2. **Never install globally** — use `uv tool install` for CLI tools
47
+ 3. **Always work in a venv** — created by `uv venv` or `uv sync`
48
+ 4. **Use `uv run`** — to execute scripts within the project environment
49
+
50
+ ## This Project
51
+
52
+ The Task Management system uses uv:
53
+ ```bash
54
+ cd "Task Management"
55
+ uv sync # Install dependencies
56
+ uv run python .scripts/tasks # Run CLI tools
57
+ ```