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,17 @@
1
+ # Rule: Ignore GEMINI.md Files
2
+
3
+ ## Policy
4
+
5
+ **Never read, process, or act on files named `GEMINI.md`**, regardless of where they appear in the file tree. These files are generated by external agents (Google Gemini) and are not part of Claude's context.
6
+
7
+ ## Applies To
8
+
9
+ - Any file named exactly `GEMINI.md` in any directory
10
+ - Both direct reads and indirect inclusion (e.g., when scanning a folder's documentation)
11
+
12
+ ## What To Do
13
+
14
+ - Skip `GEMINI.md` when reading project documentation
15
+ - Do not include its contents in summaries or context gathering
16
+ - Do not suggest edits to it
17
+ - If the user explicitly asks you to read one, remind them of this rule and confirm he wants to override it
@@ -0,0 +1,45 @@
1
+ # Rule: Keep CLAUDE.md Lean
2
+
3
+ ## Principle
4
+
5
+ **CLAUDE.md is loaded into context every session — every line costs tokens.** It should contain only instructions Claude needs on every entry. Everything else belongs in dedicated files that Claude reads on demand.
6
+
7
+ ## What Belongs in CLAUDE.md
8
+
9
+ - Safety rules and file-protection policies
10
+ - Folder structure (compact tree)
11
+ - Conventions (compilation, tooling, citation format)
12
+ - Symlink paths and setup commands
13
+ - Session continuity pointers (`.context/`, `log/`)
14
+ - One-line summaries of reference material with relative links
15
+
16
+ ## What Does NOT Belong in CLAUDE.md
17
+
18
+ - Full assessment/submission guidelines → `docs/`
19
+ - Detailed literature notes → `docs/literature-review/`
20
+ - Action plans or timelines → standalone `.md` at project root or `docs/`
21
+ - Long reference lists (>10 entries) → `docs/` or `.bib` files
22
+ - Ethics materials, reviewer feedback → `docs/`
23
+ - Anything that duplicates content already in another project file
24
+
25
+ ## The Pointer Pattern
26
+
27
+ When reference material exists elsewhere, use a one-line summary + link:
28
+
29
+ ```markdown
30
+ ## Assessment Criteria
31
+
32
+ 60 CATS, max 15,000 words, submission early August. Must be publication-ready.
33
+
34
+ Full guidelines: [`docs/portfolio-guidelines.md`](docs/portfolio-guidelines.md)
35
+ ```
36
+
37
+ ## Thresholds
38
+
39
+ - **CLAUDE.md > 200 lines:** Review for extractable content.
40
+ - **Any section > 15 lines of reference material** (not safety rules or conventions): Extract to `docs/` and replace with a pointer.
41
+ - **Duplicated content:** If the same information exists in another file, keep only the pointer in CLAUDE.md.
42
+
43
+ ## Applies To
44
+
45
+ All projects — research, code, infrastructure, personal. The principle is universal: CLAUDE.md is an instruction file, not a knowledge base.
@@ -0,0 +1,99 @@
1
+ # Rule: Record Learnings with [LEARN] Tags
2
+
3
+ ## Format
4
+
5
+ ```
6
+ [LEARN:category] Incorrect → Correct
7
+ ```
8
+
9
+ ## Categories
10
+
11
+ | Category | What to record |
12
+ |----------|---------------|
13
+ | `notation` | Math/LaTeX notation conventions (e.g., `$x_i$` vs `$x_{i}$`) |
14
+ | `citation` | Bibliography and citation issues (wrong keys, format) |
15
+ | `code` | Programming patterns, bugs, language-specific gotchas |
16
+ | `method` | Econometric/statistical method corrections |
17
+ | `domain` | Domain knowledge corrections (institutional details, definitions) |
18
+
19
+ ## When to Record
20
+
21
+ - **Immediately** when a correction is discovered — do not batch
22
+ - When the user corrects something during a session
23
+ - When a compilation error reveals a recurring mistake
24
+ - When a reviewer/supervisor flags an issue
25
+
26
+ ## Where to Write
27
+
28
+ Append to `MEMORY.md` in the project root, under the matching category section.
29
+
30
+ If `MEMORY.md` does not exist, create it using the Knowledge Base template below. To choose the right variant: check the project's `CLAUDE.md` for keywords like "course", "workshop", or "teaching" → use the **teaching** template. Otherwise → use the **research** template (default).
31
+
32
+ ## Tier Routing
33
+
34
+ Learnings are routed to one of two files based on portability:
35
+
36
+ | Tier | File | Committed? | Examples |
37
+ |------|------|-----------|----------|
38
+ | Generic | `MEMORY.md` (project root) | Yes | Notation conventions, method corrections, citation fixes, design decisions |
39
+ | Machine-specific | `.claude/state/personal-memory.md` | No (gitignored) | Local path workarounds, tool version quirks, machine-specific build flags |
40
+
41
+ **Decision rule:** "Would this help a collaborator on a different machine?" Yes → Generic. No → Machine-specific. **Default: Generic** (~95% of entries).
42
+
43
+ Machine-specific examples:
44
+ - `[LEARN:code] On this Mac, latexmk needs /Library/TeX path explicitly`
45
+ - `[LEARN:code] uv 0.5.x on ARM has slow lock resolution — use --frozen`
46
+ - `[LEARN:code] Zotero DB at ~/.local/share/user-papers/ not default path`
47
+
48
+ If `.claude/state/personal-memory.md` does not exist, create it on first machine-specific entry (see `init-project-research` templates for the seed format). Create the directory too: `mkdir -p .claude/state`.
49
+
50
+ ## Examples
51
+
52
+ ```
53
+ [LEARN:notation] In this paper, treatment is $D_i$ not $T_i$
54
+ [LEARN:citation] Sant'Anna & Zhao (2020) key is santanna2020doubly not santanna2020
55
+ [LEARN:code] R: use <- for assignment, not = (the user's preference)
56
+ [LEARN:method] TWFE is biased with staggered treatment — use CS or Sun-Abraham
57
+ [LEARN:domain] UK universities use "marks" not "grades" for assessment scores
58
+ ```
59
+
60
+ ## Knowledge Base in MEMORY.md
61
+
62
+ Beyond one-liner `[LEARN]` tags, MEMORY.md should build structured knowledge tables. These are faster to scan than narrative and immediately actionable in new sessions.
63
+
64
+ ### Research Project Template
65
+
66
+ When `MEMORY.md` is created for a research project, seed it with these sections:
67
+
68
+ | Section | Columns | When to populate |
69
+ |---------|---------|-----------------|
70
+ | **Notation Registry** | Variable / Convention / Anti-pattern | When notation is first established or corrected |
71
+ | **Estimand Registry** | What we estimate / Identification / Key assumptions | When research design is discussed |
72
+ | **Key Decisions** | Decision / Rationale / Date | When a methodological choice is made |
73
+ | **Citations** | One-liner corrections | On `[LEARN:citation]` |
74
+ | **Anti-Patterns** | What went wrong / Correction | On `[LEARN:method]` or `[LEARN:domain]` |
75
+ | **Code Pitfalls** | Bug / Impact / Fix | On `[LEARN:code]` |
76
+
77
+ ### Teaching Project Template
78
+
79
+ For teaching or workshop projects, use these sections instead:
80
+
81
+ | Section | Columns |
82
+ |---------|---------|
83
+ | **Lecture Progression** | Topic / Core question / Key method |
84
+ | **Student Misconceptions** | Misconception / Correction / How to address |
85
+ | **Empirical Applications** | Paper / Dataset / Purpose |
86
+
87
+ ### How [LEARN] Tags Feed In
88
+
89
+ When recording a `[LEARN]` tag, also add the correction to the appropriate table:
90
+ - `[LEARN:notation]` → Notation Registry
91
+ - `[LEARN:code]` → Code Pitfalls
92
+ - `[LEARN:method]` or `[LEARN:domain]` → Anti-Patterns or Key Decisions
93
+ - `[LEARN:citation]` → Citations section (one-liners)
94
+
95
+ ## Important
96
+
97
+ - Keep entries concise — one line per learning
98
+ - Include the correction direction (wrong → right)
99
+ - These accumulate over time and inform future sessions
@@ -0,0 +1,67 @@
1
+ # Rule: Overleaf Separation — No Code or Data in Paper Directories
2
+
3
+ ## Principle
4
+
5
+ **The `paper/` directory (Overleaf symlink inside `paper-{venue}/paper/`) is for LaTeX source files ONLY.** All code, data, and computational artifacts belong in the project directory itself — never inside `paper/`.
6
+
7
+ ## What Belongs in `paper/`
8
+
9
+ - LaTeX source files: `.tex`, `.sty`, `.cls`, `.bst`, `.bbl`
10
+ - Bibliography files: `.bib`
11
+ - Figures for the paper: `.pdf`, `.png`, `.eps`, `.jpg`, `.svg`, `.tikz`
12
+ - LaTeX config: `.latexmkrc`, `latexmkrc`
13
+ - Build output directory: `out/`
14
+
15
+ ## What NEVER Belongs in `paper/`
16
+
17
+ - **Code files:** `.py`, `.R`, `.jl`, `.m`, `.sh`, `.ipynb`, `.do`
18
+ - **Data files:** `.csv`, `.xlsx`, `.json`, `.dta`, `.parquet`, `.rds`, `.pkl`, `.feather`, `.h5`
19
+ - **Computational output:** raw results, logs, intermediate artifacts
20
+ - **Scripts that generate figures** — the script goes in `code/` or `src/`, only the exported figure goes in `paper/`
21
+ - **Notebooks** — analysis notebooks belong in `code/` or `experiments/`, never in `paper/`
22
+ - **Virtual environments, package files:** `.venv/`, `requirements.txt`, `pyproject.toml`, `renv/`
23
+
24
+ ## Where Code and Data Go Instead
25
+
26
+ | Content | Location |
27
+ |---------|----------|
28
+ | Python/R scripts | `code/python/`, `code/R/`, or `src/` |
29
+ | Data (raw) | `data/raw/` |
30
+ | Data (processed) | `data/processed/` |
31
+ | Generated figures | Export to `paper/figures/` or `paper/` directly (the *image file* only) |
32
+ | Generated tables | Export `.tex` table files to `paper/` (the *table file* only) |
33
+ | Experiment configs | `experiments/configs/` |
34
+ | Results | `results/` or `output/` |
35
+
36
+ ## When This Applies
37
+
38
+ - **Always.** Every research project, every session, no exceptions.
39
+ - When creating new files — never place code/data inside `paper/`
40
+ - When reorganising projects — move any code/data out of `paper/`
41
+ - When writing scripts that generate outputs — script in project, output exported to `paper/`
42
+ - When running `/init-project-research` — the scaffold already enforces this separation
43
+
44
+ ## What To Do If You Find Violations
45
+
46
+ 1. **Flag immediately:** "I found code/data files inside `paper/` — this violates the Overleaf separation rule."
47
+ 2. **Propose moves:** Show where each file should go in the project directory.
48
+ 3. **Wait for approval** before moving anything.
49
+ 4. **Never silently leave** code or data in `paper/`.
50
+
51
+ ## Overleaf Folder Lifecycle
52
+
53
+ Creating a folder in the Overleaf root automatically creates an Overleaf project. This has implications for what Claude can and cannot do:
54
+
55
+ | Action | Claude allowed? | Notes |
56
+ |--------|:-:|-------|
57
+ | **Create** | Yes | `mkdir` in the Overleaf root creates a project. Use during `/init-project-research` scaffolding. |
58
+ | **Rename** | No — ask user | Renaming loses Overleaf project history. The user must rename via the Overleaf UI to preserve history. Flag as a manual TODO. |
59
+ | **Delete** | Break the glass | Deleting a folder destroys the Overleaf project and all its history. Requires explicit confirmation per the `break-the-glass` rule. |
60
+
61
+ **When scaffolding:** Ask if the Overleaf project already exists. If yes, get the folder name and symlink to it. If no, create the folder via `mkdir` and then symlink.
62
+
63
+ **When renaming:** Never rename an Overleaf folder. Update the symlink to point to the new name only after the user confirms they've renamed it in the Overleaf UI.
64
+
65
+ ## Why This Matters
66
+
67
+ `paper/` syncs to Overleaf. Code and data in Overleaf causes sync bloat, version confusion, and breaks the clean separation between the paper (collaborative, LaTeX-only) and the research project (local, computational). Overleaf is not a code repository.
@@ -0,0 +1,175 @@
1
+ # Rule: Plan Before Implementing
2
+
3
+ ## When This Applies
4
+
5
+ - Multi-file edits (touching 3+ files)
6
+ - New features or significant additions
7
+ - Unclear or ambiguous scope
8
+ - Refactoring existing code or structure
9
+
10
+ ## When to Skip
11
+
12
+ - Single-file fixes (typos, one-line bugs)
13
+ - Running existing skills (`/proofread`, `/bib-validate`, etc.)
14
+ - Informational questions ("What does this function do?")
15
+ - Updating context files (`.context/current-focus.md`)
16
+
17
+ ## Assumption Check (Medium Tasks)
18
+
19
+ For tasks that don't need a full plan but involve choices that could go wrong (1-2 files, clear goal, ambiguous *how*). This is the gap where most "wrong approach" friction occurs.
20
+
21
+ **When this applies:**
22
+ - Edits where output location, format, naming, or convention could be ambiguous
23
+ - Any task where you're choosing between options without being told which
24
+ - Merging, moving, or renaming files where the target path isn't explicit
25
+ - Tasks where scope boundaries are fuzzy ("fix this" — just the bug, or also surrounding issues?)
26
+
27
+ **What to do:**
28
+ Before making changes, state in 2-4 lines:
29
+ 1. What you're about to do and which files you'll touch
30
+ 2. Key assumptions (target paths, format, naming conventions, scope boundaries)
31
+
32
+ Then **wait for confirmation**. One word from the user ("yes", "go", thumbs up) is enough. No saved plan file needed.
33
+
34
+ **Examples of assumptions worth stating:**
35
+ - "I'll write output to `paper/figures/`, not `output/`"
36
+ - "I'll use BBT-format keys from the existing .bib"
37
+ - "I'll compile with Beamer, not reveal-md"
38
+ - "I'll edit only the 3 lines you mentioned, not the surrounding block"
39
+ - "I'll put the report in the current project directory, not the Projects root"
40
+
41
+ **When to skip the assumption check:**
42
+ - the user's instruction is fully explicit (exact file paths, exact format, exact scope)
43
+ - The task is a direct follow-up where assumptions were already confirmed
44
+ - the user says "just do it" or similar
45
+
46
+ ## Quick Mode
47
+
48
+ When the task is clearly experimental or exploratory, skip the full planning protocol.
49
+
50
+ **Triggers** (any of these):
51
+ - the user says "quick", "try this", "experiment", "prototype", "just see if"
52
+ - Task is a single-file script exploration or simulation test
53
+ - the user explicitly says "skip planning"
54
+
55
+ **What changes:**
56
+ - Skip plan-first (no plan file, no approval step)
57
+ - Orchestrator still runs but threshold drops to 60/100 (vs 80/90 normally)
58
+ - Must-haves: code runs, results are correct, goal documented in a comment at the top
59
+ - Not needed: docs, tests, perfect style, session log
60
+
61
+ **What stays:** Verification (code must run), learn tags, all safety rules.
62
+
63
+ **Kill switch:** the user can say "stop" or "abandon" at any point — no guilt, no cleanup needed.
64
+
65
+ **Escalation:** If the exploration succeeds and the user wants to build on it, normal plan-first + orchestrator rules resume.
66
+
67
+ ## Protocol
68
+
69
+ 1. **Draft a plan** before writing any code or making changes
70
+ 2. **Save the plan** to `log/plans/YYYY-MM-DD_description.md`
71
+ 3. **Get approval** — present the plan to the user and wait for confirmation
72
+ 4. **Implement via orchestrator** — see `orchestrator-protocol.md` for the verify/review/fix/score loop. For tasks where the orchestrator doesn't apply (see its "When to Skip"), implement directly, noting any deviations.
73
+
74
+ ### Plan Format
75
+
76
+ ```markdown
77
+ # Plan: [Short Description]
78
+
79
+ ## Context
80
+ [Why this is needed]
81
+
82
+ ## Changes
83
+ [List of files to create/modify with brief descriptions]
84
+
85
+ ## Order of Operations
86
+ 1. Write session log (`/session-log`)
87
+ 2. Update project context (`/update-focus` or `/save-context`)
88
+ 3. [Implementation steps...]
89
+
90
+ ## Risks / Open Questions
91
+ [Anything that could go wrong or needs clarification]
92
+ ```
93
+
94
+ ## Phase Boundaries
95
+
96
+ When a plan spans 2+ distinct activities (e.g., code + experiments + writing), split into phases with explicit stop points:
97
+
98
+ 1. Each phase gets its own session (or section of a session)
99
+ 2. At each phase boundary, create `HANDOFF.md` in the project root summarising:
100
+ - What was accomplished
101
+ - What outputs exist and where
102
+ - What the next phase should use
103
+ 3. Run `/session-log` at each boundary, not just at session end
104
+ 4. Do NOT start the next phase without the user's go-ahead
105
+
106
+ Signs a plan needs phases: 5+ implementation steps, multiple distinct tool chains (Python + LaTeX), or estimated context usage that could hit compression.
107
+
108
+ ### Dependency Notation
109
+
110
+ Phases declare `depends_on:` rather than relying on sequential numbering. This makes mid-pipeline entry and parallel work explicit:
111
+
112
+ ```markdown
113
+ ### Phase A: Literature Review
114
+ depends_on: none
115
+ ### Phase B: Research Design
116
+ depends_on: Phase A (partial — needs key papers identified)
117
+ ### Phase C: Data Collection
118
+ depends_on: Phase B
119
+ ### Phase D: Code Pipeline
120
+ depends_on: Phase B, Phase C
121
+ ### Phase E: Paper Draft
122
+ depends_on: Phase D (results), Phase A (lit review complete)
123
+ ```
124
+
125
+ ### Mid-Pipeline Entry
126
+
127
+ When resuming a project or starting mid-way through an existing plan:
128
+
129
+ 1. Read existing outputs to determine which phases are "satisfied"
130
+ 2. Mark satisfied phases as `[DONE]` in the plan
131
+ 3. Start from the first phase whose dependencies are all satisfied
132
+ 4. State explicitly: "Entering at Phase X — Phases A, B already satisfied because [evidence]"
133
+
134
+ ### Parallel Activation
135
+
136
+ Phases with independent dependency chains can run concurrently. Flag these for the user:
137
+
138
+ > "Phases C and D have independent dependencies — both can start now. Want to run them in parallel?"
139
+
140
+ Do not auto-parallelise — let the user decide.
141
+
142
+ ### Re-Entry and Invalidation
143
+
144
+ If a phase's output becomes invalid (e.g., data changes, design revision):
145
+
146
+ 1. Mark it `[INVALIDATED]` in the plan
147
+ 2. Cascade to all dependent phases — mark them `[INVALIDATED]` too
148
+ 3. State which phases need re-running and why
149
+ 4. Wait for the user's go-ahead before re-executing
150
+
151
+ ## Session Recovery
152
+
153
+ When starting a new session or after context compression:
154
+
155
+ 1. Read the most recent file in `log/plans/`
156
+ 2. Read the most recent file in `log/`
157
+ 3. Read `.context/current-focus.md`
158
+
159
+ This provides enough context to continue without re-explaining.
160
+
161
+ ## Execution Stall Detector
162
+
163
+ When a plan already exists (in `log/plans/` or stated by the user), enforce execution momentum:
164
+
165
+ - **2-message rule:** If 2 consecutive messages pass after a plan is confirmed and no file has been edited, STOP reading/auditing and start implementing immediately. Print: "Stall detected — starting execution now."
166
+ - **No re-planning approved plans:** Do not re-read, re-audit, or re-draft a plan that the user has already approved. Start from step 1 and make changes.
167
+ - **File-edit-first:** When implementing, make the first file change within your next response. Read only the files you need to edit, not the entire project.
168
+
169
+ This rule exists because planning loops were the single biggest friction source across 232 sessions (53 wrong-approach events, multiple full sessions lost to re-planning without a single edit).
170
+
171
+ ## Important
172
+
173
+ - **Never `/clear`** — rely on auto-compression to manage context
174
+ - Plans are living documents — update them if scope changes mid-implementation
175
+ - Quick plans (3-5 lines) are fine for medium tasks; full format for large ones
@@ -0,0 +1,50 @@
1
+ # Rule: Read Documentation Before Searching
2
+
3
+ ## Principle
4
+
5
+ **Never explore when documentation already answers your question.** Broad codebase searches (Glob, Grep, web searches) burn tokens and time. Project docs exist precisely to avoid this.
6
+
7
+ ## On Every New Session
8
+
9
+ Before doing any work, read these files **in order** (they are fast reads, not searches). The `startup-context-loader.sh` hook auto-loads most of these, but follow the pointers in case you need more detail:
10
+
11
+ 1. `CLAUDE.md` — already auto-loaded, but follow its pointers
12
+ 2. `.context/current-focus.md` — what the user is working on NOW
13
+ 3. `.context/projects/_index.md` — overview of all projects
14
+ 4. `MEMORY.md` (if it exists) — structured knowledge tables and `[LEARN]` corrections
15
+ 5. The latest file in `log/` — where the last session left off
16
+ 6. The latest file in `log/plans/` (if any) — where the last plan left off
17
+
18
+ This takes seconds and prevents minutes of aimless searching.
19
+
20
+ ## Before Any Search
21
+
22
+ When you need information about the project, check in this order:
23
+
24
+ 1. **CLAUDE.md and .context/ files** — they cover identity, projects, workflows, conventions
25
+ 2. **Project-specific docs** (README.md, docs/ folder) — they cover that project's structure
26
+ 3. **Existing code comments and docstrings** — read the relevant file directly
27
+ 4. **Only then** use Grep/Glob for targeted searches
28
+ 5. **Web search is a last resort** — never search the web for something already documented locally
29
+
30
+ ## Anti-Patterns (Do NOT Do These)
31
+
32
+ - Globbing for `**/*.md` across the entire repo to "find" documentation you were already told about
33
+ - Grepping for keywords when CLAUDE.md explicitly lists where things are
34
+ - Using the Explore agent to "understand the codebase" when `.context/` files describe it
35
+ - Web-searching for tool usage or conventions that are documented in project files
36
+ - Reading 10+ files "to understand context" when current-focus.md summarizes it
37
+
38
+ ## For Other Projects (Not Task Management)
39
+
40
+ When starting a session in a research project:
41
+
42
+ 1. Read that project's `CLAUDE.md` (if it exists)
43
+ 2. Read that project's `MEMORY.md` (if it exists) — notation, decisions, pitfalls
44
+ 3. Read that project's `README.md` (if it exists)
45
+ 4. Check for a `docs/` folder
46
+ 5. Only then explore the file tree
47
+
48
+ ## Why This Matters
49
+
50
+ the user's context library (`.context/`) is specifically designed to give you everything you need upfront. Ignoring it to do your own research wastes tokens and produces worse results because you miss the curated context.
@@ -0,0 +1,28 @@
1
+ # Rule: Scope Discipline
2
+
3
+ ## Principle
4
+
5
+ **Only make changes the user explicitly requested.** Do NOT fix additional issues you notice (e.g., extra proofreading, reformatting, style improvements) unless asked. When in doubt, list what you'd like to also fix and ask for permission.
6
+
7
+ ## What This Means
8
+
9
+ - If asked to fix 6 issues, fix exactly those 6 — not 6 plus 3 more you spotted
10
+ - If asked to proofread major issues, do not also fix minor ones
11
+ - If asked to update one file, do not "while I'm here" edit neighbouring files
12
+ - If asked to add a feature, do not also refactor surrounding code
13
+
14
+ ## When You Notice Something Else
15
+
16
+ 1. Complete the requested task first
17
+ 2. At the end, mention what else you noticed: "I also spotted X, Y, Z — want me to fix those too?"
18
+ 3. Wait for explicit approval before touching anything beyond scope
19
+
20
+ ## Exceptions
21
+
22
+ - **Security vulnerabilities** — fix immediately and flag to the user
23
+ - **Broken compilation** caused by your own changes — fix as part of the current task
24
+ - **Trivial typos in lines you're already editing** — acceptable if truly on the same line
25
+
26
+ ## Why This Matters
27
+
28
+ Scope overreach forces reverts, wastes time, and erodes trust. Doing less than asked is annoying; doing more than asked is destructive.
@@ -0,0 +1,125 @@
1
+ {
2
+ "permissions": {
3
+ "deny": [
4
+ "Bash(pip install:*)",
5
+ "Bash(pip3 install:*)",
6
+ "Bash(pip:*)",
7
+ "Bash(pip3:*)",
8
+ "Bash(python -m:*)",
9
+ "Bash(python3 -m:*)",
10
+ "Bash(python:*)",
11
+ "Bash(python3:*)"
12
+ ],
13
+ "allow": [
14
+ "Edit",
15
+ "Glob",
16
+ "Grep",
17
+ "Read",
18
+ "WebFetch",
19
+ "WebSearch",
20
+ "Write",
21
+ "Bash(curl:*)",
22
+ "Bash(gh:*)",
23
+ "Bash(git add:*)",
24
+ "Bash(git commit:*)",
25
+ "Bash(git diff:*)",
26
+ "Bash(git log:*)",
27
+ "Bash(git push:*)",
28
+ "Bash(git status *)",
29
+ "Bash(latexmk *)",
30
+ "Bash(ls:*)",
31
+ "Bash(mkdir:*)",
32
+ "Bash(pdflatex *)",
33
+ "Bash(tree:*)",
34
+ "Bash(uv:*)",
35
+ "Bash(wc:*)",
36
+ "Bash(which:*)",
37
+ "Bash(xelatex *)"
38
+ ]
39
+ },
40
+ "hooks": {
41
+ "SessionStart": [
42
+ {
43
+ "matcher": "startup",
44
+ "hooks": [
45
+ {
46
+ "type": "command",
47
+ "command": "$HOME/.claude/hooks/startup-context-loader.sh"
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ "matcher": "resume",
53
+ "hooks": [
54
+ {
55
+ "type": "command",
56
+ "command": "$HOME/.claude/hooks/resume-context-loader.sh"
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ "matcher": "compact",
62
+ "hooks": [
63
+ {
64
+ "type": "command",
65
+ "command": "python3 $HOME/.claude/hooks/postcompact-restore.py"
66
+ }
67
+ ]
68
+ }
69
+ ],
70
+ "PreToolUse": [
71
+ {
72
+ "matcher": "Edit|Write",
73
+ "hooks": [
74
+ {
75
+ "type": "command",
76
+ "command": "$HOME/.claude/hooks/protect-source-files.sh"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "matcher": "Bash",
82
+ "hooks": [
83
+ {
84
+ "type": "command",
85
+ "command": "$HOME/.claude/hooks/block-destructive-git.sh"
86
+ }
87
+ ]
88
+ }
89
+ ],
90
+ "Stop": [
91
+ {
92
+ "matcher": "",
93
+ "hooks": [
94
+ {
95
+ "type": "command",
96
+ "command": "$HOME/.claude/hooks/promise-checker.sh"
97
+ }
98
+ ]
99
+ }
100
+ ],
101
+ "PostToolUse": [
102
+ {
103
+ "matcher": "Bash|Task",
104
+ "hooks": [
105
+ {
106
+ "type": "command",
107
+ "command": "python3 $HOME/.claude/hooks/context-monitor.py",
108
+ "timeout": 5000
109
+ }
110
+ ]
111
+ }
112
+ ],
113
+ "PreCompact": [
114
+ {
115
+ "matcher": "",
116
+ "hooks": [
117
+ {
118
+ "type": "command",
119
+ "command": "python3 $HOME/.claude/hooks/precompact-autosave.py"
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ }
125
+ }
@@ -0,0 +1,33 @@
1
+ # Current Focus
2
+
3
+ > Last updated: 2026-02-20
4
+
5
+ ## This Week's Goals
6
+
7
+ 1. Finish draft of Paper 1 (decision making under uncertainty)
8
+ 2. Prepare slides for supervisor meeting on Friday
9
+ 3. Review literature on experimental design for Paper 2
10
+
11
+ ## Active Sessions
12
+
13
+ ### 2026-02-20 — Paper 1 drafting
14
+ - Completed methodology section
15
+ - Started results section — need to finish Table 2
16
+ - Open loop: waiting for co-author feedback on introduction
17
+
18
+ ### 2026-02-18 — Literature review
19
+ - Found 12 new papers on choice architecture
20
+ - Updated bibliography with 8 new entries
21
+ - Next: synthesise findings into lit review section
22
+
23
+ ## Open Loops
24
+
25
+ | Loop | Status | Next action |
26
+ |------|--------|-------------|
27
+ | Paper 1 intro feedback | Waiting | Follow up with co-author by Friday |
28
+ | Ethics application | Submitted | Check portal next week |
29
+ | Conference abstract | Due March 15 | Draft after Paper 1 is sent |
30
+
31
+ ## Mental State
32
+
33
+ Focused. Paper 1 is the priority — everything else can wait until it's submitted.
@@ -0,0 +1,36 @@
1
+ # Priority Framework
2
+
3
+ > How to help the user prioritise tasks.
4
+
5
+ ## Principle: Priority is Contextual
6
+
7
+ Priority depends on three factors:
8
+
9
+ 1. **Deadlines** — hard deadlines (journal, conference, supervisor) always win
10
+ 2. **PhD Progress Impact** — does this move the PhD forward?
11
+ 3. **Blocking Others** — is someone waiting on this?
12
+
13
+ ## Priority Matrix
14
+
15
+ | Deadline | PhD Impact | Blocking? | Priority |
16
+ |----------|-----------|-----------|----------|
17
+ | < 48h | Any | Any | **Critical** |
18
+ | < 1 week | High | Yes | **High** |
19
+ | < 1 week | High | No | **High** |
20
+ | < 2 weeks | Medium | Yes | **Medium** |
21
+ | < 2 weeks | Medium | No | **Medium** |
22
+ | None | Low | No | **Low** |
23
+
24
+ ## Anti-Patterns
25
+
26
+ - Making everything high priority
27
+ - Urgency without importance
28
+ - Perfectionism before "good enough"
29
+ - Ignoring soft deadlines until they become hard
30
+
31
+ ## How AI Should Help
32
+
33
+ - Ask about deadlines before assigning priority
34
+ - Check if someone is waiting on this
35
+ - Consider energy and time of day
36
+ - Don't create false urgency