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,303 @@
1
+ # Scripts & CLI Tools
2
+
3
+ Quick reference for command-line tools in your task management system.
4
+
5
+ ## Overview
6
+
7
+ | Command | Purpose |
8
+ |---------|---------|
9
+ | `task "..."` | Create a task |
10
+ | `tasks` | List tasks |
11
+ | `done "..."` | Mark task done |
12
+ | `focus "..."` | Update current focus |
13
+ | `papers` | Show research pipeline |
14
+ | `inbox` | Tasks needing dates |
15
+ | `week` | Weekly summary |
16
+ | `conf` | Conference deadlines |
17
+ | `query "..."` | Search files + Notion |
18
+
19
+ ## Setup (one time)
20
+
21
+ ### Option A: Using .env file (recommended)
22
+
23
+ 1. **Get a Notion token:** https://www.notion.so/my-integrations
24
+ 2. **Add token to `.env`** (already created):
25
+ ```bash
26
+ export NOTION_TOKEN="your-token-here"
27
+ ```
28
+ 3. **Run scripts with uv:**
29
+ ```bash
30
+ cd "Task Management"
31
+ uv run python .scripts/tasks
32
+ ```
33
+
34
+ ### Option B: Add to PATH
35
+
36
+ 1. **Add to `~/.zshrc`:**
37
+ ```bash
38
+ export PATH="$PATH:$HOME/path/to/Task Management/.scripts"
39
+ source "$HOME/path/to/Task Management/.env"
40
+ ```
41
+ 2. **Reload:** `source ~/.zshrc`
42
+
43
+ ### For both options
44
+
45
+ **Share databases** with your integration in Notion (Tasks Tracker + Research Pipeline)
46
+
47
+ ---
48
+
49
+ ## task — Create Tasks
50
+
51
+ Creates tasks with **Inbox** status by default (GTD-style capture).
52
+
53
+ ```bash
54
+ task "Review paper feedback" # basic (goes to Inbox)
55
+ task "Email supervisor" -p "Paper Revision" # with project
56
+ task "Submit paper" --priority high # with priority
57
+ task "Read Smith 2024" -d friday # due Friday
58
+ task "Follow up" -s "Meeting" # from meeting
59
+ task "Exercise" -a personal # with area
60
+ task --list-projects # show projects
61
+ ```
62
+
63
+ | Flag | Description |
64
+ |------|-------------|
65
+ | `-p, --project` | Project name |
66
+ | `-a, --area` | Area: research, teaching, career, personal, health, learning |
67
+ | `--priority` | high, medium, low |
68
+ | `-d, --due` | Due date (today, tomorrow, friday, 2024-03-15) |
69
+ | `-s, --source` | Meeting, Email, Supervisor request, etc. |
70
+ | `--desc` | Additional description |
71
+
72
+ ---
73
+
74
+ ## tasks — Query Tasks
75
+
76
+ ```bash
77
+ tasks # all active tasks
78
+ tasks --overdue # overdue only
79
+ tasks --today # due today
80
+ tasks -p "Paper Revision" # filter by project
81
+ tasks --priority high # filter by priority
82
+ tasks --all # include completed
83
+ ```
84
+
85
+ | Flag | Description |
86
+ |------|-------------|
87
+ | `--overdue` | Show overdue tasks |
88
+ | `--today` | Show tasks due today |
89
+ | `-p, --project` | Filter by project |
90
+ | `--priority` | Filter by priority |
91
+ | `--status` | Filter by status |
92
+ | `--all` | Include completed tasks |
93
+
94
+ ---
95
+
96
+ ## done — Complete Tasks
97
+
98
+ ```bash
99
+ done "paper feedback" # mark matching task as done
100
+ done --list # show tasks to choose from
101
+ ```
102
+
103
+ If multiple tasks match, you'll be prompted to choose.
104
+
105
+ ---
106
+
107
+ ## focus — Update Current Focus
108
+
109
+ ```bash
110
+ focus "Working on paper section 4" # what you're working on
111
+ focus --left-off "Finished draft" # where you left off
112
+ focus --next "Review with supervisor" # add next step
113
+ focus --question "Check methodology?" # add open question
114
+ focus --show # show current focus
115
+ focus --clear # start fresh
116
+ ```
117
+
118
+ Updates `.context/current-focus.md` directly.
119
+
120
+ ---
121
+
122
+ ## papers — Research Pipeline
123
+
124
+ ```bash
125
+ papers # show all papers
126
+ papers --active # show papers in progress
127
+ papers --update "Paper A" "R&R" # update paper stage
128
+ papers --stages # list available stages
129
+ ```
130
+
131
+ **Stages:** Idea > Literature Review > Drafting > Internal Review > Submitted > Under Review > R&R > Revising > Accepted > Published
132
+
133
+ ---
134
+
135
+ ## inbox — Tasks Without Dates
136
+
137
+ ```bash
138
+ inbox # show inbox tasks
139
+ inbox --assign # interactively assign due dates
140
+ ```
141
+
142
+ **Shortcuts in assign mode:**
143
+ - `t` = today
144
+ - `tm` = tomorrow
145
+ - `w` = +1 week
146
+ - `m` = +1 month
147
+ - `fri` = next Friday
148
+ - `s` = skip
149
+ - `q` = quit
150
+
151
+ ---
152
+
153
+ ## week — Weekly Summary
154
+
155
+ ```bash
156
+ week # this week's summary
157
+ week --last # last week's summary
158
+ ```
159
+
160
+ Shows: completed, due this week, overdue, in progress.
161
+
162
+ ---
163
+
164
+ ## conf — Conference Tracking
165
+
166
+ ```bash
167
+ conf # show upcoming deadlines
168
+ conf --search # open Google CFP search links in browser
169
+ conf --add # interactively add a conference
170
+ conf --remind # weekly reminder checklist
171
+ conf --deadlines # show all deadlines
172
+ conf --all # include past conferences
173
+ conf --topics # list available topics
174
+ ```
175
+
176
+ **Weekly routine:**
177
+ 1. Run `conf --remind` on Mondays
178
+ 2. Run `conf --search` to find new conferences
179
+ 3. Add with `conf --add`
180
+
181
+ ---
182
+
183
+ ## query — Search Everything
184
+
185
+ ```bash
186
+ query "game theory" # search files + Notion
187
+ query --files "topic" # search only context files
188
+ query --notion "keyword" # search only Notion
189
+ query --papers "collaboration" # search Research Pipeline
190
+ query --tasks "meeting" # search Tasks Tracker
191
+ query --conferences "deadline" # search Conferences
192
+ ```
193
+
194
+ | Flag | Description |
195
+ |------|-------------|
196
+ | `--files` | Search only local context files |
197
+ | `--notion` | Search only Notion |
198
+ | `--papers` | Search Research Pipeline database |
199
+ | `--tasks` | Search Tasks Tracker database |
200
+ | `--conferences` | Search Conferences database |
201
+
202
+ ---
203
+
204
+ ## How It Works
205
+
206
+ All scripts are Python CLI tools in `.scripts/` that talk to the Notion API:
207
+
208
+ | File | Type | Purpose |
209
+ |------|------|---------|
210
+ | `task` | CLI tool | Create tasks |
211
+ | `tasks` | CLI tool | Query tasks |
212
+ | `done` | CLI tool | Complete tasks |
213
+ | `focus` | CLI tool | Update current focus |
214
+ | `papers` | CLI tool | Research pipeline |
215
+ | `inbox` | CLI tool | Inbox management |
216
+ | `week` | CLI tool | Weekly summary |
217
+ | `conf` | CLI tool | Conference tracking |
218
+ | `query` | CLI tool | Cross-system search |
219
+ | `config.py` | Helper | Database IDs, project lists, constants |
220
+ | `notion_helpers.py` | Helper | Notion API utilities, project inference |
221
+ | `daily_digest.py` | Helper | Daily digest generation |
222
+ | `extract_meeting_actions.py` | Helper | Meeting transcript action extraction |
223
+ | `openalex/` | Library | OpenAlex API client for scholarly search |
224
+
225
+ ## Configuration
226
+
227
+ ### `config.py`
228
+
229
+ The central configuration file contains:
230
+
231
+ - **Database IDs** — Notion database and page IDs for your workspace
232
+ - **Projects list** — Project names for task categorisation (keep in sync with `.context/projects/_index.md`)
233
+ - **Universities list** — Institutions for task tagging
234
+ - **Source types, priorities, statuses** — Dropdown values matching your Notion schema
235
+
236
+ ### `notion_helpers.py`
237
+
238
+ Shared utilities including:
239
+
240
+ - **Task formatting** — Converts CLI arguments to Notion API properties
241
+ - **Deadline parsing** — Natural language dates ("friday", "end of month")
242
+ - **Project inference** — Keyword and people-based project matching
243
+ - **Priority inference** — Context-aware priority assignment
244
+ - **Action extraction** — Regex-based meeting transcript parsing
245
+
246
+ ## Extending
247
+
248
+ ### Adding a new CLI tool
249
+
250
+ 1. Create a Python file in `.scripts/` (no `.py` extension for CLI commands)
251
+ 2. Add a shebang: `#!/usr/bin/env python3`
252
+ 3. Import from `config.py` and `notion_helpers.py`
253
+ 4. Use `argparse` for flags
254
+ 5. Make executable: `chmod +x .scripts/your-tool`
255
+
256
+ ### Customising for your workspace
257
+
258
+ 1. Update database IDs in `config.py` to match your Notion workspace
259
+ 2. Update the `PROJECTS` list to match your project names
260
+ 3. Update `project_keywords` and `people_projects` in `notion_helpers.py` for auto-categorisation
261
+ 4. Update `SEARCH_KEYWORDS` and `TOPICS` in `conf` for conference tracking
262
+
263
+ ## Date Formats
264
+
265
+ | Input | Result |
266
+ |-------|--------|
267
+ | `today` | Today's date |
268
+ | `tomorrow` | Tomorrow |
269
+ | `monday` | Next Monday |
270
+ | `friday` | Next Friday |
271
+ | `2024-03-15` | Specific date |
272
+ | `15/03/2024` | UK format |
273
+
274
+ ## Areas of Responsibility
275
+
276
+ | Area | Description |
277
+ |------|-------------|
278
+ | Research | Papers, conferences, supervision |
279
+ | Teaching | Course prep, marking |
280
+ | Career | Applications, networking |
281
+ | Personal | Admin, finance, relationships |
282
+ | Health | Medical, fitness, wellbeing |
283
+ | Learning | Courses, certifications |
284
+
285
+ ## Troubleshooting
286
+
287
+ ### "NOTION_TOKEN not set"
288
+ ```bash
289
+ export NOTION_TOKEN="your-token-here"
290
+ ```
291
+
292
+ ### "command not found"
293
+ ```bash
294
+ export PATH="$PATH:$HOME/path/to/Task Management/.scripts"
295
+ ```
296
+
297
+ ### "Error 401/404"
298
+ Make sure your Notion integration has access to:
299
+ - Tasks Tracker database
300
+ - Research Pipeline database
301
+ - Conferences database
302
+
303
+ (In Notion: ... > Connections > Add integration)
package/docs/skills.md ADDED
@@ -0,0 +1,70 @@
1
+ # Skills
2
+
3
+ > 38 reusable workflow definitions available across all projects.
4
+
5
+ Skills are structured instruction sets (`SKILL.md` files) that turn Claude into a specialised tool for specific tasks — from compiling LaTeX to bootstrapping research projects.
6
+
7
+ ## Overview
8
+
9
+ | Skill | Description |
10
+ |-------|-------------|
11
+ | `beamer-deck` | Use when you need to create an academic Beamer presentation with original theme and multi-agent review |
12
+ | `bib-validate` | Cross-reference \\cite{} keys against .bib files or embedded \\bibitem entries. Finds missing, unused, and typo'd citation keys. Deep verification mode spawns parallel agents for DOI/metadata validation at scale. Fix mode auto-adds missing entries to Zotero |
13
+ | `code-archaeology` | Use when you need to review and understand old code, data, or analysis files |
14
+ | `code-review` | Use when you need a quality review of R or Python research scripts |
15
+ | `consolidate-memory` | Use when you need to prune duplicates and merge overlapping entries in MEMORY.md files |
16
+ | `context-status` | Use when you need to check current context status and session health |
17
+ | `creation-guard` | Use when you need a pre-flight duplicate check before creating new skills or agents |
18
+ | `devils-advocate` | Use when you need to challenge research assumptions or stress-test arguments |
19
+ | `init-project` | Bootstrap a new research project. Interview for details, scaffold directory structure, create Overleaf symlink, initialise git, and create project context files |
20
+ | `init-project-course` | Use when you need to bootstrap a university course or module folder |
21
+ | `init-project-light` | Use when you need to bootstrap a lightweight project with minimal structure |
22
+ | `init-project-research` | Use when you need to bootstrap a full research project with directory scaffold and Overleaf symlink |
23
+ | `insights-deck` | Use when you need a timestamped Claude Code insights report and Beamer presentation |
24
+ | `interview-me` | Use when you need to conduct a structured interview to extract knowledge or preferences |
25
+ | `latex` | Use when you need to compile a LaTeX document or manage LaTeX projects |
26
+ | `latex-autofix` | Use when you need to compile LaTeX with autonomous error resolution and citation audit |
27
+ | `latex-health-check` | Use when you need to compile all LaTeX projects and check cross-project consistency |
28
+ | `learn` | Extract reusable knowledge from the current session into a persistent skill.\nUse when you discover something non-obvious, create a workaround, or develop\na multi-step workflow that future sessions would benefit from |
29
+ | `lessons-learned` | Use when you need a structured post-mortem after incidents, mistakes, or stuck sessions |
30
+ | `literature` | Use when you need academic literature discovery, synthesis, or bibliography management |
31
+ | `multi-perspective` | Use when you need to explore a research question from multiple independent perspectives |
32
+ | `pipeline-manifest` | Use when you need to map scripts to their inputs, outputs, and paper figures/tables |
33
+ | `pre-submission-report` | Use when you need all quality checks run before submission, producing a single dated report |
34
+ | `process-reviews` | Use when you need to process referee comments from a reviews PDF into tracking files |
35
+ | `project-deck` | Use when you need to create a presentation deck to communicate project status |
36
+ | `project-safety` | Use when you need to set up safety rules and folder structures for a research project |
37
+ | `proofread` | Use when you need academic proofreading of a LaTeX paper (11 check categories) |
38
+ | `python-env` | Use when you need Python environment management with uv (install, create venv, manage deps) |
39
+ | `quarto-deck` | Use when you need to generate a Reveal.js HTML presentation from Markdown |
40
+ | `save-context` | Use when you need to save information from the current conversation to the context library |
41
+ | `session-log` | Use when you need to create a timestamped progress log for a research session |
42
+ | `split-pdf` | Use when you need to download, split, and deeply read an academic PDF |
43
+ | `sync-notion` | Use when you need to sync the current project's state to the context library and Notion |
44
+ | `system-audit` | Use when you need to run parallel audits across skills, hooks, agents, rules, and conventions |
45
+ | `task-management` | Use when you need help with daily planning, weekly reviews, meeting actions, or vault task queries |
46
+ | `update-focus` | Use when you need to update current-focus.md with a structured session summary |
47
+ | `update-project-doc` | Use when you need to update a project's own CLAUDE.md, README.md, or docs/ to reflect current state |
48
+ | `validate-bib` | Cross-reference \\cite{} keys against .bib files or embedded \\bibitem entries. Finds missing, unused, and typo'd citation keys. Deep verification mode spawns parallel agents for DOI/metadata validation at scale. Read-only in standard mode |
49
+
50
+ ## Using Skills
51
+
52
+ | Method | Example |
53
+ |--------|---------|
54
+ | Slash command | `/latex-autofix` |
55
+ | Natural language | "Compile my paper" or "Proofread this" |
56
+
57
+ ## Skill Structure
58
+
59
+ Each skill is a directory in `skills/` containing a `SKILL.md` file with:
60
+
61
+ 1. **YAML frontmatter** — name, description, and allowed tools
62
+ 2. **Markdown body** — structured instructions Claude follows
63
+
64
+ ## Creating New Skills
65
+
66
+ 1. Create a directory: `skills/<skill-name>/`
67
+ 2. Add a `SKILL.md` with YAML frontmatter and markdown instructions
68
+ 3. The skill is immediately available via `/skill-name`
69
+
70
+ See any existing skill for the format.
package/docs/system.md ADDED
@@ -0,0 +1,159 @@
1
+ # System Architecture
2
+
3
+ > How the components fit together.
4
+
5
+ ## Directory Structure
6
+
7
+ ```
8
+ claude-research/
9
+ ├── CLAUDE.md # Main instruction file
10
+ ├── README.md # Setup guide
11
+ ├── MEMORY.md # Accumulated knowledge
12
+ ├── .gitignore
13
+
14
+ ├── .claude/
15
+ │ ├── agents/ # 6 specialised review agents
16
+ │ │ ├── referee2-reviewer.md
17
+ │ │ ├── peer-reviewer.md
18
+ │ │ ├── proposal-reviewer.md
19
+ │ │ ├── paper-critic.md
20
+ │ │ ├── domain-reviewer.md
21
+ │ │ └── fixer.md
22
+ │ ├── rules/ # 9 auto-loaded policy rules
23
+ │ │ ├── plan-first.md
24
+ │ │ ├── scope-discipline.md
25
+ │ │ ├── learn-tags.md
26
+ │ │ ├── read-docs-first.md
27
+ │ │ ├── lean-claude-md.md
28
+ │ │ ├── overleaf-separation.md
29
+ │ │ ├── ignore-agents-md.md
30
+ │ │ ├── ignore-gemini-md.md
31
+ │ │ └── design-before-results.md
32
+ │ └── settings.json # Permissions, hooks, model config
33
+
34
+ ├── skills/ # 30 slash commands
35
+ │ ├── shared/ # Shared utilities
36
+ │ │ ├── palettes.md
37
+ │ │ ├── quality-scoring.md
38
+ │ │ └── rhetoric-principles.md
39
+ │ ├── proofread/
40
+ │ ├── latex-autofix/
41
+ │ ├── literature/
42
+ │ └── ...
43
+
44
+ ├── hooks/ # 8 automated guardrails
45
+ │ ├── block-destructive-git.sh
46
+ │ ├── context-monitor.py
47
+ │ ├── postcompact-restore.py
48
+ │ ├── precompact-autosave.py
49
+ │ ├── promise-checker.sh
50
+ │ ├── protect-source-files.sh
51
+ │ ├── resume-context-loader.sh
52
+ │ └── startup-context-loader.sh
53
+
54
+ ├── .context/ # AI context library
55
+ │ ├── profile.md # Your identity and background
56
+ │ ├── current-focus.md # What you're working on NOW
57
+ │ ├── projects/
58
+ │ │ ├── _index.md # All projects overview
59
+ │ │ └── papers/ # Individual paper metadata
60
+ │ ├── preferences/
61
+ │ │ ├── priorities.md # Priority framework
62
+ │ │ └── task-naming.md # Task naming conventions
63
+ │ ├── workflows/ # Process guides
64
+ │ │ ├── daily-review.md
65
+ │ │ ├── weekly-review.md
66
+ │ │ ├── meeting-actions.md
67
+ │ │ └── replication-protocol.md
68
+ │ └── resources/ # Reference data
69
+ │ ├── journal-rankings.md
70
+ │ └── conference-rankings.md
71
+
72
+ ├── .mcp-server-openalex/ # OpenAlex scholarly search
73
+ │ ├── server.py
74
+ │ ├── formatters.py
75
+ │ ├── pyproject.toml
76
+ │ └── uv.lock
77
+
78
+ ├── docs/ # Documentation
79
+ │ ├── system.md # This file
80
+ │ ├── skills.md
81
+ │ ├── agents.md
82
+ │ ├── hooks.md
83
+ │ └── rules.md
84
+
85
+ ├── log/ # Session logs
86
+ │ ├── .gitkeep
87
+ │ └── plans/ # Saved plans
88
+ │ └── .gitkeep
89
+
90
+ └── scripts/
91
+ └── setup.sh # Initial setup script
92
+ ```
93
+
94
+ ## Symlink Architecture
95
+
96
+ The `setup.sh` script creates four symlinks in `~/.claude/`:
97
+
98
+ ```
99
+ ~/.claude/skills/ → <repo>/skills/
100
+ ~/.claude/agents/ → <repo>/.claude/agents/
101
+ ~/.claude/rules/ → <repo>/.claude/rules/
102
+ ~/.claude/hooks/ → <repo>/hooks/
103
+ ```
104
+
105
+ This makes all components globally available from any project directory.
106
+
107
+ ## How Components Interact
108
+
109
+ ```
110
+ Session Start
111
+
112
+ ├── startup-context-loader.sh → Reads .context/ files
113
+ │ Outputs to Claude as additionalContext
114
+
115
+ ├── Rules loaded → All 9 rules active
116
+
117
+ └── Claude ready
118
+
119
+ ├── User: "/proofread" → Skill invoked (same session)
120
+
121
+ ├── User: "Review paper" → Agent launched (separate context via Task tool)
122
+
123
+ ├── Claude: "git push -f" → block-destructive-git.sh BLOCKS
124
+
125
+ ├── Claude uses Bash → context-monitor.py tracks usage
126
+
127
+ ├── Context compression → precompact-autosave.py saves state
128
+ │ postcompact-restore.py restores state
129
+
130
+ └── Session ends → promise-checker.sh verifies claims
131
+ ```
132
+
133
+ ## Configuration
134
+
135
+ All configuration lives in `~/.claude/settings.json`:
136
+
137
+ - **`permissions.allow`**: Commands Claude can run without prompting
138
+ - **`permissions.deny`**: Commands that are always blocked (bare python/pip)
139
+ - **`hooks`**: Which scripts run at which events
140
+ - **`model`**: Default model preference
141
+
142
+ ## Extending the System
143
+
144
+ ### Adding a new skill
145
+ 1. Create `skills/my-skill/SKILL.md`
146
+ 2. Available immediately as `/my-skill`
147
+
148
+ ### Adding a new agent
149
+ 1. Create `.claude/agents/my-agent.md`
150
+ 2. Available immediately via Task tool
151
+
152
+ ### Adding a new hook
153
+ 1. Create script in `hooks/`
154
+ 2. Make executable: `chmod +x hooks/my-hook.sh`
155
+ 3. Add to `~/.claude/settings.json`
156
+
157
+ ### Adding a new rule
158
+ 1. Create `.claude/rules/my-rule.md`
159
+ 2. Auto-loaded in every session
@@ -0,0 +1,66 @@
1
+ #!/bin/bash
2
+ # Skip on non-Mac environments (cloud, mobile)
3
+ source "$(dirname "$0")/resolve-task-mgmt.sh" || exit 0
4
+ # block-destructive-git.sh
5
+ # PreToolUse hook for Bash — catches dangerous git/shell commands
6
+ # and surfaces a permission prompt. Soft block via permissionDecision: "ask".
7
+
8
+ INPUT=$(cat)
9
+
10
+ COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
11
+
12
+ # No command — allow
13
+ if [ -z "$COMMAND" ]; then
14
+ exit 0
15
+ fi
16
+
17
+ REASON=""
18
+
19
+ # Check destructive patterns
20
+ if echo "$COMMAND" | grep -qE 'git\s+reset\s+--hard'; then
21
+ REASON="git reset --hard will discard all uncommitted changes"
22
+ fi
23
+
24
+ if echo "$COMMAND" | grep -qE 'git\s+push\s+(-f|--force)(\s|$)' && \
25
+ ! echo "$COMMAND" | grep -q '\-\-force-with-lease'; then
26
+ REASON="git push --force can overwrite remote history (use --force-with-lease instead?)"
27
+ fi
28
+
29
+ if echo "$COMMAND" | grep -qE 'git\s+clean\s+-[a-zA-Z]*f' && \
30
+ ! echo "$COMMAND" | grep -qE 'git\s+clean\s+-[a-zA-Z]*n'; then
31
+ REASON="git clean -f will permanently delete untracked files"
32
+ fi
33
+
34
+ if echo "$COMMAND" | grep -qE 'git\s+checkout\s+\.\s*$'; then
35
+ REASON="git checkout . will discard all unstaged changes"
36
+ fi
37
+
38
+ if echo "$COMMAND" | grep -qE 'git\s+restore\s+\.\s*$'; then
39
+ REASON="git restore . will discard all unstaged changes"
40
+ fi
41
+
42
+ if echo "$COMMAND" | grep -qE 'git\s+branch\s+-D\s'; then
43
+ REASON="git branch -D force-deletes a branch (use -d for safe delete)"
44
+ fi
45
+
46
+ if echo "$COMMAND" | grep -qE 'rm\s+-[a-zA-Z]*r[a-zA-Z]*f|rm\s+-[a-zA-Z]*f[a-zA-Z]*r'; then
47
+ REASON="rm -rf is a destructive operation"
48
+ fi
49
+
50
+ # If no dangerous pattern matched, allow silently
51
+ if [ -z "$REASON" ]; then
52
+ exit 0
53
+ fi
54
+
55
+ # Dangerous pattern found — ask for confirmation
56
+ cat <<EOF
57
+ {
58
+ "hookSpecificOutput": {
59
+ "hookEventName": "PreToolUse",
60
+ "permissionDecision": "ask",
61
+ "permissionDecisionReason": "$REASON"
62
+ }
63
+ }
64
+ EOF
65
+
66
+ exit 0