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