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.
- package/.claude/agents/domain-reviewer.md +336 -0
- package/.claude/agents/fixer.md +226 -0
- package/.claude/agents/paper-critic.md +370 -0
- package/.claude/agents/peer-reviewer.md +289 -0
- package/.claude/agents/proposal-reviewer.md +215 -0
- package/.claude/agents/referee2-reviewer.md +367 -0
- package/.claude/agents/references/journal-referee-profiles.md +354 -0
- package/.claude/agents/references/paper-critic/council-personas.md +77 -0
- package/.claude/agents/references/paper-critic/council-prompts.md +198 -0
- package/.claude/agents/references/peer-reviewer/report-template.md +199 -0
- package/.claude/agents/references/peer-reviewer/sa-prompts.md +260 -0
- package/.claude/agents/references/peer-reviewer/security-scan.md +188 -0
- package/.claude/agents/references/proposal-reviewer/report-template.md +144 -0
- package/.claude/agents/references/proposal-reviewer/sa-prompts.md +149 -0
- package/.claude/agents/references/referee-config.md +114 -0
- package/.claude/agents/references/referee2-reviewer/audit-checklists.md +287 -0
- package/.claude/agents/references/referee2-reviewer/report-template.md +334 -0
- package/.claude/rules/design-before-results.md +52 -0
- package/.claude/rules/ignore-agents-md.md +17 -0
- package/.claude/rules/ignore-gemini-md.md +17 -0
- package/.claude/rules/lean-claude-md.md +45 -0
- package/.claude/rules/learn-tags.md +99 -0
- package/.claude/rules/overleaf-separation.md +67 -0
- package/.claude/rules/plan-first.md +175 -0
- package/.claude/rules/read-docs-first.md +50 -0
- package/.claude/rules/scope-discipline.md +28 -0
- package/.claude/settings.json +125 -0
- package/.context/current-focus.md +33 -0
- package/.context/preferences/priorities.md +36 -0
- package/.context/preferences/task-naming.md +28 -0
- package/.context/profile.md +29 -0
- package/.context/projects/_index.md +41 -0
- package/.context/projects/papers/nudge-exp.md +22 -0
- package/.context/projects/papers/uncertainty.md +31 -0
- package/.context/resources/claude-scientific-writer-review.md +48 -0
- package/.context/resources/cunningham-multi-analyst-agents.md +104 -0
- package/.context/resources/cunningham-multilang-code-audit.md +62 -0
- package/.context/resources/google-ai-co-scientist-review.md +72 -0
- package/.context/resources/karpathy-llm-council-review.md +58 -0
- package/.context/resources/multi-coder-reliability-protocol.md +175 -0
- package/.context/resources/pedro-santanna-takeaways.md +96 -0
- package/.context/resources/venue-rankings/abs_ajg_2024.csv +1823 -0
- package/.context/resources/venue-rankings/abs_ajg_2024_econ.csv +356 -0
- package/.context/resources/venue-rankings/cabs_4_4star_theory.csv +40 -0
- package/.context/resources/venue-rankings/core_2026.csv +801 -0
- package/.context/resources/venue-rankings.md +147 -0
- package/.context/workflows/README.md +69 -0
- package/.context/workflows/daily-review.md +91 -0
- package/.context/workflows/meeting-actions.md +108 -0
- package/.context/workflows/replication-protocol.md +155 -0
- package/.context/workflows/weekly-review.md +113 -0
- package/.mcp-server-biblio/formatters.py +158 -0
- package/.mcp-server-biblio/pyproject.toml +11 -0
- package/.mcp-server-biblio/server.py +678 -0
- package/.mcp-server-biblio/sources/__init__.py +14 -0
- package/.mcp-server-biblio/sources/base.py +73 -0
- package/.mcp-server-biblio/sources/formatters.py +83 -0
- package/.mcp-server-biblio/sources/models.py +22 -0
- package/.mcp-server-biblio/sources/multi_source.py +243 -0
- package/.mcp-server-biblio/sources/openalex_source.py +183 -0
- package/.mcp-server-biblio/sources/scopus_source.py +309 -0
- package/.mcp-server-biblio/sources/wos_source.py +508 -0
- package/.mcp-server-biblio/uv.lock +896 -0
- package/.scripts/README.md +161 -0
- package/.scripts/ai_pattern_density.py +446 -0
- package/.scripts/conf +445 -0
- package/.scripts/config.py +122 -0
- package/.scripts/count_inventory.py +275 -0
- package/.scripts/daily_digest.py +288 -0
- package/.scripts/done +177 -0
- package/.scripts/extract_meeting_actions.py +223 -0
- package/.scripts/focus +176 -0
- package/.scripts/generate-codex-agents-md.py +217 -0
- package/.scripts/inbox +194 -0
- package/.scripts/notion_helpers.py +325 -0
- package/.scripts/openalex/query_helpers.py +306 -0
- package/.scripts/papers +227 -0
- package/.scripts/query +223 -0
- package/.scripts/session-history.py +201 -0
- package/.scripts/skill-health.py +516 -0
- package/.scripts/skill-log-miner.py +273 -0
- package/.scripts/sync-to-codex.sh +252 -0
- package/.scripts/task +213 -0
- package/.scripts/tasks +190 -0
- package/.scripts/week +206 -0
- package/CLAUDE.md +197 -0
- package/LICENSE +21 -0
- package/MEMORY.md +38 -0
- package/README.md +269 -0
- package/docs/agents.md +44 -0
- package/docs/bibliography-setup.md +55 -0
- package/docs/council-mode.md +36 -0
- package/docs/getting-started.md +245 -0
- package/docs/hooks.md +38 -0
- package/docs/mcp-servers.md +82 -0
- package/docs/notion-setup.md +109 -0
- package/docs/rules.md +33 -0
- package/docs/scripts.md +303 -0
- package/docs/setup-overview/setup-overview.pdf +0 -0
- package/docs/skills.md +70 -0
- package/docs/system.md +159 -0
- package/hooks/block-destructive-git.sh +66 -0
- package/hooks/context-monitor.py +114 -0
- package/hooks/postcompact-restore.py +157 -0
- package/hooks/precompact-autosave.py +181 -0
- package/hooks/promise-checker.sh +124 -0
- package/hooks/protect-source-files.sh +81 -0
- package/hooks/resume-context-loader.sh +53 -0
- package/hooks/startup-context-loader.sh +102 -0
- package/package.json +51 -0
- package/packages/cli-council/.github/workflows/claude-code-review.yml +44 -0
- package/packages/cli-council/.github/workflows/claude.yml +50 -0
- package/packages/cli-council/README.md +100 -0
- package/packages/cli-council/pyproject.toml +43 -0
- package/packages/cli-council/src/cli_council/__init__.py +19 -0
- package/packages/cli-council/src/cli_council/__main__.py +185 -0
- package/packages/cli-council/src/cli_council/backends/__init__.py +8 -0
- package/packages/cli-council/src/cli_council/backends/base.py +81 -0
- package/packages/cli-council/src/cli_council/backends/claude.py +25 -0
- package/packages/cli-council/src/cli_council/backends/codex.py +27 -0
- package/packages/cli-council/src/cli_council/backends/gemini.py +26 -0
- package/packages/cli-council/src/cli_council/checkpoint.py +212 -0
- package/packages/cli-council/src/cli_council/config.py +51 -0
- package/packages/cli-council/src/cli_council/council.py +391 -0
- package/packages/cli-council/src/cli_council/models.py +46 -0
- package/packages/llm-council/.github/workflows/claude-code-review.yml +44 -0
- package/packages/llm-council/.github/workflows/claude.yml +50 -0
- package/packages/llm-council/README.md +453 -0
- package/packages/llm-council/pyproject.toml +42 -0
- package/packages/llm-council/src/llm_council/__init__.py +23 -0
- package/packages/llm-council/src/llm_council/__main__.py +259 -0
- package/packages/llm-council/src/llm_council/checkpoint.py +193 -0
- package/packages/llm-council/src/llm_council/client.py +253 -0
- package/packages/llm-council/src/llm_council/config.py +232 -0
- package/packages/llm-council/src/llm_council/council.py +482 -0
- package/packages/llm-council/src/llm_council/models.py +46 -0
- package/packages/mcp-bibliography/MEMORY.md +31 -0
- package/packages/mcp-bibliography/_app.py +226 -0
- package/packages/mcp-bibliography/formatters.py +158 -0
- package/packages/mcp-bibliography/log/2026-03-13-2100.md +35 -0
- package/packages/mcp-bibliography/pyproject.toml +15 -0
- package/packages/mcp-bibliography/run.sh +20 -0
- package/packages/mcp-bibliography/scholarly_formatters.py +83 -0
- package/packages/mcp-bibliography/server.py +1857 -0
- package/packages/mcp-bibliography/tools/__init__.py +28 -0
- package/packages/mcp-bibliography/tools/_registry.py +19 -0
- package/packages/mcp-bibliography/tools/altmetric.py +107 -0
- package/packages/mcp-bibliography/tools/core.py +92 -0
- package/packages/mcp-bibliography/tools/dblp.py +52 -0
- package/packages/mcp-bibliography/tools/openalex.py +296 -0
- package/packages/mcp-bibliography/tools/opencitations.py +102 -0
- package/packages/mcp-bibliography/tools/openreview.py +179 -0
- package/packages/mcp-bibliography/tools/orcid.py +131 -0
- package/packages/mcp-bibliography/tools/scholarly.py +575 -0
- package/packages/mcp-bibliography/tools/unpaywall.py +63 -0
- package/packages/mcp-bibliography/tools/zenodo.py +123 -0
- package/packages/mcp-bibliography/uv.lock +711 -0
- package/scripts/setup.sh +143 -0
- package/skills/beamer-deck/SKILL.md +199 -0
- package/skills/beamer-deck/references/quality-rubric.md +54 -0
- package/skills/beamer-deck/references/review-prompts.md +106 -0
- package/skills/bib-validate/SKILL.md +261 -0
- package/skills/bib-validate/references/council-mode.md +34 -0
- package/skills/bib-validate/references/deep-verify.md +79 -0
- package/skills/bib-validate/references/fix-mode.md +36 -0
- package/skills/bib-validate/references/openalex-verification.md +45 -0
- package/skills/bib-validate/references/preprint-check.md +31 -0
- package/skills/bib-validate/references/ref-manager-crossref.md +41 -0
- package/skills/bib-validate/references/report-template.md +82 -0
- package/skills/code-archaeology/SKILL.md +141 -0
- package/skills/code-review/SKILL.md +265 -0
- package/skills/code-review/references/quality-rubric.md +67 -0
- package/skills/consolidate-memory/SKILL.md +208 -0
- package/skills/context-status/SKILL.md +126 -0
- package/skills/creation-guard/SKILL.md +230 -0
- package/skills/devils-advocate/SKILL.md +130 -0
- package/skills/devils-advocate/references/competing-hypotheses.md +83 -0
- package/skills/init-project/SKILL.md +115 -0
- package/skills/init-project-course/references/memory-and-settings.md +92 -0
- package/skills/init-project-course/references/organise-templates.md +94 -0
- package/skills/init-project-course/skill.md +147 -0
- package/skills/init-project-light/skill.md +139 -0
- package/skills/init-project-research/SKILL.md +368 -0
- package/skills/init-project-research/references/atlas-pipeline-sync.md +70 -0
- package/skills/init-project-research/references/atlas-schema.md +81 -0
- package/skills/init-project-research/references/confirmation-report.md +39 -0
- package/skills/init-project-research/references/domain-profile-template.md +104 -0
- package/skills/init-project-research/references/interview-round3.md +34 -0
- package/skills/init-project-research/references/literature-discovery.md +43 -0
- package/skills/init-project-research/references/scaffold-details.md +197 -0
- package/skills/init-project-research/templates/field-calibration.md +60 -0
- package/skills/init-project-research/templates/pipeline-manifest.md +63 -0
- package/skills/init-project-research/templates/run-all.sh +116 -0
- package/skills/init-project-research/templates/seed-files.md +337 -0
- package/skills/insights-deck/SKILL.md +151 -0
- package/skills/interview-me/SKILL.md +157 -0
- package/skills/latex/SKILL.md +141 -0
- package/skills/latex/references/latex-configs.md +183 -0
- package/skills/latex-autofix/SKILL.md +230 -0
- package/skills/latex-autofix/references/known-errors.md +183 -0
- package/skills/latex-autofix/references/quality-rubric.md +50 -0
- package/skills/latex-health-check/SKILL.md +161 -0
- package/skills/learn/SKILL.md +220 -0
- package/skills/learn/scripts/validate_skill.py +265 -0
- package/skills/lessons-learned/SKILL.md +201 -0
- package/skills/literature/SKILL.md +335 -0
- package/skills/literature/references/agent-templates.md +393 -0
- package/skills/literature/references/bibliometric-apis.md +44 -0
- package/skills/literature/references/cli-council-search.md +79 -0
- package/skills/literature/references/openalex-api-guide.md +371 -0
- package/skills/literature/references/openalex-common-queries.md +381 -0
- package/skills/literature/references/openalex-workflows.md +248 -0
- package/skills/literature/references/reference-manager-sync.md +36 -0
- package/skills/literature/references/scopus-api-guide.md +208 -0
- package/skills/literature/references/wos-api-guide.md +308 -0
- package/skills/multi-perspective/SKILL.md +311 -0
- package/skills/multi-perspective/references/computational-many-analysts.md +77 -0
- package/skills/pipeline-manifest/SKILL.md +226 -0
- package/skills/pre-submission-report/SKILL.md +153 -0
- package/skills/process-reviews/SKILL.md +244 -0
- package/skills/process-reviews/references/rr-routing.md +101 -0
- package/skills/project-deck/SKILL.md +87 -0
- package/skills/project-safety/SKILL.md +135 -0
- package/skills/proofread/SKILL.md +254 -0
- package/skills/proofread/references/quality-rubric.md +104 -0
- package/skills/python-env/SKILL.md +57 -0
- package/skills/quarto-deck/SKILL.md +226 -0
- package/skills/quarto-deck/references/markdown-format.md +143 -0
- package/skills/quarto-deck/references/quality-rubric.md +54 -0
- package/skills/save-context/SKILL.md +174 -0
- package/skills/session-log/SKILL.md +98 -0
- package/skills/shared/concept-validation-gate.md +161 -0
- package/skills/shared/council-protocol.md +265 -0
- package/skills/shared/distribution-diagnostics.md +164 -0
- package/skills/shared/engagement-stratified-sampling.md +218 -0
- package/skills/shared/escalation-protocol.md +74 -0
- package/skills/shared/external-audit-protocol.md +205 -0
- package/skills/shared/intercoder-reliability.md +256 -0
- package/skills/shared/mcp-degradation.md +81 -0
- package/skills/shared/method-probing-questions.md +163 -0
- package/skills/shared/multi-language-conventions.md +143 -0
- package/skills/shared/paid-api-safety.md +174 -0
- package/skills/shared/palettes.md +90 -0
- package/skills/shared/progressive-disclosure.md +92 -0
- package/skills/shared/project-documentation-content.md +443 -0
- package/skills/shared/project-documentation-format.md +281 -0
- package/skills/shared/project-documentation.md +100 -0
- package/skills/shared/publication-output.md +138 -0
- package/skills/shared/quality-scoring.md +70 -0
- package/skills/shared/reference-resolution.md +77 -0
- package/skills/shared/research-quality-rubric.md +165 -0
- package/skills/shared/rhetoric-principles.md +54 -0
- package/skills/shared/skill-design-patterns.md +272 -0
- package/skills/shared/skill-index.md +240 -0
- package/skills/shared/system-documentation.md +334 -0
- package/skills/shared/tikz-rules.md +402 -0
- package/skills/shared/validation-tiers.md +121 -0
- package/skills/shared/venue-guides/README.md +46 -0
- package/skills/shared/venue-guides/cell_press_style.md +483 -0
- package/skills/shared/venue-guides/conferences_formatting.md +564 -0
- package/skills/shared/venue-guides/cs_conference_style.md +463 -0
- package/skills/shared/venue-guides/examples/cell_summary_example.md +247 -0
- package/skills/shared/venue-guides/examples/medical_structured_abstract.md +313 -0
- package/skills/shared/venue-guides/examples/nature_abstract_examples.md +213 -0
- package/skills/shared/venue-guides/examples/neurips_introduction_example.md +245 -0
- package/skills/shared/venue-guides/journals_formatting.md +486 -0
- package/skills/shared/venue-guides/medical_journal_styles.md +535 -0
- package/skills/shared/venue-guides/ml_conference_style.md +556 -0
- package/skills/shared/venue-guides/nature_science_style.md +405 -0
- package/skills/shared/venue-guides/reviewer_expectations.md +417 -0
- package/skills/shared/venue-guides/venue_writing_styles.md +321 -0
- package/skills/split-pdf/SKILL.md +172 -0
- package/skills/split-pdf/methodology.md +48 -0
- package/skills/sync-notion/SKILL.md +93 -0
- package/skills/system-audit/SKILL.md +157 -0
- package/skills/system-audit/references/sub-agent-prompts.md +294 -0
- package/skills/task-management/SKILL.md +131 -0
- package/skills/update-focus/SKILL.md +204 -0
- package/skills/update-project-doc/SKILL.md +194 -0
- package/skills/validate-bib/SKILL.md +242 -0
- package/skills/validate-bib/references/council-mode.md +34 -0
- package/skills/validate-bib/references/deep-verify.md +71 -0
- package/skills/validate-bib/references/openalex-verification.md +45 -0
- package/skills/validate-bib/references/preprint-check.md +31 -0
- 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
|