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,368 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: init-project-research
|
|
3
|
+
description: "Use when you need to bootstrap a full research project with directory scaffold and Overleaf symlink."
|
|
4
|
+
allowed-tools: Bash(mkdir*), Bash(ln*), Bash(ls*), Bash(git*), Bash(touch*), Bash(jq*), Bash(uv*), Bash(scout *), Bash(curl*), Bash(wget*), Read, Write, Edit, Glob, Grep, Task, WebSearch, WebFetch, AskUserQuestion
|
|
5
|
+
argument-hint: "[project-name or no arguments for guided setup]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Init Project Research
|
|
9
|
+
|
|
10
|
+
> Interview-driven skill that scaffolds a research project directory, creates an Atlas topic, syncs to vault (Atlas + Pipeline + Venues), and integrates with the user's Task Management system.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- Starting a new research paper or project from scratch
|
|
15
|
+
- When the user says "new project", "set up a project", "init project", "bootstrap project"
|
|
16
|
+
- After deciding to pursue a new research idea that needs its own folder
|
|
17
|
+
- When scaffolding ideas from Scout reports, brainstorming, or supervisor meetings
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Eight phases, executed in order:
|
|
22
|
+
|
|
23
|
+
1. **Interview** — gather project details via structured questions
|
|
24
|
+
2. **Scaffold** — create directory structure based on project type
|
|
25
|
+
3. **Seed files** — populate CLAUDE.md, README.md, .gitignore with interview answers
|
|
26
|
+
4. **Overleaf symlink** — link `paper/` to Overleaf directory
|
|
27
|
+
5. **Git init** — initialise repo and make first commit
|
|
28
|
+
6. **Atlas & Pipeline sync** — create Atlas topic file, vault atlas entry, Pipeline row, venue links, Dropbox folder
|
|
29
|
+
7. **Task Management sync** — update context library files
|
|
30
|
+
8. **Literature & Discovery** — run literature review + scout novelty assessment
|
|
31
|
+
9. **Confirmation** — report what was created
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Phase 1: Interview
|
|
36
|
+
|
|
37
|
+
Use `AskUserQuestion` for structured input. Three rounds to avoid overwhelming.
|
|
38
|
+
|
|
39
|
+
### Pre-Interview: Auto-Detection
|
|
40
|
+
|
|
41
|
+
Before asking questions, scan the project directory (if it already exists) for metadata:
|
|
42
|
+
- **LaTeX files** — extract `\title{}`, `\author{}`, `\begin{abstract}`, `\begin{keyword}` from `.tex` files
|
|
43
|
+
- **Markdown files** — check for `README.md`, `notes.md` with `# Title` headings
|
|
44
|
+
- **BibTeX files** — note `.bib` presence for later phases
|
|
45
|
+
- **Overleaf symlink** — if `paper/` is a symlink, follow and scan the target
|
|
46
|
+
|
|
47
|
+
Present detected values as the first option (marked "Detected from paper") in interview questions. Always allow override. If the directory doesn't exist yet, skip auto-detection.
|
|
48
|
+
|
|
49
|
+
### Round 1 — Core Identity
|
|
50
|
+
|
|
51
|
+
1. **Project slug** — kebab-case identifier (e.g., `costly-voice`). Folder name on disk is Title Case with spaces (e.g., `Costly Voice`). Confirm the derived folder name.
|
|
52
|
+
2. **Working title** — full paper/project title
|
|
53
|
+
3. **Authors / collaborators** — names and affiliations
|
|
54
|
+
4. **Research area** — which parent folder under Projects/. Scan for existing theme folders and present as options. Also offer "New topic folder" and "Other location".
|
|
55
|
+
5. **Target venue** — journal, conference, or preprint:
|
|
56
|
+
- **Journal:** Check CABS AJG ranking via `.context/resources/venue-rankings.md` and the CSV (`.context/resources/venue-rankings/abs_ajg_2024.csv`). For SJR score, query the Elsevier Serial Title API (see venue-rankings.md for snippet; requires `SCOPUS_API_KEY`). Flag journals below CABS 4 with alternatives.
|
|
57
|
+
- **Conference:** Check CORE ranking via `.context/resources/venue-rankings.md` and the CSV (`.context/resources/venue-rankings/core_2026.csv`). Capture page limit, format, review type, anonymisation, deadlines.
|
|
58
|
+
- **Preprint:** Note the server (arXiv, SSRN) — no ranking check needed.
|
|
59
|
+
6. **Deadline** — submission deadline if known
|
|
60
|
+
|
|
61
|
+
### Round 2 — Setup Details
|
|
62
|
+
|
|
63
|
+
1. **Overleaf project** — ask: "Does the Overleaf project already exist, or should I create it?" If it exists, get the folder name under the Overleaf root (read from `~/.config/task-mgmt/overleaf-root`, fallback `~/Apps/Overleaf/`) and verify the path. If it doesn't exist, create it via `mkdir` (creating a folder in the Overleaf root automatically creates an Overleaf project).
|
|
64
|
+
2. **LaTeX template** — scan `Task Management/templates/` for options. Default: Working Paper (`templates/latex-wp/`). Also offer "None".
|
|
65
|
+
3. **Overleaf external sharing link** — read-only URL for collaborators
|
|
66
|
+
4. **Git repository?** — Local git (Recommended) / GitHub remote / No git
|
|
67
|
+
5. **Project type** — Experimental (`code/`, `data/`, `output/`) / Computational (`src/`, `tests/`, `experiments/`, `results/`) / Theoretical (minimal) / Mixed
|
|
68
|
+
|
|
69
|
+
### Round 3 — Research Content
|
|
70
|
+
|
|
71
|
+
Paper type, abstract, key research questions, then paper-type-specific questions (empirical/theoretical/methodological/mixed) adapted from Lopez-Lira's idea evaluation template.
|
|
72
|
+
|
|
73
|
+
Full question set and storage instructions: [`references/interview-round3.md`](references/interview-round3.md)
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Phase 1.5: Handle Existing Files
|
|
78
|
+
|
|
79
|
+
If the target directory already exists with files:
|
|
80
|
+
|
|
81
|
+
1. Scan for existing files (excluding `.claude/`)
|
|
82
|
+
2. Read documents to understand content
|
|
83
|
+
3. Present a reorganisation plan: keep in place / move to `docs/` / move to `docs/readings/` / move to `paper/` / move to `to-sort/` / absorb into seed files
|
|
84
|
+
4. Wait for approval, execute, double-check before deletions
|
|
85
|
+
5. Use interview content from existing docs to reduce Round 3 questions
|
|
86
|
+
|
|
87
|
+
If the directory doesn't exist, create it and proceed.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Phase 2: Scaffold Directory
|
|
92
|
+
|
|
93
|
+
### Naming Convention
|
|
94
|
+
|
|
95
|
+
- **Slug** (kebab-case): `example-project` — citation keys, git refs
|
|
96
|
+
- **Folder name** (Title Case with spaces): `Example Project` — directory on disk
|
|
97
|
+
|
|
98
|
+
### Overleaf Separation (Hard Rule)
|
|
99
|
+
|
|
100
|
+
**`paper/` is for LaTeX source files ONLY.** No code, data, scripts, or computational artifacts. See `.claude/rules/overleaf-separation.md`.
|
|
101
|
+
|
|
102
|
+
### Common Core (always created)
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
<Folder Name>/
|
|
106
|
+
├── CLAUDE.md
|
|
107
|
+
├── README.md
|
|
108
|
+
├── MEMORY.md
|
|
109
|
+
├── .gitignore
|
|
110
|
+
├── .context/
|
|
111
|
+
│ ├── current-focus.md
|
|
112
|
+
│ ├── field-calibration.md
|
|
113
|
+
│ └── project-recap.md
|
|
114
|
+
├── .claude/
|
|
115
|
+
│ ├── hooks/
|
|
116
|
+
│ │ └── copy-paper-pdf.sh # PostToolUse hook — copies paper-*/paper/main.pdf → backup/*_vcurrent.pdf
|
|
117
|
+
│ └── settings.local.json
|
|
118
|
+
├── correspondence/
|
|
119
|
+
│ └── reviews/ # .gitkeep (see scaffold-details.md for review structure)
|
|
120
|
+
├── docs/
|
|
121
|
+
│ ├── literature-review/ # .gitkeep
|
|
122
|
+
│ ├── readings/ # .gitkeep
|
|
123
|
+
│ └── venues/ # .gitkeep (submission/venue material only)
|
|
124
|
+
├── log/ # .gitkeep
|
|
125
|
+
├── paper/ # Paper directory (Phase 4):
|
|
126
|
+
│ └── paper/ # Symlink → Overleaf — LaTeX source ONLY
|
|
127
|
+
│ # Venue-specific files (checklists, cover letters) live in parent
|
|
128
|
+
├── backup/ # Local backups of Overleaf paper directories (subdirs per paper)
|
|
129
|
+
├── reviews/ # .gitkeep (subdirs created on demand by review agents)
|
|
130
|
+
└── to-sort/ # .gitkeep
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Conditional Structure
|
|
134
|
+
|
|
135
|
+
**Experimental** — add: `code/python/`, `code/R/`, `data/raw/`, `data/processed/`, `output/figures/`, `output/tables/`, `output/logs/`
|
|
136
|
+
|
|
137
|
+
**Computational** — add: `src/<project-name>/` (with `__init__.py`), `tests/`, `experiments/configs/`, `results/`, `output/logs/`, `pyproject.toml`, `.python-version`
|
|
138
|
+
|
|
139
|
+
**Theoretical** — nothing extra.
|
|
140
|
+
|
|
141
|
+
**Mixed** — present elements and ask which to include.
|
|
142
|
+
|
|
143
|
+
**Venues:** When a target venue is known, seed `docs/venues/<venue-slug>/submission/`. For conference venues, also seed a submission checklist. Full venue structure and checklist template: [references/scaffold-details.md](references/scaffold-details.md).
|
|
144
|
+
|
|
145
|
+
### Python Tooling
|
|
146
|
+
|
|
147
|
+
**Always use `uv` — never bare `pip`, `python`, or `requirements.txt`.** For computational projects, init with `uv init`. For experimental projects, add `pyproject.toml` when dependencies are first needed.
|
|
148
|
+
|
|
149
|
+
### Implementation
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
mkdir -p <dir> && touch <dir>/.gitkeep # Create all directories
|
|
153
|
+
mkdir -p .claude/hooks # Create hook, chmod +x
|
|
154
|
+
mkdir -p .claude/state # Machine-specific memory (gitignored)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Phase 3: Seed Files
|
|
160
|
+
|
|
161
|
+
### CLAUDE.md vs README.md
|
|
162
|
+
|
|
163
|
+
- **CLAUDE.md** — Instructions for Claude: safety rules, folder structure, conventions, symlink paths
|
|
164
|
+
- **README.md** — Human-readable overview: title, authors, abstract, status checklist, links
|
|
165
|
+
|
|
166
|
+
Both overlap on basic metadata but diverge in purpose. Follow the `lean-claude-md` rule for CLAUDE.md.
|
|
167
|
+
|
|
168
|
+
### Seed File Templates
|
|
169
|
+
|
|
170
|
+
Full templates: [`templates/seed-files.md`](templates/seed-files.md)
|
|
171
|
+
|
|
172
|
+
| File | Purpose |
|
|
173
|
+
|------|---------|
|
|
174
|
+
| `CLAUDE.md` | Claude instructions: overview, venue, RQs, setup, conventions |
|
|
175
|
+
| `README.md` | Human overview: title, authors, abstract, links, status |
|
|
176
|
+
| `.gitignore` | Standard ignores: OS, IDE, data, paper, Python, R, LaTeX |
|
|
177
|
+
| `MEMORY.md` | Knowledge base: notation, estimands, decisions, pitfalls |
|
|
178
|
+
| `.context/current-focus.md` | Initial "just initialised" state |
|
|
179
|
+
| `.context/field-calibration.md` | Per-project domain profile for agents (placeholder template — `/interview-me` Phase 7 populates it) |
|
|
180
|
+
| `.context/project-recap.md` | Research design notes |
|
|
181
|
+
| `.claude/hooks/copy-paper-pdf.sh` | PDF copy hook |
|
|
182
|
+
| `log/YYYY-MM-DD-HHMM-setup.md` | Initial setup log: project name, creation date, scaffold type, next steps |
|
|
183
|
+
| `docs/pipeline-manifest.md` | **(Experimental/Computational only)** Script status, data files, manuscript figure manifest. Template: [`templates/pipeline-manifest.md`](templates/pipeline-manifest.md) |
|
|
184
|
+
| `run_all.sh` | **(Experimental/Computational only)** Multi-language pipeline executor (Python via uv, R, Stata). Template: [`templates/run-all.sh`](templates/run-all.sh). `chmod +x` after creation. |
|
|
185
|
+
|
|
186
|
+
### Permissions Sync
|
|
187
|
+
|
|
188
|
+
After writing `.claude/settings.local.json` (with hook config), merge global permissions into it so the new project starts with full permissions from day one:
|
|
189
|
+
|
|
190
|
+
1. Read `~/.claude/settings.json` → extract `permissions.allow` array
|
|
191
|
+
2. Read the newly created `.claude/settings.local.json`
|
|
192
|
+
3. Compute the union: `local_permissions ∪ global_permissions`
|
|
193
|
+
4. Write the merged `permissions.allow` back to `.claude/settings.local.json` (preserving the `hooks` key)
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Merge global permissions into the new project's settings
|
|
197
|
+
jq -s '.[0].permissions.allow as $global |
|
|
198
|
+
.[1] | .permissions.allow = ((.permissions.allow // []) + $global | unique | sort)' \
|
|
199
|
+
~/.claude/settings.json .claude/settings.local.json > .claude/settings.local.json.tmp \
|
|
200
|
+
&& mv .claude/settings.local.json.tmp .claude/settings.local.json
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Also merge the `permissions.deny` array using the same logic.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Phase 4: Overleaf Symlink & Template
|
|
208
|
+
|
|
209
|
+
### Paper Directory Convention (Nested Pattern)
|
|
210
|
+
|
|
211
|
+
Each paper submission gets its own **real directory** at project root (e.g., `paper/`, `paper-ccs/`, `paper-rg/`). Inside that directory, a `paper/` **symlink** points to the Overleaf folder. This nesting allows venue-specific files (submission checklists, cover letters, response documents, reviewer correspondence) to live alongside the Overleaf content without being synced to Overleaf.
|
|
212
|
+
|
|
213
|
+
**Structure:**
|
|
214
|
+
```
|
|
215
|
+
paper-ccs/ # Real directory (venue wrapper)
|
|
216
|
+
├── paper/ # Symlink → Overleaf directory
|
|
217
|
+
├── submission-checklist.md # Venue-specific (not in Overleaf)
|
|
218
|
+
├── cover-letter.tex # Venue-specific
|
|
219
|
+
└── response-to-reviewers.tex # Added after R&R
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Single-paper projects** use the same pattern:
|
|
223
|
+
```
|
|
224
|
+
paper/ # Real directory (venue wrapper)
|
|
225
|
+
└── paper/ # Symlink → Overleaf directory
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Naming convention:** `Paper {THEME_PREFIX} {Title Cased Slug}` — e.g., `Paper ASG Privacy Compliance Gaming`, `Paper BDS Identity Belief Alignment`. The theme prefix is a short abbreviation of the research theme:
|
|
229
|
+
|
|
230
|
+
| Theme | Prefix |
|
|
231
|
+
|-------|--------|
|
|
232
|
+
| Category A | ASG |
|
|
233
|
+
| Category B | BDS |
|
|
234
|
+
| Category C | EnvEcon |
|
|
235
|
+
| Category D | HAI |
|
|
236
|
+
| Industrial Organisation | IO |
|
|
237
|
+
| Mechanism Design | MechDes |
|
|
238
|
+
| NLP & Computational AI | NLP |
|
|
239
|
+
| Operations Research | OR |
|
|
240
|
+
| Category F | OrgStrat |
|
|
241
|
+
| Category G | PolSci |
|
|
242
|
+
|
|
243
|
+
For multi-venue submissions, append the venue abbreviation in parentheses: `Paper ASG Privacy Compliance Gaming (CCS)`.
|
|
244
|
+
|
|
245
|
+
**Commands:**
|
|
246
|
+
```bash
|
|
247
|
+
# Create the Overleaf project folder if it doesn't exist yet
|
|
248
|
+
# (creating a folder in the Overleaf root automatically creates an Overleaf project)
|
|
249
|
+
overleaf_root="$(cat ~/.config/task-mgmt/overleaf-root 2>/dev/null || echo ~/Apps/Overleaf)"
|
|
250
|
+
mkdir -p "$overleaf_root/Paper ASG Privacy Compliance Gaming (CCS)"
|
|
251
|
+
|
|
252
|
+
# For each venue:
|
|
253
|
+
mkdir -p paper-ccs
|
|
254
|
+
ln -s "$overleaf_root/Paper ASG Privacy Compliance Gaming (CCS)" paper-ccs/paper
|
|
255
|
+
|
|
256
|
+
# Single paper:
|
|
257
|
+
mkdir -p paper
|
|
258
|
+
ln -s "$overleaf_root/Paper BDS Identity Belief Alignment" paper/paper
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Important:** Never rename or delete Overleaf folders — see `.claude/rules/overleaf-separation.md` (Overleaf Folder Lifecycle).
|
|
262
|
+
|
|
263
|
+
Ensure `.latexmkrc` exists inside the Overleaf target (the symlink destination), not in the wrapper directory. Full template setup: [references/scaffold-details.md](references/scaffold-details.md#overleaf-symlink-commands-phase-4).
|
|
264
|
+
|
|
265
|
+
### Backup Directory
|
|
266
|
+
|
|
267
|
+
After creating paper directories, create a `backup/` directory with one subdirectory per paper:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
mkdir -p backup/
|
|
271
|
+
for d in paper*/; do
|
|
272
|
+
mkdir -p "backup/$(basename "$d")"
|
|
273
|
+
done
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Convention:** One `backup/` directory at project root, with subdirectories matching each `paper*` directory name. The daily `backup-overleaf-papers.sh` script copies `.tex`/`.bib`/style files from the Overleaf symlink targets into these subdirectories.
|
|
277
|
+
|
|
278
|
+
**Examples:**
|
|
279
|
+
- Single paper: `backup/paper/`
|
|
280
|
+
- Multi-paper: `backup/paper-ccs/`, `backup/paper-rg/`
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Phase 5: Git Init (conditional)
|
|
285
|
+
|
|
286
|
+
**Skip entirely if the user chose "No git" in Round 2.**
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
cd "<project-path>" && git init && git branch -m main && git add . && git commit -m "Initialize project: <working-title>"
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
If GitHub remote requested: `gh repo create "user/<project-name>" --private --source=. --remote=origin --push`
|
|
293
|
+
|
|
294
|
+
If local git only: remind to push before switching machines. **Do NOT push unless a remote was explicitly requested.**
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Phase 6: Atlas & Pipeline Sync
|
|
299
|
+
|
|
300
|
+
Creates the research topic in all systems: local file → vault atlas → vault pipeline → Venues → project folder → documentation.
|
|
301
|
+
|
|
302
|
+
Full steps (6a–6f) and Atlas defaults: [`references/atlas-pipeline-sync.md`](references/atlas-pipeline-sync.md)
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Phase 7: Task Management Integration
|
|
307
|
+
|
|
308
|
+
All paths relative to Task Management root.
|
|
309
|
+
|
|
310
|
+
### 7a. Update `.context/projects/_index.md`
|
|
311
|
+
|
|
312
|
+
Add a new row to the "Papers in Progress" table. Stage is typically "Idea" or "Literature Review".
|
|
313
|
+
|
|
314
|
+
### 7b. Create `.context/projects/papers/<short-name>.md`
|
|
315
|
+
|
|
316
|
+
Template in [references/scaffold-details.md](references/scaffold-details.md#papers-context-file-template).
|
|
317
|
+
|
|
318
|
+
### 7c. Update `.context/current-focus.md`
|
|
319
|
+
|
|
320
|
+
Add to Top 3 Active Projects or as an Open Loop. Use targeted `Edit` — do NOT rewrite the file.
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Phase 8: Literature & Discovery
|
|
325
|
+
|
|
326
|
+
After scaffolding and syncing, automatically run a literature review (`/literature`) and scout novelty assessment (`/scout`) in parallel via sub-agents.
|
|
327
|
+
|
|
328
|
+
Full steps (8a–8c) and error handling: [`references/literature-discovery.md`](references/literature-discovery.md)
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Phase 9: Confirmation Report
|
|
333
|
+
|
|
334
|
+
Print the structured confirmation after all phases complete.
|
|
335
|
+
|
|
336
|
+
Full template: [`references/confirmation-report.md`](references/confirmation-report.md)
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## Error Handling
|
|
341
|
+
|
|
342
|
+
- **Overleaf path doesn't exist:** Create symlink anyway (resolves when Overleaf syncs). Warn user.
|
|
343
|
+
- **gh CLI not available:** Skip GitHub, note in report.
|
|
344
|
+
- **taskflow MCP server fails:** Skip vault entry, offer to retry.
|
|
345
|
+
- **Directory already exists:** Ask whether to continue or abort.
|
|
346
|
+
- **Duplicate Atlas slug:** Flag and skip Atlas creation — may need merge into existing topic.
|
|
347
|
+
|
|
348
|
+
## Never Do These (Atlas)
|
|
349
|
+
|
|
350
|
+
- Never create a topic file without YAML frontmatter — it breaks RECAP.md generation
|
|
351
|
+
- Never hard-code vault theme paths — always look them up (they change if recreated)
|
|
352
|
+
- Never use Methods values outside the valid multi-select options — the API will reject
|
|
353
|
+
- Never use venue/output names as slugs — the slug names the research idea
|
|
354
|
+
- Never create a separate topic file for a companion paper of an existing idea — add it as an output instead
|
|
355
|
+
|
|
356
|
+
## Cross-References
|
|
357
|
+
|
|
358
|
+
| Skill | Relationship |
|
|
359
|
+
|-------|-------------|
|
|
360
|
+
| `/literature` | Runs automatically in Phase 8a — initial literature review |
|
|
361
|
+
| `/scout` | Runs automatically in Phase 8b — novelty assessment |
|
|
362
|
+
| `/project-safety` | Already handled — .gitignore and settings created during init |
|
|
363
|
+
| `/save-context` | Context library entries created during Phase 7 |
|
|
364
|
+
| `/session-log` | Offer to create a session log after init completes |
|
|
365
|
+
| `/interview-me` | To develop the research idea before scaffolding |
|
|
366
|
+
| `/atlas-deploy` | After init, run to compile and deploy changes to atlas.user.com |
|
|
367
|
+
| `/atlas-review` | **Drift trigger:** new projects change theme dir counts — see `atlas-review/references/drift-checks.md` |
|
|
368
|
+
| `references/domain-profile-template.md` | Template for economics/field-specific domain profiles — copy to project's `docs/domain-profile.md` during init for economics papers |
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Atlas & Pipeline Sync — Phase 6 Details
|
|
2
|
+
|
|
3
|
+
> Referenced from: `init-project-research/SKILL.md` Phase 6
|
|
4
|
+
|
|
5
|
+
Creates the research topic in all systems: local file → vault atlas → vault pipeline → Venues → project folder → documentation.
|
|
6
|
+
|
|
7
|
+
## 6a. Create Atlas Topic File
|
|
8
|
+
|
|
9
|
+
1. Read `research/atlas/themes.md` — current themes and topic lists
|
|
10
|
+
2. Glob `research/atlas/topics/**/*.md` — existing slugs (avoid duplicates)
|
|
11
|
+
3. Determine the **slug** (kebab-case, 2-5 words). Pattern: `{contribution}-{domain-object}`. Names the idea, not venue/output/method. Within clusters (e.g., carbon, elicitation), each slug needs a unique distinguishing word. Anti-patterns: acronyms (`efficient-pe`), bare fields (`smart-meters`), venue names (`facct-paper`). Good: `carbon-collusion`, `elicitation-cost-tradeoffs`.
|
|
12
|
+
4. Write `research/atlas/topics/{theme-dir}/{slug}.md` using the YAML frontmatter template from [`atlas-schema.md`](atlas-schema.md). Include `## Description`, `## Key References`, `## Open Questions`.
|
|
13
|
+
5. **Validate the topic file** before proceeding: run `uv run python research/atlas/schema.py topics/{theme-dir}/{slug}.md` from the atlas directory. If validation fails, fix the file before syncing to vault.
|
|
14
|
+
6. Update `research/atlas/themes.md` — add slug to the correct theme's topic list. If new theme needed: add row, create directory, create vault theme entry (`data_source_id: 2e8baef4-3e2e-4ea5-b25a-18a71ed47690`).
|
|
15
|
+
|
|
16
|
+
## 6b. Create vault Atlas Entry
|
|
17
|
+
|
|
18
|
+
1. Look up the theme's vault file ID via `mcp__taskflow__search_tasks`
|
|
19
|
+
2. Create Atlas entry via `mcp__taskflow__create_task` with parent `data_source_id: 0a227f82-60f4-451a-a163-bff2ce8fa9c3`
|
|
20
|
+
3. Map YAML fields to vault properties per [`atlas-schema.md`](atlas-schema.md)
|
|
21
|
+
4. Set Theme relation: `"[\"~/Research-Vault/{theme-page-id}\"]"`
|
|
22
|
+
5. Only use valid Methods multi-select values (see schema reference)
|
|
23
|
+
|
|
24
|
+
## 6c. Create vault Pipeline Entry
|
|
25
|
+
|
|
26
|
+
1. Create Pipeline row via `mcp__taskflow__create_task` with parent `data_source_id: YOUR-PIPELINE-DATABASE-ID-HERE`
|
|
27
|
+
2. Set: `Project Name` (title), Stage, Target Journal, Co-authors, Priority ("Medium")
|
|
28
|
+
3. Save the returned Pipeline page ID
|
|
29
|
+
4. **Link Pipeline→Atlas topic** via a separate `mcp__taskflow__update_task` call:
|
|
30
|
+
- Property name: `Topics` (NOT "Related Topics" — that's the Atlas-side name)
|
|
31
|
+
- Value format: `"Topics": "~/Research-Vault/{atlas_page_id_no_dashes}"`
|
|
32
|
+
- This is a dual relation: setting `Topics` on Pipeline also sets `Papers` on the Atlas entry
|
|
33
|
+
- **This step cannot be done during creation** — the relation must be set via `update_properties` after both pages exist
|
|
34
|
+
5. Link to Venues via "Target Venue" relation (search Venues DB `YOUR-CONFERENCES-DATABASE-ID-HERE` for venue pages)
|
|
35
|
+
6. **Verify the link**: fetch the Pipeline entry and confirm `Topics` contains the Atlas page URL
|
|
36
|
+
7. Save the Pipeline vault file URL for the confirmation report
|
|
37
|
+
|
|
38
|
+
## 6d. Create Project Folder
|
|
39
|
+
|
|
40
|
+
Create the project directory under the research projects root. Detect root location:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Dropbox (MacBook)
|
|
44
|
+
if [ -d "$HOME/Library/CloudStorage/YOUR-CLOUD/Research" ]; then
|
|
45
|
+
RESEARCH_ROOT="$HOME/Library/CloudStorage/YOUR-CLOUD/Research"
|
|
46
|
+
else
|
|
47
|
+
RESEARCH_ROOT="$HOME/Projects"
|
|
48
|
+
fi
|
|
49
|
+
mkdir -p "$RESEARCH_ROOT/{Theme Name}/{Project Name}"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 6e. Regenerate RECAP.md
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
uv run python research/atlas/generate_recap.py
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 6f. Update Atlas Counts
|
|
59
|
+
|
|
60
|
+
If topic or theme count changed, update `research/atlas/CLAUDE.md` topic/theme counts and theme directory listing.
|
|
61
|
+
|
|
62
|
+
## Atlas Defaults
|
|
63
|
+
|
|
64
|
+
| Setting | Default | Override |
|
|
65
|
+
|---------|---------|---------|
|
|
66
|
+
| Status | `Idea` | User specifies |
|
|
67
|
+
| Priority | `Medium` | User specifies |
|
|
68
|
+
| Data Availability | `None` | User specifies |
|
|
69
|
+
| Feasibility | `Medium` | User specifies |
|
|
70
|
+
| Institution | Infer from theme/co-author | User specifies |
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Atlas Schema Reference
|
|
2
|
+
|
|
3
|
+
## Vault paths
|
|
4
|
+
|
|
5
|
+
| Database | Data Source ID |
|
|
6
|
+
|----------|---------------|
|
|
7
|
+
| Research Themes | `2e8baef4-3e2e-4ea5-b25a-18a71ed47690` |
|
|
8
|
+
| Topic Inventory (Atlas) | `0a227f82-60f4-451a-a163-bff2ce8fa9c3` |
|
|
9
|
+
|
|
10
|
+
## Theme → Vault Path Mapping
|
|
11
|
+
|
|
12
|
+
Look up the theme page ID before creating atlas entries. Theme is a **relation** property — pass as JSON array of page URLs.
|
|
13
|
+
|
|
14
|
+
To find a theme's page ID: query the Research Themes database or use `mcp__taskflow__search_tasks` for the theme name.
|
|
15
|
+
|
|
16
|
+
Format for the Theme relation property:
|
|
17
|
+
```
|
|
18
|
+
"Theme": "[\"~/Research-Vault/<theme-page-id-no-dashes>\"]"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## YAML Frontmatter Template
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
---
|
|
25
|
+
title: "Topic Name"
|
|
26
|
+
theme: "Theme Name" # Must match a theme in themes.md
|
|
27
|
+
status: "Idea" # Idea | Exploring | Active Project | Parked | Archived
|
|
28
|
+
institution: "Bath" # Warwick | Bath | Southampton | UPF | None
|
|
29
|
+
project_path: "Theme Name/Project Name" # Relative to Projects/
|
|
30
|
+
linked_projects: []
|
|
31
|
+
connected_topics: ["slug-1", "slug-2"] # kebab-case slugs of related topics
|
|
32
|
+
methods: ["Game Theory", "Formal Model"]
|
|
33
|
+
co_authors: "Name"
|
|
34
|
+
outputs:
|
|
35
|
+
- venue: "Venue Name"
|
|
36
|
+
format: "Full paper" # Full paper | Extended abstract | Perspective | Working paper
|
|
37
|
+
status: "Planned" # Planned | Drafting | Submitted | Accepted | Published
|
|
38
|
+
label: "" # Optional: short label for multi-output topics
|
|
39
|
+
deadline: "" # Optional: YYYY-MM-DD
|
|
40
|
+
feasibility: "High" # High | Medium | Low
|
|
41
|
+
data_availability: "None" # Open Data | Exists (needs access) | Needs Collection | None
|
|
42
|
+
priority: "Medium" # Critical | High | Medium | Low
|
|
43
|
+
---
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Body Template
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
## Description
|
|
50
|
+
|
|
51
|
+
[1-3 sentences: core research question and approach]
|
|
52
|
+
|
|
53
|
+
## Key References
|
|
54
|
+
|
|
55
|
+
- [Source: Scout report or existing paper]
|
|
56
|
+
- [Scout novelty score if available]
|
|
57
|
+
|
|
58
|
+
## Open Questions
|
|
59
|
+
|
|
60
|
+
- [Key unknowns]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Vault Methods Multi-Select Options
|
|
64
|
+
|
|
65
|
+
Only these values are valid (others will error):
|
|
66
|
+
`MCDM`, `Experiment`, `Formal Model`, `Survey`, `Simulation`, `Econometrics`, `Game Theory`, `Meta-Analysis`, `Qualitative`, `NLP/ML`
|
|
67
|
+
|
|
68
|
+
If a topic uses methods not in this list (e.g., "Mechanism Design", "Cryptography"), map to the closest valid option or omit.
|
|
69
|
+
|
|
70
|
+
## File Naming
|
|
71
|
+
|
|
72
|
+
- Topic file: `kebab-case-slug.md` in `research/atlas/topics/{theme-dir}/`
|
|
73
|
+
- Theme directories: `operations-research/`, `behavioural-decision-science/`, `ai-safety-governance/`, `human-ai-interaction/`, `mechanism-design/`, `nlp-computational-ai/`, `political-science/`, `organisation-strategy/`, `environmental-economics/`
|
|
74
|
+
|
|
75
|
+
## Research Project Path
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
$RESEARCH_ROOT/{Theme Name}/{Project Name}/
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Where `$RESEARCH_ROOT` is `~/Library/CloudStorage/YOUR-CLOUD/Research` (MacBook) or `~/Projects` (Mac Mini).
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Phase 9: Confirmation Report Template
|
|
2
|
+
|
|
3
|
+
> Print this after all phases complete in `/init-project-research`.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
Created research project: <Working Title>
|
|
7
|
+
|
|
8
|
+
Directory: <full path>
|
|
9
|
+
Structure: <N> folders, <N> files
|
|
10
|
+
Git: initialised on branch main (<short commit hash>)
|
|
11
|
+
GitHub: <URL or "local-only">
|
|
12
|
+
Overleaf: paper/ → <target path>
|
|
13
|
+
|
|
14
|
+
Atlas & Pipeline:
|
|
15
|
+
- Atlas topic file: research/atlas/topics/{theme}/{slug}.md
|
|
16
|
+
- vault atlas entry: created (<URL>)
|
|
17
|
+
- vault pipeline entry: created (<URL>)
|
|
18
|
+
- Venue links: <venue names>
|
|
19
|
+
- Project folder: created
|
|
20
|
+
- RECAP.md: regenerated
|
|
21
|
+
|
|
22
|
+
Task Management updates:
|
|
23
|
+
- projects/_index.md: added row
|
|
24
|
+
- projects/papers/<name>.md: created
|
|
25
|
+
- current-focus.md: updated
|
|
26
|
+
|
|
27
|
+
Literature & Discovery:
|
|
28
|
+
- Literature review: docs/literature-review/YYYY-MM-DD-initial-review.md (<N> papers)
|
|
29
|
+
- Bibliography: docs/literature-review/references.bib
|
|
30
|
+
- Scout novelty: docs/YYYY-MM-DD-scout-novelty.md (score: X/10)
|
|
31
|
+
- Atlas topic updated: key references + novelty assessment added
|
|
32
|
+
|
|
33
|
+
Setup log: log/<filename> created
|
|
34
|
+
|
|
35
|
+
Next steps:
|
|
36
|
+
1. Open Overleaf and set up main.tex
|
|
37
|
+
2. Review literature map in docs/literature-review/
|
|
38
|
+
3. Start drafting in paper/
|
|
39
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Domain Profile Template
|
|
2
|
+
|
|
3
|
+
> Copy this template to your project's `docs/domain-profile.md` and fill it in.
|
|
4
|
+
> All agents and skills read this file to calibrate field-specific behaviour.
|
|
5
|
+
> Adapted from Sant'Anna's clo-author domain-profile system.
|
|
6
|
+
|
|
7
|
+
## Field
|
|
8
|
+
|
|
9
|
+
**Primary:** [e.g., Health Economics, Labour Economics, Development, IO, Public Finance, Organisational Behaviour]
|
|
10
|
+
**Adjacent subfields:** [e.g., Labour, Public, IO — fields whose methods and journals overlap]
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Target Journals (ranked by tier)
|
|
15
|
+
|
|
16
|
+
<!-- Used for journal selection and literature prioritisation. -->
|
|
17
|
+
|
|
18
|
+
| Tier | Journals |
|
|
19
|
+
|------|----------|
|
|
20
|
+
| Top-5 | AER, Econometrica, JPE, QJE, REStud |
|
|
21
|
+
| Top field | [e.g., JHE, RAND JE, AEJ:EP, AEJ:Applied, Management Science] |
|
|
22
|
+
| Strong field | [e.g., Health Affairs, AJHE, JPubE, JHR, Organization Science] |
|
|
23
|
+
| Specialty | [e.g., Medical Care, Health Services Research, JEBO] |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Common Data Sources
|
|
28
|
+
|
|
29
|
+
<!-- Prioritised during data discovery. -->
|
|
30
|
+
|
|
31
|
+
| Dataset | Type | Access | Notes |
|
|
32
|
+
|---------|------|--------|-------|
|
|
33
|
+
| [e.g., CPS] | [survey/admin/panel] | [public/restricted] | [key strengths and limitations] |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Common Identification Strategies
|
|
38
|
+
|
|
39
|
+
<!-- Considered first during strategy design. -->
|
|
40
|
+
|
|
41
|
+
| Strategy | Typical Application | Key Assumption to Defend |
|
|
42
|
+
|----------|-------------------|--------------------------|
|
|
43
|
+
| [e.g., State-level DiD] | [Policy variation across states] | [Parallel trends in outcomes across treated/control states] |
|
|
44
|
+
| [e.g., RDD at eligibility threshold] | [Programme eligibility cutoff] | [No manipulation of running variable at cutoff] |
|
|
45
|
+
| [e.g., IV with shift-share] | [Labour supply shocks] | [Exclusion restriction: instrument affects outcome only through treatment] |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Field Conventions
|
|
50
|
+
|
|
51
|
+
<!-- Followed by estimation and writing skills. -->
|
|
52
|
+
|
|
53
|
+
- [e.g., Binary outcomes → report LPM alongside logit/probit marginal effects]
|
|
54
|
+
- [e.g., Cost outcomes → log transform or GLM (Gamma, log link)]
|
|
55
|
+
- [e.g., Clustering at state level for state-level policy variation]
|
|
56
|
+
- [e.g., Always discuss moral hazard / adverse selection implications]
|
|
57
|
+
- [e.g., Welfare analysis expected in top-5 submissions]
|
|
58
|
+
- [e.g., Stars: * p < 0.10, ** p < 0.05, *** p < 0.01]
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Notation Conventions
|
|
63
|
+
|
|
64
|
+
<!-- Enforced in paper writing and reviewing. -->
|
|
65
|
+
|
|
66
|
+
| Symbol | Meaning | Anti-pattern |
|
|
67
|
+
|--------|---------|-------------|
|
|
68
|
+
| [e.g., $Y_{it}$] | [Outcome for individual i at time t] | [Don't use $y$ without subscripts] |
|
|
69
|
+
| [e.g., $D_{it}$] | [Treatment indicator] | [Don't use $T$ — conflicts with time] |
|
|
70
|
+
| [e.g., $\beta$] | [Parameter of interest] | [Don't use $b$ for coefficients] |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Seminal References
|
|
75
|
+
|
|
76
|
+
<!-- Ensures these are cited when relevant. -->
|
|
77
|
+
|
|
78
|
+
| Paper | Why It Matters |
|
|
79
|
+
|-------|---------------|
|
|
80
|
+
| [e.g., Finkelstein et al. (2012)] | [Oregon HIE — gold standard for insurance effects] |
|
|
81
|
+
| [e.g., Callaway & Sant'Anna (2021)] | [Modern DiD with staggered treatment] |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Field-Specific Referee Concerns
|
|
86
|
+
|
|
87
|
+
<!-- Watch list for peer review simulation. -->
|
|
88
|
+
|
|
89
|
+
- [e.g., "Why not use the Oregon HIE?" — must address if studying insurance effects]
|
|
90
|
+
- [e.g., "Selection into treatment" — always a concern in health care utilisation studies]
|
|
91
|
+
- [e.g., "External validity" — Medicaid population ≠ general population]
|
|
92
|
+
- [e.g., "Moral hazard vs adverse selection" — referees expect you to distinguish]
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Quality Tolerance Thresholds
|
|
97
|
+
|
|
98
|
+
<!-- Customise for your domain's standards. -->
|
|
99
|
+
|
|
100
|
+
| Quantity | Tolerance | Rationale |
|
|
101
|
+
|----------|-----------|-----------|
|
|
102
|
+
| Point estimates | [e.g., 1e-6] | [Numerical precision] |
|
|
103
|
+
| Standard errors | [e.g., 1e-4] | [MC variability] |
|
|
104
|
+
| Coverage rates | [e.g., ± 0.01] | [Simulation with B reps] |
|