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
package/CLAUDE.md ADDED
@@ -0,0 +1,197 @@
1
+ # Claude Code for Academic Research
2
+
3
+ > This file is automatically read when you open this folder with Claude Code.
4
+ > Customise it with your own details — see comments marked with `<!-- CUSTOMISE -->`.
5
+
6
+ ## Before You Start
7
+
8
+ Read these context files to understand the user's situation:
9
+
10
+ 1. `.context/profile.md` — Who you are, your roles, research areas
11
+ 2. `.context/current-focus.md` — What you're working on NOW
12
+ 3. `.context/projects/_index.md` — Overview of all projects
13
+
14
+ ## Key Information
15
+
16
+ <!-- CUSTOMISE: Replace with your own details -->
17
+
18
+ **Who I am:**
19
+ - PhD researcher
20
+ - Multiple active research projects
21
+ - Teaching responsibilities
22
+
23
+ **Research areas:**
24
+ - [Your field 1]
25
+ - [Your field 2]
26
+ - [Your field 3]
27
+
28
+ **How I work:**
29
+ - Flexible/reactive style
30
+ - Prefer questions over lists
31
+ - Daily reviews work better than weekly
32
+ - Full context in task descriptions
33
+
34
+ ## Quick Commands
35
+
36
+ <!-- QUICK-COMMANDS:START -->
37
+ <!-- synced from private CLAUDE.md — do not edit manually -->
38
+ Just say these naturally:
39
+
40
+ | You say | Claude does |
41
+ |---------|-------------|
42
+ | "Plan my day" | Reads context, queries vault, asks questions, creates a plan |
43
+ | "What should I work on?" | Reviews priorities and helps you decide |
44
+ | "Extract actions from my meeting with [name]" | Finds transcript, extracts tasks, creates in vault |
45
+ | "Weekly review" | Guides you through reflection and planning |
46
+ | "What's overdue?" | Queries vault tasks and summarises |
47
+ | "Update my research pipeline" | Shows paper status, helps update stages |
48
+ | "Find references on [topic]" | Academic search with verified citations |
49
+ | "What did I accomplish this week?" | Summarises completed tasks |
50
+ | "Proofread my paper" | Runs 7-category check on LaTeX paper, produces report |
51
+ | "Validate my bibliography" | Cross-references `\cite{}` keys against `references.bib` |
52
+ | "Review my code" | 11-category scorecard for R/Python research scripts |
53
+ | "Update my focus" | Structured update to `current-focus.md` with session rotation and open loops |
54
+ | "New project" | Interview-driven setup: scaffold directory, Overleaf symlink, git init, context + vault sync |
55
+ <!-- QUICK-COMMANDS:END -->
56
+
57
+ ## Conventions
58
+
59
+ <!-- CONVENTIONS:START -->
60
+ <!-- synced from private CLAUDE.md — do not edit manually -->
61
+ ### LaTeX Compilation
62
+ - **Default method:** Use `/latex-autofix` — it compiles, auto-fixes errors, and runs a citation audit.
63
+ - Build artifacts go to `out/`, but the PDF is copied back to the source directory.
64
+ - Use `.latexmkrc` with `$out_dir = 'out'` and `an `END {}` block to copy the PDF back`.
65
+ - Never leave build artifacts (`.aux`, `.log`, etc.) in the source directory.
66
+
67
+ ### Python & Package Management
68
+ - Always use `uv`: see `python-uv` rule (global).
69
+
70
+ ### R
71
+ - Use `<-` for assignment, not `=`.
72
+
73
+ ### Git & Remote
74
+ - Remote verification, push safety, and deploy order: see `git-safety` rule (global).
75
+ - **Before cloning any repo**, check if a local copy already exists in the workspace (`resources/`, `packages/`, Task Management root, and common directories).
76
+ <!-- CONVENTIONS:END -->
77
+
78
+ ### Experiment Sweeps & Simulation Batches
79
+ Before running any experiment sweep or simulation batch:
80
+ 1. Write sanity-check assertions first.
81
+ 2. Implement the code.
82
+ 3. Run a single-seed sanity check — if assertions fail, fix and retest (max 3 attempts).
83
+ 4. Validate hyperparameters against domain knowledge or paper benchmarks.
84
+ 5. Only then proceed to full experiments.
85
+
86
+ ### Output Formats
87
+ - Academic papers: LaTeX.
88
+ - Documents for human use (consent forms, PILs, etc.): `.docx` via `pandoc`.
89
+
90
+ ### Content Length Constraints
91
+ - When a page/word limit is specified, treat it as a hard constraint. Draft to 80%, then expand — never exceed and trim.
92
+ - Always report the actual page/word count after drafting.
93
+
94
+ ## Research Vault
95
+
96
+ <!-- RESEARCH-VAULT:START -->
97
+ <!-- CUSTOMISE: Point this to your own Obsidian-style markdown vault -->
98
+ The Research Vault (`~/Research-Vault`) stores all dynamic research data as markdown files with YAML frontmatter. The `taskflow` MCP server reads/writes these files.
99
+
100
+ | Directory | Content |
101
+ |-----------|---------|
102
+ | `tasks/` | Personal tasks (GTD-style) |
103
+ | `pipeline/` | Research papers (stages: Idea → Published) |
104
+ | `submissions/` | Submission events (dates, outcomes) |
105
+ | `atlas/` | Research topics (nested by theme) |
106
+ | `venues/` | Journals, conferences, rankings |
107
+ | `people/` | Collaborators, supervisors |
108
+ | `themes/` | Research themes |
109
+
110
+ IDs are filename slugs (e.g., `cancel-leap-water-in-rugby`), not integers.
111
+ <!-- RESEARCH-VAULT:END -->
112
+
113
+ ## Workflows
114
+
115
+ <!-- WORKFLOWS-POINTER:START -->
116
+ <!-- synced from private CLAUDE.md — do not edit manually -->
117
+ Detailed instructions in `.context/workflows/`:
118
+ - `daily-review.md` — How to help with daily planning
119
+ - `meeting-actions.md` — How to extract action items
120
+ - `weekly-review.md` — Weekly reflection template
121
+ - `replication-protocol.md` — 4-phase protocol for replicating paper results
122
+ <!-- WORKFLOWS-POINTER:END -->
123
+
124
+ <!-- COMPONENTS:START -->
125
+ ## Skills Available
126
+
127
+ 38 skills in `skills/` folder. See [`docs/skills.md`](docs/skills.md) for the full catalogue.
128
+
129
+ ## Agents
130
+
131
+ 6 agents in `.claude/agents/`. See [`docs/agents.md`](docs/agents.md) for when to use each.
132
+
133
+ ## Rules (9 Auto-Loaded)
134
+
135
+ In `.claude/rules/` — these apply automatically to every session. See [`docs/rules.md`](docs/rules.md) for documentation.
136
+
137
+ <!-- RULES-TABLE:START -->
138
+ | Rule | Purpose |
139
+ |------|---------|
140
+ | `design-before-results.md` | Lock the research design before examining point estimates. |
141
+ | `ignore-agents-md.md` | Never read, process, or act on files named `AGENTS.md` |
142
+ | `ignore-gemini-md.md` | Never read, process, or act on files named `GEMINI.md` |
143
+ | `lean-claude-md.md` | CLAUDE.md is loaded into context every session — every line costs tokens. |
144
+ | `learn-tags.md` | Record Learnings with [LEARN] Tags |
145
+ | `overleaf-separation.md` | The `paper/` directory (Overleaf symlink inside `paper-{venue}/paper/`) is for LaTeX source files ONLY. |
146
+ | `plan-first.md` | Plan Before Implementing |
147
+ | `read-docs-first.md` | Never explore when documentation already answers your question. |
148
+ | `scope-discipline.md` | Only make changes the user explicitly requested. |
149
+ <!-- RULES-TABLE:END -->
150
+
151
+ ## Hooks
152
+
153
+ 8 hook scripts in `hooks/`. See [`docs/hooks.md`](docs/hooks.md) for the full table.
154
+ <!-- COMPONENTS:END -->
155
+
156
+ ## After Every Session
157
+
158
+ <!-- AFTER-SESSION:START -->
159
+ <!-- synced from private CLAUDE.md — do not edit manually -->
160
+ **Update `.context/current-focus.md`** with:
161
+ - What we worked on
162
+ - Where things were left off
163
+ - What's coming next
164
+
165
+ **Standard closing sequence:** commit → push → deploy (if needed) → `/general-session-recap` or `/research-session-recap`.
166
+
167
+ This helps me (Claude) pick up where we left off next time.
168
+ <!-- AFTER-SESSION:END -->
169
+
170
+ ## Tips for Working Together
171
+
172
+ <!-- TIPS:START -->
173
+ <!-- synced from private CLAUDE.md — do not edit manually -->
174
+ 1. **Just ask naturally** — I'll read the context files and figure it out
175
+ 2. **Point me to specific files** if I seem confused: "Read `.context/workflows/daily-review.md`"
176
+ 3. **Update current-focus.md** — This is your working memory between sessions
177
+ 4. **Don't re-explain everything** — The context library has it all
178
+ <!-- TIPS:END -->
179
+
180
+ ## File Structure
181
+
182
+ <!-- FILE-STRUCTURE:START -->
183
+ | Path | What lives there |
184
+ |------|-----------------|
185
+ | `.context/` | AI context library (profile, focus, projects, workflows, preferences) |
186
+ | `.claude/agents/` | Agent definitions (6 agents) |
187
+ | `.claude/rules/` | Auto-loaded rules (9 rules) |
188
+ | `skills/` | 38 skill definitions |
189
+ | `hooks/` | 8 hook scripts |
190
+ | `mcp-bibliography/` | Multi-source scholarly search MCP server (OpenAlex + Scopus + WoS) |
191
+ | `.scripts/` | CLI tools for vault task management |
192
+ | `packages/cli-council/` | Multi-model council via local CLI tools |
193
+ | `packages/llm-council/` | Multi-model council via OpenRouter API |
194
+ | `packages/mcp-bibliography/` | mcp-bibliography |
195
+ | `log/` | Session logs |
196
+ | `docs/` | Documentation |
197
+ <!-- FILE-STRUCTURE:END -->
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Florian Burnat
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/MEMORY.md ADDED
@@ -0,0 +1,38 @@
1
+ # Memory — Project Knowledge Base
2
+
3
+ <!-- This file accumulates domain knowledge across sessions.
4
+ See .claude/rules/learn-tags.md for how entries are recorded. -->
5
+
6
+ ## Notation Registry
7
+
8
+ | Variable | Convention | Anti-pattern |
9
+ |----------|-----------|--------------|
10
+ | | | |
11
+
12
+ ## Estimand Registry
13
+
14
+ | What we estimate | Identification | Key assumptions |
15
+ |-----------------|---------------|-----------------|
16
+ | | | |
17
+
18
+ ## Key Decisions
19
+
20
+ | Decision | Rationale | Date |
21
+ |----------|-----------|------|
22
+ | | | |
23
+
24
+ ## Citations
25
+
26
+ <!-- One-liner corrections from [LEARN:citation] tags -->
27
+
28
+ ## Anti-Patterns
29
+
30
+ | What went wrong | Correction |
31
+ |----------------|-----------|
32
+ | | |
33
+
34
+ ## Code Pitfalls
35
+
36
+ | Bug | Impact | Fix |
37
+ |-----|--------|-----|
38
+ | | | |
package/README.md ADDED
@@ -0,0 +1,269 @@
1
+ <!-- Governed by: skills/shared/project-documentation.md -->
2
+
3
+ # Claude Code for an Academic Researcher
4
+
5
+ Made by a humble PhD student. A complete Claude Code infrastructure for researchers — skills, agents, hooks, and rules for academic workflows. Built for researchers who write papers in LaTeX, manage bibliographies, run experiments, and want AI assistance that understands academic conventions.
6
+
7
+ Works on **macOS, Linux, and Windows**. Use Claude Code from the [terminal CLI](https://docs.anthropic.com/en/docs/claude-code), [VS Code](https://marketplace.visualstudio.com/items?itemName=anthropics.claude-code), [JetBrains IDEs](https://plugins.jetbrains.com/plugin/27189-claude-code), [the web](https://claude.ai/code), or the [desktop app](https://claude.ai/download) — all share the same skills, agents, and rules.
8
+
9
+ ## Installation
10
+
11
+ ### macOS / Linux
12
+
13
+ ```bash
14
+ git clone https://github.com/flonat/claude-research.git
15
+ cd claude-research
16
+ ./scripts/setup.sh
17
+ ```
18
+
19
+ ### Windows (PowerShell)
20
+
21
+ ```powershell
22
+ git clone https://github.com/flonat/claude-research.git
23
+ cd claude-research
24
+ .\scripts\setup.ps1
25
+ ```
26
+
27
+ ### Update
28
+
29
+ ```bash
30
+ # macOS/Linux: pull latest, then re-link without overwriting settings
31
+ git pull && ./scripts/setup.sh --update
32
+
33
+ # Windows (PowerShell):
34
+ git pull; .\scripts\setup.ps1 -Update
35
+ ```
36
+
37
+ Then customise `.context/profile.md`, `.context/current-focus.md`, and `CLAUDE.md` with your details. See [`docs/getting-started.md`](docs/getting-started.md) for the full guide (includes Windows-specific setup, Python install, and troubleshooting).
38
+
39
+ ### Related Packages
40
+
41
+ | Package | Install | Description |
42
+ |---------|---------|-------------|
43
+ | [`llm-council`](https://github.com/flonat/llm-council) | `pip install llm-council` | Multi-model council via OpenRouter API |
44
+ | [`cli-council`](https://github.com/flonat/cli-council) | `pip install cli-council` | Multi-model council via local CLI tools |
45
+
46
+ ## What's Included
47
+
48
+ <!-- COMPONENT-TABLE:START -->
49
+ <!-- auto-generated by generate-public-docs.py — do not edit manually -->
50
+ | Component | Count | Description |
51
+ |-----------|-------|-------------|
52
+ | **Skills** | 38 | Slash commands for common tasks (`/proofread`, `/latex-autofix`, `/literature`, etc.) |
53
+ | **Agents** | 6 | Specialised reviewers (peer review, referee 2, paper critic, domain review, fixer) |
54
+ | **Hooks** | 8 | Automated guardrails (destructive git protection, context monitoring, etc.) |
55
+ | **Rules** | 9 | Always-on policies (plan before implementing, scope discipline, etc.) |
56
+ | **Context library** | — | Structured files that give Claude persistent memory across sessions |
57
+ | **Research Vault** | — | Obsidian-style markdown vault for tasks, pipeline, submissions, venues, people |
58
+ | **Bibliography MCP** | — | Multi-source scholarly search (OpenAlex + Scopus + WoS) — [setup guide](docs/biblio-setup.md) |
59
+ | **Council mode** | — | Multi-model deliberation (3 reviewers + synthesis) — [setup guide](docs/council-mode.md) |
60
+ | **CLI tools** | — | Vault task management from the terminal — [docs](docs/scripts.md) |
61
+ <!-- COMPONENT-TABLE:END -->
62
+
63
+ ## Architecture
64
+
65
+ <!-- ARCHITECTURE:START -->
66
+ <!-- synced from private README — do not edit manually -->
67
+ ```
68
+ ┌──────────────────────────────────────────────────────────────┐
69
+ │ Claude Code (Terminal) Claude Desktop (GUI) │
70
+ │ │ │ │
71
+ │ CLAUDE.md + Rules MCP Server (load-context) │
72
+ │ │ │ │
73
+ │ ┌────┴──────────────┬──────────────┐ │ │
74
+ │ │ │ │ │ │
75
+ │ Context ◄───────── Skills ◄──────┼─────┘ │
76
+ │ Library │ │ │
77
+ │ CLI Scripts Research Vault │
78
+ │ │
79
+ │ MEMORY.md ◄─────── Hooks & │
80
+ │ + Logs Permissions │
81
+ └──────────────────────────────────────────────────────────────┘
82
+ ```
83
+
84
+ The MCP server's `load-context` tool gives Claude Desktop access to the context library and MEMORY.md — the same files Claude Code reads automatically.
85
+ <!-- ARCHITECTURE:END -->
86
+
87
+ ## Components
88
+
89
+ **Context Library** (`.context/`) — Markdown files that give Claude persistent memory about you, your projects, and your workflows. Instead of re-explaining your research every session, Claude reads these files automatically.
90
+
91
+ **Skills** (`skills/`) — Slash commands invoked with `/<skill-name>` or natural language.
92
+ <!-- SKILLS-SUMMARY:START -->
93
+ <!-- auto-generated — do not edit manually -->
94
+ 38 skills available. Key examples: `/proofread`, `/latex-autofix`, `/literature`, `/bib-validate`, `/code-review`, `/session-recap`, and more.
95
+ <!-- SKILLS-SUMMARY:END -->
96
+ See [`docs/skills.md`](docs/skills.md) for the full catalogue.
97
+
98
+ **Agents** (`.claude/agents/`) — Specialised personas for complex review tasks, spawning sub-agents for parallel work.
99
+
100
+ <!-- AGENTS-TABLE:START -->
101
+ | Agent | Use case |
102
+ |-------|----------|
103
+ | `domain-reviewer` | Research-focused substantive correctness agent |
104
+ | `fixer` | Generic fix implementer for any critic report |
105
+ | `paper-critic` | Read-only adversarial auditor for LaTeX papers |
106
+ | `peer-reviewer` | Use this agent when you need to review someone else's paper — as a peer reviewer, discussant, or for reading group preparation |
107
+ | `proposal-reviewer` | Use this agent when you need to review a research proposal, extended abstract, conference submission outline, or pre-paper plan — either his own or someone else's |
108
+ | `referee2-reviewer` | Use this agent when the user wants a rigorous, adversarial academic review of their work — including papers, manuscripts, research designs, code, or arguments |
109
+
110
+ <!-- AGENTS-TABLE:END -->
111
+
112
+ See [`docs/agents.md`](docs/agents.md) for detailed descriptions.
113
+
114
+ **Hooks** (`hooks/`) — Automated guardrails that run at specific points in a session.
115
+
116
+ <!-- HOOKS-TABLE:START -->
117
+ | Hook | Trigger | What it does |
118
+ |------|---------|-------------|
119
+ | `block-destructive-git.sh` | Before Bash | catches dangerous git/shell commands |
120
+ | `context-monitor.py` | After tool use | tracks tool call count as a heuristic for context usage |
121
+ | `postcompact-restore.py` | After compact | restores state after context compression |
122
+ | `precompact-autosave.py` | Before compact | saves state before context compression |
123
+ | `promise-checker.sh` | Session stop | catches "performative compliance": Claude says it remembered/noted/saved |
124
+ | `protect-source-files.sh` | Before edit/write | prompts confirmation for files outside |
125
+ | `resume-context-loader.sh` | Session resume | surfaces current focus and latest session log |
126
+ | `startup-context-loader.sh` | Session start | auto-detects and surfaces project documentation |
127
+
128
+ <!-- HOOKS-TABLE:END -->
129
+
130
+ See [`docs/hooks.md`](docs/hooks.md) for full documentation.
131
+
132
+ **Rules** (`.claude/rules/`) — Always-on policies enforcing good research practices. See [`docs/rules.md`](docs/rules.md).
133
+
134
+ **Research Vault** — Obsidian-style markdown vault (`~/Research-Vault`) for tasks, pipeline, submissions, venues, people, and themes. Accessed via the `taskflow` MCP server.
135
+
136
+ **Biblio MCP** — Multi-source scholarly search server (OpenAlex + optional Scopus & Web of Science). See [`docs/bibliography-setup.md`](docs/bibliography-setup.md).
137
+
138
+ **Flonat-Papers MCP** — Zotero library management server (search, PDF extraction, semantic retrieval, BibTeX export). Lives in `packages/flonat-papers/` with bundled `bib-validate` and `bib-parse` skills.
139
+
140
+ **Council Mode** — Multi-model deliberation with 3 LLM providers, anonymised cross-review, and chairman synthesis. See [`docs/council-mode.md`](docs/council-mode.md).
141
+
142
+ ## Workflows
143
+
144
+ <!-- WORKFLOWS:START -->
145
+ <!-- synced from private README — do not edit manually -->
146
+ | Command | What happens |
147
+ |---------|-------------|
148
+ | "Plan my day" | Reads context, queries vault, asks questions, creates Must Do / Should Do / Could Do plan |
149
+ | "Extract actions from my meeting with [name]" | Finds transcript, extracts tasks with full context, creates in vault |
150
+ | "Weekly review" | 4-part reflection: clear the decks, review, plan, project check |
151
+ | "What's overdue?" | Queries vault and summarises |
152
+ | "Proofread my paper" | 7-category academic check (report only) |
153
+ | "Validate my bibliography" | Cross-references `\cite{}` keys against `.bib` |
154
+ <!-- WORKFLOWS:END -->
155
+
156
+ ## Session Continuity
157
+
158
+ <!-- SESSION-CONTINUITY:START -->
159
+ <!-- synced from private README — do not edit manually -->
160
+ Each session builds on previous ones:
161
+
162
+ - `current-focus.md` — updated at session end with progress and next steps
163
+ - `log/` — timestamped session logs
164
+ - `log/plans/` — saved implementation plans
165
+ - `MEMORY.md` — accumulated `[LEARN]` tags (notation, citation, code, method, domain corrections)
166
+
167
+ The recovery protocol reads the latest plan, session log, and current focus to resume seamlessly.
168
+ <!-- SESSION-CONTINUITY:END -->
169
+
170
+ ## Project Structure
171
+
172
+ <!-- FILE-TREE:START -->
173
+ ```
174
+ claude-research/
175
+ ├── CLAUDE.md # Main instruction file (customise this)
176
+ ├── README.md # This file
177
+ ├── MEMORY.md # Accumulated knowledge (auto-populated)
178
+ ├── .claude/
179
+ │ ├── agents/ # 6 specialised review agents
180
+ │ ├── rules/ # 9 auto-loaded policy rules
181
+ │ └── settings.json # Permissions, hooks, model config
182
+ ├── skills/ # 38 slash commands
183
+ │ ├── shared/ # Shared utilities (palettes, scoring, rhetoric)
184
+ │ ├── proofread/ # Academic proofreading
185
+ │ ├── latex-autofix/ # LaTeX compilation + auto-fix
186
+ │ ├── literature/ # Literature search + synthesis
187
+ │ └── ... # See docs/skills.md for full list
188
+ ├── hooks/ # 8 automated guardrails
189
+ ├── .context/ # AI context library
190
+ │ ├── profile.md # Your identity and background
191
+ │ ├── current-focus.md # What you're working on NOW
192
+ │ ├── projects/ # Project metadata
193
+ │ ├── preferences/ # Workflow preferences
194
+ │ ├── workflows/ # Process guides (daily review, etc.)
195
+ │ └── resources/ # Reference data (journal rankings, etc.)
196
+ ├── .scripts/ # CLI tools for vault task management
197
+ ├── mcp-bibliography/ # Multi-source scholarly search (OpenAlex + Scopus + WoS)
198
+ ├── packages/
199
+ │ ├── cli-council/ # Multi-model council via local CLI tools
200
+ │ ├── llm-council/ # Multi-model council via OpenRouter API
201
+ │ └── mcp-bibliography/ # mcp-bibliography
202
+ ├── docs/ # Component documentation
203
+ ├── log/ # Session logs (auto-created)
204
+ └── scripts/
205
+ └── setup.sh # Initial setup script
206
+ ```
207
+ <!-- FILE-TREE:END -->
208
+
209
+ ## Design Principles
210
+
211
+ <!-- DESIGN-PRINCIPLES:START -->
212
+ <!-- synced from private README — do not edit manually -->
213
+ 1. **Lazy prompting** — Context files eliminate repetitive explanations
214
+ 2. **Hybrid local + cloud** — Markdown (versioned) + Research Vault (dynamic)
215
+ 3. **Question-driven** — AI asks questions before dumping lists
216
+ 4. **Read-only audits** — Proofread, validate, review — never auto-edit source
217
+ 5. **Session continuity** — Every session makes the next one better
218
+ 6. **Permission governance** — Global settings propagate automatically
219
+ <!-- DESIGN-PRINCIPLES:END -->
220
+
221
+ ## Requirements
222
+
223
+ | Tool | Why you need it | macOS | Linux | Windows |
224
+ |------|----------------|-------|-------|---------|
225
+ | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | The AI engine — runs skills, agents, hooks | `curl -fsSL https://claude.ai/install.sh \| bash` | same | `winget install Anthropic.ClaudeCode` |
226
+ | [Python 3.11+](https://www.python.org/) | Hooks and MCP servers | `brew install python@3.12` | `apt install python3.12` | `winget install Python.Python.3.12` |
227
+ | [uv](https://docs.astral.sh/uv/) | Fast Python package manager — isolates dependencies, replaces `pip` | `brew install uv` | `curl -LsSf https://astral.sh/uv/install.sh \| sh` | `winget install astral-sh.uv` |
228
+ | [Git](https://git-scm.com/) | Version control | Included | `apt install git` | `winget install Git.Git` |
229
+ | [TeX Live](https://tug.org/texlive/) | LaTeX compilation (`/proofread`, `/latex-autofix`) | `brew install --cask mactex` | `apt install texlive-full` | [install guide](https://tug.org/texlive/windows.html) |
230
+
231
+ Also available as a [VS Code extension](https://marketplace.visualstudio.com/items?itemName=anthropics.claude-code), [JetBrains plugin](https://plugins.jetbrains.com/plugin/27189-claude-code), [web app](https://claude.ai/code), or [desktop app](https://claude.ai/download).
232
+
233
+ See [`docs/getting-started.md`](docs/getting-started.md) for Fedora/Arch commands, Windows-specific setup, Python version guidance, and troubleshooting.
234
+
235
+ ## Credits
236
+
237
+ <!-- CREDITS:START -->
238
+ <!-- synced from private README — do not edit manually -->
239
+ This infrastructure draws on design patterns from several open-source workflows.
240
+
241
+ ### Academic Researchers
242
+
243
+ - **[Scott Cunningham](https://github.com/scunning1975/MixtapeTools)** (MixtapeTools) — session logs, rhetoric-driven presentations, "health inspector" model for code audits, cross-language replication, author/reviewer separation
244
+ - **[Pedro Sant'Anna](https://github.com/pedrohcgs/claude-code-my-workflow)** — specialist agents, plan-first protocol, quality gates, critic-fixer loops, [LEARN] tags
245
+ - **[Jared Black](https://github.com/Black-JL/Research-Project-Flow)** — "break the glass" protocol for infrastructure changes, data sensitivity rules, reproducible project templates
246
+ - **[Antonio Mele](https://github.com/meleantonio/awesome-econ-ai-stuff)** — curated AI-for-economists resources, programmatic Claude Code controller, scientific skills reference
247
+ - **[Hugo Sant'Anna](https://github.com/hsantanna88/clo-author)** (CLO-Author) — open-source Claude Code workflow for applied econometrics, agents, 29 slash commands
248
+ - **[Chris Blattman](https://github.com/chrisblattman/claudeblattman)** — academic AI workflows guide, non-developer-friendly skill and agent patterns
249
+
250
+ ### General Resources
251
+
252
+ - **[Andrej Karpathy](https://github.com/karpathy/llm-council)** — multi-model council with peer review and synthesis (our fork: [llm-council](https://github.com/user/llm-council), [cli-council](https://github.com/user/cli-council))
253
+ - **[rtk-ai](https://github.com/rtk-ai/rtk)** — RTK rewrite hook for 60–90% token savings on CLI output
254
+ - **[NPC Worldwide](https://github.com/npc-worldwide/npcsh)** (npcsh) — knowledge graph sleep/dream cycles, inspiring the memory consolidation skill
255
+ - **[Boris Cherny](https://github.com/AugmendTech/ChernyCode)** (ChernyCode) — AI coding assistant configuration patterns
256
+ - **[Jim Christian](https://github.com/aplaceforallmystuff)** (aplaceforallmystuff) — creation-guard pre-flight checks, lessons-learned retrospective, ecosystem health diagnostics
257
+ - **[blader](https://github.com/blader/Claudeception)** (Claudeception) — skill description optimization, post-match action table, solution pattern for skill creation, learning nudge hook
258
+ - **[Anthropic](https://github.com/anthropics/claude-code)** — Claude Code platform, 8 adopted skill patterns (docx, xlsx, pptx, pdf, frontend-design, mcp-builder, webapp-testing, skill-creator)
259
+
260
+ System created January 2026.
261
+ <!-- CREDITS:END -->
262
+
263
+ ## Star History
264
+
265
+ [![Star History Chart](https://api.star-history.com/svg?repos=flonat/claude-research&type=Date)](https://star-history.com/#flonat/claude-research&Date)
266
+
267
+ ## License
268
+
269
+ MIT
package/docs/agents.md ADDED
@@ -0,0 +1,44 @@
1
+ # Agents
2
+
3
+ > 6 specialised review agents with separate context and persistent memory.
4
+
5
+ Agents are autonomous sub-processes that run in a separate context via Claude Code's Task tool.
6
+ Unlike skills, agents solve the "grading your own homework" problem — they review work
7
+ without access to the author's reasoning.
8
+
9
+ ## Available Agents
10
+
11
+ | Agent | Description |
12
+ |-------|-------------|
13
+ | `domain-reviewer` | Research-focused substantive correctness agent |
14
+ | `fixer` | Generic fix implementer for any critic report |
15
+ | `paper-critic` | Read-only adversarial auditor for LaTeX papers |
16
+ | `peer-reviewer` | Use this agent when you need to review someone else's paper — as a peer reviewer, discussant, or for reading group preparation |
17
+ | `proposal-reviewer` | Use this agent when you need to review a research proposal, extended abstract, conference submission outline, or pre-paper plan — either his own or someone else's |
18
+ | `referee2-reviewer` | Use this agent when the user wants a rigorous, adversarial academic review of their work — including papers, manuscripts, research designs, code, or arguments |
19
+
20
+ ## How Agents Work
21
+
22
+ 1. The main session spawns an agent via the Task tool
23
+ 2. The agent runs in a separate context with its own instructions
24
+ 3. The agent produces a report (never modifies source files)
25
+ 4. The report is returned to the main session for review
26
+
27
+ ## The Read-Only Principle
28
+
29
+ Review agents never modify the author's files. They produce reports and recommendations.
30
+ The `fixer` agent is the only exception — it reads a critic report and applies fixes,
31
+ but only when explicitly invoked.
32
+
33
+ ## Creating a New Agent
34
+
35
+ Create a `.md` file in `.claude/agents/` with YAML frontmatter:
36
+
37
+ ```yaml
38
+ ---
39
+ name: my-agent
40
+ description: "What this agent does"
41
+ ---
42
+ ```
43
+
44
+ Agents are available globally via symlink: `~/.claude/agents/` points to this repo's `.claude/agents/`.
@@ -0,0 +1,55 @@
1
+ <!-- Governed by: skills/shared/project-documentation.md -->
2
+
3
+ # Biblio MCP Server Setup
4
+
5
+ The Biblio MCP server (`.mcp-server-biblio/`) provides scholarly search across up to 3 sources. OpenAlex is always available (free, no key required). Scopus and Web of Science are optional — add API keys to unlock them.
6
+
7
+ ## 1. Update the Email Address
8
+
9
+ In `.mcp-server-biblio/server.py`:
10
+
11
+ ```python
12
+ client = OpenAlexClient(email="your.email@university.edu")
13
+ ```
14
+
15
+ OpenAlex uses this for its [polite pool](https://docs.openalex.org/how-to-use-the-api/rate-limits-and-authentication#the-polite-pool) — faster rate limits, no registration needed.
16
+
17
+ ## 2. Add the Server to Your Claude Code MCP Config
18
+
19
+ In `.mcp.json` (project root) or `~/.claude.json` (global access):
20
+
21
+ ```json
22
+ {
23
+ "mcpServers": {
24
+ "biblio": {
25
+ "command": "/opt/homebrew/bin/uv",
26
+ "args": ["run", "--frozen", "--directory", "/path/to/claude-research/.mcp-server-biblio", "python", "server.py"],
27
+ "env": {}
28
+ }
29
+ }
30
+ }
31
+ ```
32
+
33
+ ## 3. (Optional) Add API Keys for Additional Sources
34
+
35
+ | Source | Env var | How to get it |
36
+ |--------|---------|---------------|
37
+ | OpenAlex | None needed | Free — just set your email in step 1 |
38
+ | Scopus | `SCOPUS_API_KEY` | [Elsevier Developer Portal](https://dev.elsevier.com/) — free for academic institutions |
39
+ | Web of Science | `WOS_API_KEY` | [Clarivate Developer Portal](https://developer.clarivate.com/) — requires institutional subscription |
40
+
41
+ Add keys to the `env` block:
42
+
43
+ ```json
44
+ "env": {
45
+ "SCOPUS_API_KEY": "your-scopus-key",
46
+ "WOS_API_KEY": "your-wos-key",
47
+ "WOS_API_TIER": "expanded"
48
+ }
49
+ ```
50
+
51
+ The server auto-detects available keys at startup. With all 3 sources enabled, the `scholarly_*` tools deduplicate across sources and the `scholarly_verify_dois` tool cross-validates references.
52
+
53
+ ## 4. Use `/literature`
54
+
55
+ Search for papers — the skill uses the biblio server automatically.
@@ -0,0 +1,36 @@
1
+ <!-- Governed by: skills/shared/project-documentation.md -->
2
+
3
+ # Council Mode
4
+
5
+ Claude Code can invoke other LLM providers' CLI tools as subprocess reviewers — a different model reviews work that Claude produced, providing genuine architectural diversity (different training data, reasoning patterns, and blind spots). The system is extensible: any CLI tool that accepts a prompt and returns text can be wrapped as a backend (~20 lines of Python).
6
+
7
+ Council mode coordinates this into a structured 3-stage protocol: independent assessments from multiple LLM providers, anonymised cross-review, then chairman synthesis. Used by the `paper-critic` agent and optionally by `/proofread`, `/devils-advocate`, `/code-review`, and `/multi-perspective`.
8
+
9
+ See `skills/shared/council-protocol.md` for the full orchestration protocol.
10
+
11
+ ## CLI Council (`packages/cli-council/`) — Free
12
+
13
+ Uses local CLI tools with existing subscriptions (no per-token cost). Backends are pluggable — adding a new provider follows the `BackendSpec` pattern:
14
+
15
+ ```bash
16
+ cd packages/cli-council
17
+ pip install -e .
18
+ python -m cli_council --check # verify which CLI backends are available
19
+ ```
20
+
21
+ Currently available backends:
22
+ - [Gemini CLI](https://github.com/google-gemini/gemini-cli) — `npm install -g @google/gemini-cli`
23
+ - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) — useful for fresh context (same model, different session)
24
+ - Additional backends can be added by implementing a `BackendSpec` in `config.py` and a thin async wrapper in `backends/`
25
+
26
+ ## LLM Council (`packages/llm-council/`) — API
27
+
28
+ Uses OpenRouter for structured JSON output and programmatic integration:
29
+
30
+ ```bash
31
+ cd packages/llm-council
32
+ pip install -e .
33
+ export OPENROUTER_API_KEY="sk-or-..." # get one at https://openrouter.ai/keys
34
+ ```
35
+
36
+ Requires an [OpenRouter](https://openrouter.ai/) account. One API key accesses Anthropic, OpenAI, and Google models. A council run (3 models) costs ~7 API calls. See the package's `README.md` for the full Python API reference.