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,245 @@
1
+ <!-- Governed by: skills/shared/project-documentation.md -->
2
+
3
+ # Getting Started
4
+
5
+ ## How to Use Claude Code
6
+
7
+ Claude Code is the AI engine that reads your CLAUDE.md, runs skills, and executes hooks. You can access it in several ways:
8
+
9
+ | Interface | Best for | Install |
10
+ |-----------|----------|---------|
11
+ | **[Terminal CLI](https://docs.anthropic.com/en/docs/claude-code)** | Power users, full control, scripting | See install table below |
12
+ | **[VS Code extension](https://marketplace.visualstudio.com/items?itemName=anthropics.claude-code)** | Integrated coding + chat in one window | Install from VS Code marketplace |
13
+ | **[JetBrains extension](https://plugins.jetbrains.com/plugin/27189-claude-code)** | IntelliJ, PyCharm, WebStorm users | Install from JetBrains marketplace |
14
+ | **[Web app](https://claude.ai/code)** | Quick access from any browser, no install | Visit claude.ai/code |
15
+ | **[Desktop app](https://claude.ai/download)** | GUI chat (Mac/Windows) | Download from claude.ai |
16
+
17
+ All interfaces share the same skills, agents, hooks, and rules once you run the setup script. The terminal CLI is the most full-featured and what this guide focuses on, but you can use whichever interface suits your workflow.
18
+
19
+ **You need an Anthropic account with a Claude subscription** (Max plan recommended for heavy research use).
20
+
21
+ ## Prerequisites
22
+
23
+ ### 1. Package Manager
24
+
25
+ Install a package manager first — it makes installing everything else easy:
26
+
27
+ | Platform | Package manager | Install command |
28
+ |----------|----------------|-----------------|
29
+ | **macOS** | [Homebrew](https://brew.sh/) | `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` |
30
+ | **Ubuntu / Debian** | apt | Already included |
31
+ | **Fedora / RHEL** | dnf | Already included |
32
+ | **Arch** | pacman | Already included |
33
+ | **Windows** | [WinGet](https://learn.microsoft.com/en-us/windows/package-manager/winget/) | Built into Windows 11. On Windows 10, install [App Installer](https://apps.microsoft.com/detail/9nblggh4nns1) from the Microsoft Store. |
34
+
35
+ ### 2. Python (3.11 or later)
36
+
37
+ Python is required for several hooks (context monitor, compact save/restore) and the bibliography MCP server.
38
+
39
+ | Platform | Install command | Verify |
40
+ |----------|----------------|--------|
41
+ | **macOS** | `brew install python@3.12` | `python3 --version` |
42
+ | **Ubuntu 24.04+** | `sudo apt install python3.12 python3.12-venv` | `python3 --version` |
43
+ | **Ubuntu 22.04 / Debian 11** | See note below | `python3 --version` |
44
+ | **Fedora 39+** | `sudo dnf install python3.12` | `python3 --version` |
45
+ | **Arch** | `sudo pacman -S python` (ships 3.12+) | `python3 --version` |
46
+ | **Windows** | `winget install Python.Python.3.12` | `python --version` |
47
+
48
+ > **Why Python 3.11+?** The hooks and MCP servers use modern Python features (`tomllib`, `match` statements, type hints) that require 3.11 or later. Python 3.12 is recommended as the current stable release.
49
+
50
+ > **Ubuntu 22.04 / Debian 11:** These ship Python 3.10, which is too old. Add the [deadsnakes PPA](https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa) first:
51
+ > ```bash
52
+ > sudo add-apt-repository ppa:deadsnakes/ppa
53
+ > sudo apt update
54
+ > sudo apt install python3.12 python3.12-venv
55
+ > ```
56
+
57
+ > **Windows note:** The Windows Python installer adds `python` (not `python3`) to your PATH. The hooks in `settings.json` reference `python3` — you may need to adjust these to `python` on Windows, or create an alias. See the [Windows Setup](#windows-setup) section below.
58
+
59
+ ### 3. uv (Python package manager)
60
+
61
+ | Platform | Install command | Verify |
62
+ |----------|----------------|--------|
63
+ | **macOS** | `brew install uv` | `uv --version` |
64
+ | **Linux** | `curl -LsSf https://astral.sh/uv/install.sh \| sh` | `uv --version` |
65
+ | **Windows** | `winget install astral-sh.uv` | `uv --version` |
66
+
67
+ > **Why uv instead of pip?** [uv](https://docs.astral.sh/uv/) is a fast Python package manager that handles virtual environments automatically. When Claude runs Python code or installs dependencies, it uses `uv run python` and `uv pip install` instead of bare `python` or `pip`. This prevents conflicts between projects (each gets its own isolated environment) and avoids polluting your system Python. The `settings.json` included with this repo enforces this by blocking bare `python` and `pip` commands.
68
+
69
+ ### 4. Other tools
70
+
71
+ | Tool | What it's for | macOS | Ubuntu/Debian | Fedora | Arch | Windows |
72
+ |------|--------------|-------|---------------|--------|------|---------|
73
+ | [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) | The engine | `curl -fsSL https://claude.ai/install.sh \| bash` | same | same | same | `winget install Anthropic.ClaudeCode` |
74
+ | [Git](https://git-scm.com/) | Version control | Included | `sudo apt install git` | `sudo dnf install git` | `sudo pacman -S git` | `winget install Git.Git` |
75
+ | [TeX Live](https://tug.org/texlive/) | LaTeX compilation | `brew install --cask mactex` | `sudo apt install texlive-full` | `sudo dnf install texlive-scheme-full` | `sudo pacman -S texlive` | [install guide](https://tug.org/texlive/windows.html) |
76
+
77
+ **Optional but recommended:**
78
+ - [VS Code](https://code.visualstudio.com/) with the [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) extension — handles both code and LaTeX in one window
79
+ - [Obsidian](https://obsidian.md/) — for browsing and editing the Research Vault
80
+
81
+ > **TeX Live on Windows:** The [TeX Live install guide](https://tug.org/texlive/windows.html) walks you through the installer. Alternatively, install [MiKTeX](https://miktex.org/download) which auto-installs missing packages on first use. Either works — just make sure `latexmk` is available in your terminal after installation.
82
+
83
+ > **TeX Live on Arch:** The `texlive` group installs a minimal set. For full coverage (recommended), use `sudo pacman -S texlive-most texlive-lang`.
84
+
85
+ ## Installation
86
+
87
+ ### macOS / Linux
88
+
89
+ ```bash
90
+ git clone https://github.com/flonat/claude-research.git
91
+ cd claude-research
92
+ ./scripts/setup.sh
93
+ ```
94
+
95
+ ### Windows
96
+
97
+ Open **PowerShell** (not Command Prompt) and run:
98
+
99
+ ```powershell
100
+ git clone https://github.com/flonat/claude-research.git
101
+ cd claude-research
102
+ .\scripts\setup.ps1
103
+ ```
104
+
105
+ > **If you get an execution policy error:** Run `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned` first, then retry. This allows PowerShell to run local scripts.
106
+
107
+ The setup script creates links in `~/.claude/` so Claude Code can find your skills, agents, hooks, and rules from any project directory.
108
+
109
+ ### What the setup script does
110
+
111
+ 1. Creates `~/.claude/` if it doesn't exist
112
+ 2. Links `skills/`, `agents/`, `rules/`, and `hooks/` into `~/.claude/`
113
+ 3. Copies `settings.json` (first install only — preserved on updates)
114
+ 4. Checks that Python, uv, Git, and LaTeX are installed
115
+ 5. Creates `log/` directories for session continuity
116
+
117
+ ## Linux Notes
118
+
119
+ Linux is the most straightforward platform — hooks run natively and paths work out of the box. A few things to check:
120
+
121
+ ### Hook permissions
122
+
123
+ After cloning, make sure hook scripts are executable:
124
+
125
+ ```bash
126
+ chmod +x hooks/*.sh hooks/*.py
127
+ ```
128
+
129
+ The setup script handles this, but if you copy files manually or reset permissions, hooks will silently fail without `+x`.
130
+
131
+ ### Python version
132
+
133
+ Many distros ship an older Python as the system default. Check with `python3 --version`. If it's below 3.11, install a newer version alongside it (the deadsnakes PPA on Ubuntu, or your distro's package for Python 3.12). The system Python is untouched — uv manages its own environments.
134
+
135
+ ### `~/.claude/` location
136
+
137
+ On Linux, `~` resolves to `/home/youruser/`. Claude Code looks for `~/.claude/` there. If you use a non-standard `$HOME`, verify the symlinks point correctly after setup.
138
+
139
+ ## Windows Setup
140
+
141
+ Windows works well with Claude Code but needs a few adjustments:
142
+
143
+ ### Shell hooks
144
+
145
+ The `.sh` hook scripts require a Unix-like shell. Two options:
146
+
147
+ 1. **Git Bash (recommended):** Installed automatically with Git for Windows. Claude Code can use Git Bash to run `.sh` scripts. Make sure Git Bash is in your PATH (the Git installer does this by default).
148
+
149
+ 2. **WSL (Windows Subsystem for Linux):** If you prefer a full Linux environment, [install WSL](https://learn.microsoft.com/en-us/windows/wsl/install) with `wsl --install`. You can then run the Linux setup inside WSL.
150
+
151
+ ### Python command name
152
+
153
+ Windows installs Python as `python` (not `python3`). The hook configuration in `settings.json` uses `python3`. You have two options:
154
+
155
+ **Option A — Create a `python3` alias** (recommended):
156
+ ```powershell
157
+ # Find where python.exe is
158
+ where python
159
+ # Create a copy named python3.exe in the same directory
160
+ Copy-Item (Get-Command python).Source ((Get-Command python).Source -replace 'python\.exe','python3.exe')
161
+ ```
162
+
163
+ **Option B — Edit `settings.json`** to replace `python3` with `python`:
164
+ Open `~/.claude/settings.json` and replace every occurrence of `"python3 "` with `"python "` in the hooks section.
165
+
166
+ ### Path separators
167
+
168
+ Claude Code handles path separators automatically. You don't need to change `/` to `\` in any configuration files.
169
+
170
+ ## Customise Your Context
171
+
172
+ Edit these files with your own details:
173
+
174
+ - `.context/profile.md` — Your name, institution, research areas, supervisors
175
+ - `.context/current-focus.md` — What you're working on right now
176
+ - `.context/projects/_index.md` — Your active research projects
177
+ - `CLAUDE.md` — Conventions and tool preferences
178
+
179
+ ## Configure Settings
180
+
181
+ Edit `.claude/settings.json` to adjust:
182
+ - Allowed/denied commands
183
+ - Hook configuration
184
+ - Model preferences
185
+
186
+ ## Start Using It
187
+
188
+ ```bash
189
+ cd ~/your-research-project
190
+ claude
191
+ ```
192
+
193
+ Claude will automatically load your context, skills, and rules. Try:
194
+
195
+ - "Plan my day" — Daily planning with task queries
196
+ - "Extract actions from my meeting" — Turn transcripts into tasks
197
+ - `/proofread` — Academic proofreading for a LaTeX paper
198
+ - `/latex-autofix` — Compile LaTeX with automatic error fixing
199
+ - `/bib-validate` — Check citation keys against your `.bib` file
200
+ - `/literature` — Search for academic papers and manage bibliography
201
+ - `/session-recap` — End-of-session checklist (update focus, log, sync)
202
+ - `/code-review` — 11-category quality review for R/Python scripts
203
+
204
+ ## Adding a New Research Project
205
+
206
+ 1. Create a directory for your project
207
+ 2. Add a `CLAUDE.md` in the project with project-specific instructions
208
+ 3. Symlink `paper/` to your Overleaf directory (if applicable)
209
+ 4. Add the project to `.context/projects/_index.md`
210
+ 5. Create a paper file in `.context/projects/papers/`
211
+
212
+ ## Adding Your Own Skills
213
+
214
+ Create a new directory in `skills/` with a `SKILL.md` file:
215
+
216
+ ```
217
+ skills/my-custom-skill/
218
+ └── SKILL.md
219
+ ```
220
+
221
+ The `SKILL.md` needs YAML frontmatter with `name`, `description`, and optionally `allowed-tools`. See any existing skill for the format.
222
+
223
+ ## Troubleshooting
224
+
225
+ ### "uv: command not found"
226
+
227
+ uv isn't installed or isn't in your PATH. Install it using the commands in the [uv section](#3-uv-python-package-manager) above, then restart your terminal.
228
+
229
+ ### "python3: command not found" (Windows)
230
+
231
+ Windows uses `python` instead of `python3`. See the [Python command name](#python-command-name) section above.
232
+
233
+ ### Hooks not running
234
+
235
+ 1. Check that `~/.claude/settings.json` exists and contains the `"hooks"` section
236
+ 2. Verify the hook files are executable: `ls -la ~/.claude/hooks/` (macOS/Linux) or check they exist in `%USERPROFILE%\.claude\hooks\` (Windows)
237
+ 3. On Windows, ensure Git Bash is in your PATH for `.sh` hooks
238
+
239
+ ### LaTeX skills fail with "latexmk not found"
240
+
241
+ Install a TeX distribution — see the [Other tools](#4-other-tools) section. After installing, restart your terminal so `latexmk` is in your PATH.
242
+
243
+ ### "Execution policy" error on Windows
244
+
245
+ Run `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned` in PowerShell, then retry the setup script.
package/docs/hooks.md ADDED
@@ -0,0 +1,38 @@
1
+ # Hooks
2
+
3
+ > 8 hook scripts that run automatically at key moments in Claude Code sessions.
4
+
5
+ Hook scripts live in `hooks/` and are configured in `~/.claude/settings.json` under the `"hooks"` key.
6
+
7
+ ## Overview
8
+
9
+ | Hook | Trigger | What it does |
10
+ |------|---------|-------------|
11
+ | `block-destructive-git.sh` | Before Bash | catches dangerous git/shell commands |
12
+ | `context-monitor.py` | After tool use | tracks tool call count as a heuristic for context usage |
13
+ | `postcompact-restore.py` | After compact | restores state after context compression |
14
+ | `precompact-autosave.py` | Before compact | saves state before context compression |
15
+ | `promise-checker.sh` | Session stop | catches "performative compliance": Claude says it remembered/noted/saved |
16
+ | `protect-source-files.sh` | Before edit/write | prompts confirmation for files outside |
17
+ | `resume-context-loader.sh` | Session resume | surfaces current focus and latest session log |
18
+ | `startup-context-loader.sh` | Session start | auto-detects and surfaces project documentation |
19
+
20
+ ## Hook Events
21
+
22
+ | Event | When it fires | Matcher options |
23
+ |-------|---------------|-----------------|
24
+ | `SessionStart` | Session begins | `startup` (fresh), `resume` (continuing), `compact` (after compaction) |
25
+ | `PreToolUse` | Before a tool runs | Tool name(s), e.g. `Bash`, `Edit\|Write` |
26
+ | `PostToolUse` | After a tool runs | Tool name(s), e.g. `Bash\|Task` |
27
+ | `Stop` | Claude stops responding | *(empty = always)* |
28
+ | `PreCompact` | Before context compression | *(empty = always)* |
29
+
30
+ ## Configuration
31
+
32
+ All hooks are configured in `~/.claude/settings.json`. See the `settings.json` file for the full configuration.
33
+
34
+ ## Creating New Hooks
35
+
36
+ 1. Write a shell or Python script in `hooks/`
37
+ 2. Add an entry to `~/.claude/settings.json` under the appropriate event key
38
+ 3. Set the `matcher` to control when it fires
@@ -0,0 +1,82 @@
1
+ # MCP Servers
2
+
3
+ MCP (Model Context Protocol) servers extend Claude with external tools and data sources. This infrastructure uses several MCP servers across Claude Code and Claude Desktop.
4
+
5
+ ## Server Inventory
6
+
7
+ | Server | Claude Code | Claude Desktop | Type | Purpose |
8
+ |--------|:-----------:|:--------------:|------|---------|
9
+ | **bibliography** | `.mcp.json` | `claude_desktop_config.json` | Self-hosted | Multi-source scholarly search (OpenAlex + Scopus + WoS) |
10
+ | **user-papers** | `.mcp.json` | `claude_desktop_config.json` | Self-hosted | Zotero library management (search, PDF, semantic, BibTeX) |
11
+ | **context7** | `.mcp.json` | `claude_desktop_config.json` | npm | Up-to-date library/API documentation lookup |
12
+ | **github** | `~/.claude.json` (user) | `claude_desktop_config.json` | HTTP remote | GitHub repos, PRs, issues, code search |
13
+ | **filesystem** | -- | `claude_desktop_config.json` | npm | Read/write access to project folder (Desktop only) |
14
+ | **skills-server** | -- | `claude_desktop_config.json` | Self-hosted | Exposes skills, agents, and context library to Desktop |
15
+ | **cloudflare** | `.mcp.json` | `claude_desktop_config.json` | npm | Cloudflare Workers, KV, R2, D1 (optional) |
16
+ | **gcloud** | `.mcp.json` | `claude_desktop_config.json` | npm | Google Cloud Platform via gcloud CLI (optional) |
17
+
18
+ **Config locations:**
19
+
20
+ | Config | Scope | Servers |
21
+ |--------|-------|---------|
22
+ | `.mcp.json` | Project-level | bibliography, user-papers, context7, cloudflare, gcloud |
23
+ | `~/.claude.json` (user scope) | Global (all projects) | github |
24
+ | `claude_desktop_config.json` | Claude Desktop | All servers above |
25
+
26
+ ## Custom Servers
27
+
28
+ ### Bibliography MCP Server
29
+
30
+ Multi-source scholarly search across OpenAlex (free, always available), Scopus, and Web of Science.
31
+
32
+ **Setup guide:** [`bibliography-setup.md`](bibliography-setup.md)
33
+
34
+ ### Flonat-Papers MCP Server (Zotero)
35
+
36
+ Zotero library management with 14 tools: search, PDF text extraction, semantic retrieval (ChromaDB), BibTeX export, and write operations.
37
+
38
+ **Location:** `packages/user-papers/`
39
+
40
+ **Skills bundled:** `bib-validate`, `bib-parse` (symlinked to `skills/`)
41
+
42
+ ### Skills Server (Desktop only)
43
+
44
+ Exposes skills, agents, and the context library to Claude Desktop. Claude Code loads these directly from `~/.claude/skills/` and `.claude/agents/`.
45
+
46
+ **Location:** `.mcp-server-desktop/` (or `.mcp-server-biblio/` in the public repo)
47
+
48
+ ## Third-Party Servers
49
+
50
+ ### Context7
51
+
52
+ Fetches up-to-date documentation for any library or framework. Useful because Claude's training data has a knowledge cutoff.
53
+
54
+ - `resolve-library-id` — finds the library's documentation source
55
+ - `query-docs` — fetches relevant documentation pages and code examples
56
+
57
+ **Install:** `npx -y @upstash/context7-mcp` (add to `.mcp.json`)
58
+
59
+ ### GitHub
60
+
61
+ GitHub integration via Copilot MCP endpoint. Provides repos, PRs, issues, commits, and code search.
62
+
63
+ **Type:** HTTP remote at `api.githubcopilot.com/mcp` with OAuth token
64
+
65
+ ### Filesystem (Desktop only)
66
+
67
+ Standard `@modelcontextprotocol/server-filesystem` — gives Claude Desktop read/write access to the project folder. Not needed in Claude Code (which has direct file access).
68
+
69
+ ### Cloudflare (optional)
70
+
71
+ Cloudflare developer platform — Workers, KV, R2, D1, routes, zones, secrets, cron triggers. Only needed if you deploy web applications on Cloudflare.
72
+
73
+ ### gcloud (optional)
74
+
75
+ Google Cloud Platform via the gcloud CLI. Only needed if you use GCP services.
76
+
77
+ ## Adding a New MCP Server
78
+
79
+ 1. **Stdio servers** (self-hosted or npm): add to `.mcp.json` (project-level)
80
+ 2. **HTTP remote servers**: add to `~/.claude.json` with user scope
81
+ 3. **Claude Desktop**: add to `~/Library/Application Support/Claude/claude_desktop_config.json`
82
+ 4. Always configure both clients if the server should be available everywhere
@@ -0,0 +1,109 @@
1
+ <!-- Governed by: skills/shared/project-documentation.md -->
2
+
3
+ # Notion Integration Setup
4
+
5
+ The task management system uses **two Notion databases** to track your work:
6
+
7
+ 1. **Tasks Tracker** — individual tasks with status, priority, due dates, and project links
8
+ 2. **Research Pipeline** — paper-level tracking with stages (Idea → Literature Review → Drafting → Submitted → R&R → Published), target journals, and co-authors
9
+
10
+ Together with the local context library (`.context/`), these create a hybrid system: Notion handles dynamic task data, while local files handle persistent context that Claude reads every session.
11
+
12
+ ## How It Works
13
+
14
+ ```
15
+ You say "plan my day"
16
+
17
+
18
+ Claude reads .context/current-focus.md ← what you're working on
19
+ Claude reads .context/workflows/daily-review.md ← how to help you plan
20
+ Claude queries Notion Tasks Tracker ← overdue/due today/high priority
21
+
22
+
23
+ Claude asks orientation questions ← energy, commitments, yesterday's work
24
+
25
+
26
+ Claude helps you prioritise ← based on your answers + context
27
+
28
+
29
+ Claude updates .context/current-focus.md ← so next session picks up where you left off
30
+ ```
31
+
32
+ ## Available Workflows
33
+
34
+ | You say | What happens |
35
+ |---------|-------------|
36
+ | "Plan my day" | Reads context, queries Notion for tasks, asks questions, creates a plan |
37
+ | "What should I work on?" | Reviews priorities and helps you decide |
38
+ | "Extract actions from my meeting" | Finds transcript, extracts tasks, creates them in Notion |
39
+ | "Weekly review" | Guides reflection: what got done, what didn't, what emerged, next week's Big 3 |
40
+ | "What's overdue?" | Queries Notion and summarises |
41
+ | "Update my research pipeline" | Shows paper status, helps update stages and target journals |
42
+ | "Sync this project" (`/sync-notion`) | Propagates project state: CLAUDE.md → context library → Notion |
43
+
44
+ ## Step 1: Enable the Notion MCP
45
+
46
+ The Notion integration uses **Claude.ai's managed Notion integration** — a built-in MCP server that Claude Code can connect to. No self-hosted server needed.
47
+
48
+ 1. Go to [claude.ai/settings/integrations](https://claude.ai/settings/integrations)
49
+ 2. Connect your Notion workspace
50
+ 3. Grant access to the pages/databases Claude should see
51
+
52
+ Once connected, Claude Code automatically has access to Notion tools (`notion-search`, `notion-fetch`, `notion-create-pages`, `notion-update-page`, etc.).
53
+
54
+ ## Step 2: Create the Databases
55
+
56
+ You need two Notion databases. Create them anywhere in your workspace.
57
+
58
+ **Tasks Tracker** — for individual tasks:
59
+
60
+ | Property | Type | Purpose |
61
+ |----------|------|---------|
62
+ | Task name | Title | Action verb + specific object (e.g., "Draft methods section") |
63
+ | Status | Select | Not started, In progress, Done |
64
+ | Priority | Select | High, Medium, Low |
65
+ | Due date | Date | When it's due |
66
+ | Project | Select | Which research project this belongs to |
67
+ | Source | Select | Meeting, Email, Supervisor request, Self-initiated |
68
+ | Task type | Select | Writing, Reading, Research, Meeting, Admin, Communication |
69
+
70
+ **Research Pipeline** — for paper-level tracking:
71
+
72
+ | Property | Type | Purpose |
73
+ |----------|------|---------|
74
+ | Paper name | Title | Working title of the paper |
75
+ | Stage | Select | Idea, Literature Review, Drafting, Data Collection, Analysis, Submitted, R&R, Published |
76
+ | Target Journal | Rich text | Where you plan to submit |
77
+ | Co-authors | Rich text | Collaborators |
78
+ | Priority | Select | High, Medium, Low |
79
+ | Status | Rich text | Brief status note |
80
+
81
+ ## Step 3: Add Database IDs to CLAUDE.md
82
+
83
+ 1. Open each database in Notion
84
+ 2. Copy the database ID from the URL (the 32-character hex string after your workspace name: `notion.so/workspace/DATABASE_ID_HERE?v=...`)
85
+ 3. Add them to `CLAUDE.md`:
86
+
87
+ ```markdown
88
+ ## Notion Databases
89
+
90
+ | Database | ID |
91
+ |----------|-----|
92
+ | Tasks Tracker | `your-tasks-database-id-here` |
93
+ | Research Pipeline | `your-pipeline-database-id-here` |
94
+ ```
95
+
96
+ Claude reads these IDs from `CLAUDE.md` and uses them to query and update your databases.
97
+
98
+ ## Step 4: Start Using It
99
+
100
+ ```bash
101
+ claude
102
+ > Plan my day
103
+ ```
104
+
105
+ Claude will read your context, query Notion, ask you orientation questions, and help you prioritise.
106
+
107
+ ## Graceful Degradation
108
+
109
+ If the Notion MCP is unavailable (not connected, network issues), skills automatically fall back to local-only mode — they still read `.context/` files and help you plan, they just can't query or update Notion. You'll see a note when this happens.
package/docs/rules.md ADDED
@@ -0,0 +1,33 @@
1
+ # Rules
2
+
3
+ > 9 auto-loaded instruction files that shape Claude's behavior in every session.
4
+
5
+ Rule files live in `.claude/rules/` and are automatically loaded into every Claude Code session.
6
+
7
+ ## Overview
8
+
9
+ | Rule | File | What it does |
10
+ |------|------|-------------|
11
+ | Design Before Results | `design-before-results.md` | Lock the research design before examining point estimates. |
12
+ | Ignore AGENTS.md Files | `ignore-agents-md.md` | Never read, process, or act on files named `AGENTS.md` |
13
+ | Ignore GEMINI.md Files | `ignore-gemini-md.md` | Never read, process, or act on files named `GEMINI.md` |
14
+ | Keep CLAUDE.md Lean | `lean-claude-md.md` | CLAUDE.md is loaded into context every session — every line costs tokens. |
15
+ | Record Learnings with [LEARN] Tags | `learn-tags.md` | Record Learnings with [LEARN] Tags |
16
+ | Overleaf Separation — No Code or Data in Paper Directories | `overleaf-separation.md` | The `paper/` directory (Overleaf symlink inside `paper-{venue}/paper/`) is for LaTeX source files ONLY. |
17
+ | Plan Before Implementing | `plan-first.md` | Plan Before Implementing |
18
+ | Read Documentation Before Searching | `read-docs-first.md` | Never explore when documentation already answers your question. |
19
+ | Scope Discipline | `scope-discipline.md` | Only make changes the user explicitly requested. |
20
+
21
+ ## How Rules Work
22
+
23
+ - All `.md` files in `.claude/rules/` are auto-loaded as system instructions
24
+ - They apply before any user message is processed
25
+ - Rules are global via symlink: `~/.claude/rules/` points to this repo's `.claude/rules/`
26
+
27
+ ## Creating New Rules
28
+
29
+ 1. Create a `.md` file in `.claude/rules/`
30
+ 2. Write clear, directive instructions (imperative mood)
31
+ 3. Include "When This Applies" and "When to Skip" sections
32
+
33
+ Rules should be short and focused — one concern per file.