flonat-research 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/.claude/agents/domain-reviewer.md +336 -0
  2. package/.claude/agents/fixer.md +226 -0
  3. package/.claude/agents/paper-critic.md +370 -0
  4. package/.claude/agents/peer-reviewer.md +289 -0
  5. package/.claude/agents/proposal-reviewer.md +215 -0
  6. package/.claude/agents/referee2-reviewer.md +367 -0
  7. package/.claude/agents/references/journal-referee-profiles.md +354 -0
  8. package/.claude/agents/references/paper-critic/council-personas.md +77 -0
  9. package/.claude/agents/references/paper-critic/council-prompts.md +198 -0
  10. package/.claude/agents/references/peer-reviewer/report-template.md +199 -0
  11. package/.claude/agents/references/peer-reviewer/sa-prompts.md +260 -0
  12. package/.claude/agents/references/peer-reviewer/security-scan.md +188 -0
  13. package/.claude/agents/references/proposal-reviewer/report-template.md +144 -0
  14. package/.claude/agents/references/proposal-reviewer/sa-prompts.md +149 -0
  15. package/.claude/agents/references/referee-config.md +114 -0
  16. package/.claude/agents/references/referee2-reviewer/audit-checklists.md +287 -0
  17. package/.claude/agents/references/referee2-reviewer/report-template.md +334 -0
  18. package/.claude/rules/design-before-results.md +52 -0
  19. package/.claude/rules/ignore-agents-md.md +17 -0
  20. package/.claude/rules/ignore-gemini-md.md +17 -0
  21. package/.claude/rules/lean-claude-md.md +45 -0
  22. package/.claude/rules/learn-tags.md +99 -0
  23. package/.claude/rules/overleaf-separation.md +67 -0
  24. package/.claude/rules/plan-first.md +175 -0
  25. package/.claude/rules/read-docs-first.md +50 -0
  26. package/.claude/rules/scope-discipline.md +28 -0
  27. package/.claude/settings.json +125 -0
  28. package/.context/current-focus.md +33 -0
  29. package/.context/preferences/priorities.md +36 -0
  30. package/.context/preferences/task-naming.md +28 -0
  31. package/.context/profile.md +29 -0
  32. package/.context/projects/_index.md +41 -0
  33. package/.context/projects/papers/nudge-exp.md +22 -0
  34. package/.context/projects/papers/uncertainty.md +31 -0
  35. package/.context/resources/claude-scientific-writer-review.md +48 -0
  36. package/.context/resources/cunningham-multi-analyst-agents.md +104 -0
  37. package/.context/resources/cunningham-multilang-code-audit.md +62 -0
  38. package/.context/resources/google-ai-co-scientist-review.md +72 -0
  39. package/.context/resources/karpathy-llm-council-review.md +58 -0
  40. package/.context/resources/multi-coder-reliability-protocol.md +175 -0
  41. package/.context/resources/pedro-santanna-takeaways.md +96 -0
  42. package/.context/resources/venue-rankings/abs_ajg_2024.csv +1823 -0
  43. package/.context/resources/venue-rankings/abs_ajg_2024_econ.csv +356 -0
  44. package/.context/resources/venue-rankings/cabs_4_4star_theory.csv +40 -0
  45. package/.context/resources/venue-rankings/core_2026.csv +801 -0
  46. package/.context/resources/venue-rankings.md +147 -0
  47. package/.context/workflows/README.md +69 -0
  48. package/.context/workflows/daily-review.md +91 -0
  49. package/.context/workflows/meeting-actions.md +108 -0
  50. package/.context/workflows/replication-protocol.md +155 -0
  51. package/.context/workflows/weekly-review.md +113 -0
  52. package/.mcp-server-biblio/formatters.py +158 -0
  53. package/.mcp-server-biblio/pyproject.toml +11 -0
  54. package/.mcp-server-biblio/server.py +678 -0
  55. package/.mcp-server-biblio/sources/__init__.py +14 -0
  56. package/.mcp-server-biblio/sources/base.py +73 -0
  57. package/.mcp-server-biblio/sources/formatters.py +83 -0
  58. package/.mcp-server-biblio/sources/models.py +22 -0
  59. package/.mcp-server-biblio/sources/multi_source.py +243 -0
  60. package/.mcp-server-biblio/sources/openalex_source.py +183 -0
  61. package/.mcp-server-biblio/sources/scopus_source.py +309 -0
  62. package/.mcp-server-biblio/sources/wos_source.py +508 -0
  63. package/.mcp-server-biblio/uv.lock +896 -0
  64. package/.scripts/README.md +161 -0
  65. package/.scripts/ai_pattern_density.py +446 -0
  66. package/.scripts/conf +445 -0
  67. package/.scripts/config.py +122 -0
  68. package/.scripts/count_inventory.py +275 -0
  69. package/.scripts/daily_digest.py +288 -0
  70. package/.scripts/done +177 -0
  71. package/.scripts/extract_meeting_actions.py +223 -0
  72. package/.scripts/focus +176 -0
  73. package/.scripts/generate-codex-agents-md.py +217 -0
  74. package/.scripts/inbox +194 -0
  75. package/.scripts/notion_helpers.py +325 -0
  76. package/.scripts/openalex/query_helpers.py +306 -0
  77. package/.scripts/papers +227 -0
  78. package/.scripts/query +223 -0
  79. package/.scripts/session-history.py +201 -0
  80. package/.scripts/skill-health.py +516 -0
  81. package/.scripts/skill-log-miner.py +273 -0
  82. package/.scripts/sync-to-codex.sh +252 -0
  83. package/.scripts/task +213 -0
  84. package/.scripts/tasks +190 -0
  85. package/.scripts/week +206 -0
  86. package/CLAUDE.md +197 -0
  87. package/LICENSE +21 -0
  88. package/MEMORY.md +38 -0
  89. package/README.md +269 -0
  90. package/docs/agents.md +44 -0
  91. package/docs/bibliography-setup.md +55 -0
  92. package/docs/council-mode.md +36 -0
  93. package/docs/getting-started.md +245 -0
  94. package/docs/hooks.md +38 -0
  95. package/docs/mcp-servers.md +82 -0
  96. package/docs/notion-setup.md +109 -0
  97. package/docs/rules.md +33 -0
  98. package/docs/scripts.md +303 -0
  99. package/docs/setup-overview/setup-overview.pdf +0 -0
  100. package/docs/skills.md +70 -0
  101. package/docs/system.md +159 -0
  102. package/hooks/block-destructive-git.sh +66 -0
  103. package/hooks/context-monitor.py +114 -0
  104. package/hooks/postcompact-restore.py +157 -0
  105. package/hooks/precompact-autosave.py +181 -0
  106. package/hooks/promise-checker.sh +124 -0
  107. package/hooks/protect-source-files.sh +81 -0
  108. package/hooks/resume-context-loader.sh +53 -0
  109. package/hooks/startup-context-loader.sh +102 -0
  110. package/package.json +51 -0
  111. package/packages/cli-council/.github/workflows/claude-code-review.yml +44 -0
  112. package/packages/cli-council/.github/workflows/claude.yml +50 -0
  113. package/packages/cli-council/README.md +100 -0
  114. package/packages/cli-council/pyproject.toml +43 -0
  115. package/packages/cli-council/src/cli_council/__init__.py +19 -0
  116. package/packages/cli-council/src/cli_council/__main__.py +185 -0
  117. package/packages/cli-council/src/cli_council/backends/__init__.py +8 -0
  118. package/packages/cli-council/src/cli_council/backends/base.py +81 -0
  119. package/packages/cli-council/src/cli_council/backends/claude.py +25 -0
  120. package/packages/cli-council/src/cli_council/backends/codex.py +27 -0
  121. package/packages/cli-council/src/cli_council/backends/gemini.py +26 -0
  122. package/packages/cli-council/src/cli_council/checkpoint.py +212 -0
  123. package/packages/cli-council/src/cli_council/config.py +51 -0
  124. package/packages/cli-council/src/cli_council/council.py +391 -0
  125. package/packages/cli-council/src/cli_council/models.py +46 -0
  126. package/packages/llm-council/.github/workflows/claude-code-review.yml +44 -0
  127. package/packages/llm-council/.github/workflows/claude.yml +50 -0
  128. package/packages/llm-council/README.md +453 -0
  129. package/packages/llm-council/pyproject.toml +42 -0
  130. package/packages/llm-council/src/llm_council/__init__.py +23 -0
  131. package/packages/llm-council/src/llm_council/__main__.py +259 -0
  132. package/packages/llm-council/src/llm_council/checkpoint.py +193 -0
  133. package/packages/llm-council/src/llm_council/client.py +253 -0
  134. package/packages/llm-council/src/llm_council/config.py +232 -0
  135. package/packages/llm-council/src/llm_council/council.py +482 -0
  136. package/packages/llm-council/src/llm_council/models.py +46 -0
  137. package/packages/mcp-bibliography/MEMORY.md +31 -0
  138. package/packages/mcp-bibliography/_app.py +226 -0
  139. package/packages/mcp-bibliography/formatters.py +158 -0
  140. package/packages/mcp-bibliography/log/2026-03-13-2100.md +35 -0
  141. package/packages/mcp-bibliography/pyproject.toml +15 -0
  142. package/packages/mcp-bibliography/run.sh +20 -0
  143. package/packages/mcp-bibliography/scholarly_formatters.py +83 -0
  144. package/packages/mcp-bibliography/server.py +1857 -0
  145. package/packages/mcp-bibliography/tools/__init__.py +28 -0
  146. package/packages/mcp-bibliography/tools/_registry.py +19 -0
  147. package/packages/mcp-bibliography/tools/altmetric.py +107 -0
  148. package/packages/mcp-bibliography/tools/core.py +92 -0
  149. package/packages/mcp-bibliography/tools/dblp.py +52 -0
  150. package/packages/mcp-bibliography/tools/openalex.py +296 -0
  151. package/packages/mcp-bibliography/tools/opencitations.py +102 -0
  152. package/packages/mcp-bibliography/tools/openreview.py +179 -0
  153. package/packages/mcp-bibliography/tools/orcid.py +131 -0
  154. package/packages/mcp-bibliography/tools/scholarly.py +575 -0
  155. package/packages/mcp-bibliography/tools/unpaywall.py +63 -0
  156. package/packages/mcp-bibliography/tools/zenodo.py +123 -0
  157. package/packages/mcp-bibliography/uv.lock +711 -0
  158. package/scripts/setup.sh +143 -0
  159. package/skills/beamer-deck/SKILL.md +199 -0
  160. package/skills/beamer-deck/references/quality-rubric.md +54 -0
  161. package/skills/beamer-deck/references/review-prompts.md +106 -0
  162. package/skills/bib-validate/SKILL.md +261 -0
  163. package/skills/bib-validate/references/council-mode.md +34 -0
  164. package/skills/bib-validate/references/deep-verify.md +79 -0
  165. package/skills/bib-validate/references/fix-mode.md +36 -0
  166. package/skills/bib-validate/references/openalex-verification.md +45 -0
  167. package/skills/bib-validate/references/preprint-check.md +31 -0
  168. package/skills/bib-validate/references/ref-manager-crossref.md +41 -0
  169. package/skills/bib-validate/references/report-template.md +82 -0
  170. package/skills/code-archaeology/SKILL.md +141 -0
  171. package/skills/code-review/SKILL.md +265 -0
  172. package/skills/code-review/references/quality-rubric.md +67 -0
  173. package/skills/consolidate-memory/SKILL.md +208 -0
  174. package/skills/context-status/SKILL.md +126 -0
  175. package/skills/creation-guard/SKILL.md +230 -0
  176. package/skills/devils-advocate/SKILL.md +130 -0
  177. package/skills/devils-advocate/references/competing-hypotheses.md +83 -0
  178. package/skills/init-project/SKILL.md +115 -0
  179. package/skills/init-project-course/references/memory-and-settings.md +92 -0
  180. package/skills/init-project-course/references/organise-templates.md +94 -0
  181. package/skills/init-project-course/skill.md +147 -0
  182. package/skills/init-project-light/skill.md +139 -0
  183. package/skills/init-project-research/SKILL.md +368 -0
  184. package/skills/init-project-research/references/atlas-pipeline-sync.md +70 -0
  185. package/skills/init-project-research/references/atlas-schema.md +81 -0
  186. package/skills/init-project-research/references/confirmation-report.md +39 -0
  187. package/skills/init-project-research/references/domain-profile-template.md +104 -0
  188. package/skills/init-project-research/references/interview-round3.md +34 -0
  189. package/skills/init-project-research/references/literature-discovery.md +43 -0
  190. package/skills/init-project-research/references/scaffold-details.md +197 -0
  191. package/skills/init-project-research/templates/field-calibration.md +60 -0
  192. package/skills/init-project-research/templates/pipeline-manifest.md +63 -0
  193. package/skills/init-project-research/templates/run-all.sh +116 -0
  194. package/skills/init-project-research/templates/seed-files.md +337 -0
  195. package/skills/insights-deck/SKILL.md +151 -0
  196. package/skills/interview-me/SKILL.md +157 -0
  197. package/skills/latex/SKILL.md +141 -0
  198. package/skills/latex/references/latex-configs.md +183 -0
  199. package/skills/latex-autofix/SKILL.md +230 -0
  200. package/skills/latex-autofix/references/known-errors.md +183 -0
  201. package/skills/latex-autofix/references/quality-rubric.md +50 -0
  202. package/skills/latex-health-check/SKILL.md +161 -0
  203. package/skills/learn/SKILL.md +220 -0
  204. package/skills/learn/scripts/validate_skill.py +265 -0
  205. package/skills/lessons-learned/SKILL.md +201 -0
  206. package/skills/literature/SKILL.md +335 -0
  207. package/skills/literature/references/agent-templates.md +393 -0
  208. package/skills/literature/references/bibliometric-apis.md +44 -0
  209. package/skills/literature/references/cli-council-search.md +79 -0
  210. package/skills/literature/references/openalex-api-guide.md +371 -0
  211. package/skills/literature/references/openalex-common-queries.md +381 -0
  212. package/skills/literature/references/openalex-workflows.md +248 -0
  213. package/skills/literature/references/reference-manager-sync.md +36 -0
  214. package/skills/literature/references/scopus-api-guide.md +208 -0
  215. package/skills/literature/references/wos-api-guide.md +308 -0
  216. package/skills/multi-perspective/SKILL.md +311 -0
  217. package/skills/multi-perspective/references/computational-many-analysts.md +77 -0
  218. package/skills/pipeline-manifest/SKILL.md +226 -0
  219. package/skills/pre-submission-report/SKILL.md +153 -0
  220. package/skills/process-reviews/SKILL.md +244 -0
  221. package/skills/process-reviews/references/rr-routing.md +101 -0
  222. package/skills/project-deck/SKILL.md +87 -0
  223. package/skills/project-safety/SKILL.md +135 -0
  224. package/skills/proofread/SKILL.md +254 -0
  225. package/skills/proofread/references/quality-rubric.md +104 -0
  226. package/skills/python-env/SKILL.md +57 -0
  227. package/skills/quarto-deck/SKILL.md +226 -0
  228. package/skills/quarto-deck/references/markdown-format.md +143 -0
  229. package/skills/quarto-deck/references/quality-rubric.md +54 -0
  230. package/skills/save-context/SKILL.md +174 -0
  231. package/skills/session-log/SKILL.md +98 -0
  232. package/skills/shared/concept-validation-gate.md +161 -0
  233. package/skills/shared/council-protocol.md +265 -0
  234. package/skills/shared/distribution-diagnostics.md +164 -0
  235. package/skills/shared/engagement-stratified-sampling.md +218 -0
  236. package/skills/shared/escalation-protocol.md +74 -0
  237. package/skills/shared/external-audit-protocol.md +205 -0
  238. package/skills/shared/intercoder-reliability.md +256 -0
  239. package/skills/shared/mcp-degradation.md +81 -0
  240. package/skills/shared/method-probing-questions.md +163 -0
  241. package/skills/shared/multi-language-conventions.md +143 -0
  242. package/skills/shared/paid-api-safety.md +174 -0
  243. package/skills/shared/palettes.md +90 -0
  244. package/skills/shared/progressive-disclosure.md +92 -0
  245. package/skills/shared/project-documentation-content.md +443 -0
  246. package/skills/shared/project-documentation-format.md +281 -0
  247. package/skills/shared/project-documentation.md +100 -0
  248. package/skills/shared/publication-output.md +138 -0
  249. package/skills/shared/quality-scoring.md +70 -0
  250. package/skills/shared/reference-resolution.md +77 -0
  251. package/skills/shared/research-quality-rubric.md +165 -0
  252. package/skills/shared/rhetoric-principles.md +54 -0
  253. package/skills/shared/skill-design-patterns.md +272 -0
  254. package/skills/shared/skill-index.md +240 -0
  255. package/skills/shared/system-documentation.md +334 -0
  256. package/skills/shared/tikz-rules.md +402 -0
  257. package/skills/shared/validation-tiers.md +121 -0
  258. package/skills/shared/venue-guides/README.md +46 -0
  259. package/skills/shared/venue-guides/cell_press_style.md +483 -0
  260. package/skills/shared/venue-guides/conferences_formatting.md +564 -0
  261. package/skills/shared/venue-guides/cs_conference_style.md +463 -0
  262. package/skills/shared/venue-guides/examples/cell_summary_example.md +247 -0
  263. package/skills/shared/venue-guides/examples/medical_structured_abstract.md +313 -0
  264. package/skills/shared/venue-guides/examples/nature_abstract_examples.md +213 -0
  265. package/skills/shared/venue-guides/examples/neurips_introduction_example.md +245 -0
  266. package/skills/shared/venue-guides/journals_formatting.md +486 -0
  267. package/skills/shared/venue-guides/medical_journal_styles.md +535 -0
  268. package/skills/shared/venue-guides/ml_conference_style.md +556 -0
  269. package/skills/shared/venue-guides/nature_science_style.md +405 -0
  270. package/skills/shared/venue-guides/reviewer_expectations.md +417 -0
  271. package/skills/shared/venue-guides/venue_writing_styles.md +321 -0
  272. package/skills/split-pdf/SKILL.md +172 -0
  273. package/skills/split-pdf/methodology.md +48 -0
  274. package/skills/sync-notion/SKILL.md +93 -0
  275. package/skills/system-audit/SKILL.md +157 -0
  276. package/skills/system-audit/references/sub-agent-prompts.md +294 -0
  277. package/skills/task-management/SKILL.md +131 -0
  278. package/skills/update-focus/SKILL.md +204 -0
  279. package/skills/update-project-doc/SKILL.md +194 -0
  280. package/skills/validate-bib/SKILL.md +242 -0
  281. package/skills/validate-bib/references/council-mode.md +34 -0
  282. package/skills/validate-bib/references/deep-verify.md +71 -0
  283. package/skills/validate-bib/references/openalex-verification.md +45 -0
  284. package/skills/validate-bib/references/preprint-check.md +31 -0
  285. package/skills/validate-bib/references/report-template.md +62 -0
@@ -0,0 +1,92 @@
1
+ # Phase 5-7: MEMORY.md Templates, Settings & Vault Sync
2
+
3
+ > Templates for seeding MEMORY.md, settings.local.json, and vault pipeline sync for `/init-project-course`.
4
+
5
+ ---
6
+
7
+ ## MEMORY.md — Student Module Template
8
+
9
+ ```markdown
10
+ # MEMORY — [Module Code] [Module Name]
11
+
12
+ ## Notation Registry
13
+
14
+ | Variable | Convention | Anti-pattern |
15
+ |----------|-----------|--------------|
16
+
17
+ ## Key Decisions
18
+
19
+ | Decision | Rationale | Date |
20
+ |----------|-----------|------|
21
+
22
+ ## Code Pitfalls
23
+
24
+ | Bug | Impact | Fix |
25
+ |-----|--------|-----|
26
+ ```
27
+
28
+ ## MEMORY.md — Instructor Module Template
29
+
30
+ ```markdown
31
+ # MEMORY — [Module Code] [Module Name]
32
+
33
+ ## Student Misconceptions
34
+
35
+ | Misconception | Correction | How to address |
36
+ |---------------|-----------|----------------|
37
+
38
+ ## Marking Notes
39
+
40
+ | Pattern | Frequency | Comment |
41
+ |---------|-----------|---------|
42
+
43
+ ## Code Pitfalls
44
+
45
+ | Bug | Impact | Fix |
46
+ |-----|--------|-----|
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Settings — settings.local.json
52
+
53
+ If `.claude/settings.local.json` exists, leave it. If not, create one:
54
+
55
+ ```json
56
+ {
57
+ "permissions": {
58
+ "allow": [
59
+ "Bash(latexmk *)",
60
+ "Bash(ls:*)",
61
+ "Bash(mkdir:*)",
62
+ "Bash(tree:*)",
63
+ "Bash(npm *)",
64
+ "Bash(node *)",
65
+ "Edit",
66
+ "Glob",
67
+ "Grep",
68
+ "Read",
69
+ "Write"
70
+ ],
71
+ "deny": []
72
+ }
73
+ }
74
+ ```
75
+
76
+ ---
77
+
78
+ ## vault pipeline Sync
79
+
80
+ Offer to create a row in the appropriate vault pipeline. If the user accepts:
81
+
82
+ ### Student module → Modules Pipeline (Student)
83
+
84
+ - **Database data source ID:** `YOUR-MODULES-STUDENT-DATABASE-ID-HERE`
85
+ - Set: Module Name, Module Code, University, Programme, Term, Year, Status, Assessment Type, Credits, Instructor, Folder Path, Has CLAUDE.md = `__YES__`
86
+
87
+ ### Instructor module → Modules Pipeline (Instructor)
88
+
89
+ - **Database data source ID:** `YOUR-MODULES-INSTRUCTOR-DATABASE-ID-HERE`
90
+ - Set: Module Name, Module Code, University, Term, Year, Role, Status, Module Leader, Folder Path, Has CLAUDE.md = `__YES__`
91
+
92
+ Use information gathered from the interview. Leave unknown fields empty rather than guessing.
@@ -0,0 +1,94 @@
1
+ # Phase 3: Organise — Templates & Handling Rules
2
+
3
+ > Directory structure templates, workshop naming, and file handling rules for `/init-project-course` Phase 3.
4
+
5
+ ---
6
+
7
+ ## Student Template
8
+
9
+ For modules where the user is a student:
10
+
11
+ ```
12
+ module-folder/
13
+ ├── lectures/ or seminars/ # Lecture slides or seminar papers/readings
14
+ ├── notes/ # Personal notes, reading summaries
15
+ ├── recordings/ # Lecture recordings (if any video files exist)
16
+ ├── workshops/
17
+ │ ├── 01-topic-slug/
18
+ │ ├── 02-topic-slug/
19
+ │ └── ...
20
+ ├── assessments/
21
+ │ ├── group-work/ # Only if group assessment exists
22
+ │ ├── individual/ # Only if individual assessment exists
23
+ │ └── exam/ # Only if exam exists
24
+ ├── docs/ # Module specification, guidelines, syllabi
25
+ ├── reviews/ # Created on demand by review agents
26
+ ├── to-sort/ # Inbox for unsorted files
27
+ ├── .claude/
28
+ │ └── settings.local.json
29
+ ├── CLAUDE.md
30
+ └── MEMORY.md # Notation registry, code pitfalls (seeded)
31
+ ```
32
+
33
+ **Use `seminars/` instead of `lectures/`** when the module is discussion-based (no traditional lectures — e.g., IB9PK-style with seminar papers and readings).
34
+
35
+ ## Instructor Template
36
+
37
+ For modules where the user teaches:
38
+
39
+ ```
40
+ module-folder/
41
+ ├── lectures/ or classes/ # Lecture slides
42
+ ├── recordings/ # Lecture recordings (if any video files exist)
43
+ ├── workshops/ or labs/
44
+ │ ├── 01-topic-slug/
45
+ │ ├── 02-topic-slug/
46
+ │ └── ...
47
+ ├── assessments/
48
+ │ ├── group-work/ # Only if group assessment exists
49
+ │ ├── individual/ # Only if individual assessment exists
50
+ │ └── exam/ # Only if exam exists
51
+ ├── marking/ # Marking scripts, rubrics, feedback templates
52
+ ├── shared-folder/ # Student-facing materials (if applicable)
53
+ ├── docs/ # Module specification, guidelines
54
+ ├── reviews/ # Created on demand by review agents
55
+ ├── to-sort/ # Inbox for unsorted files
56
+ ├── .claude/
57
+ │ └── settings.local.json
58
+ ├── CLAUDE.md
59
+ └── MEMORY.md # Student misconceptions, code pitfalls (seeded)
60
+ ```
61
+
62
+ ## Workshop Naming
63
+
64
+ - Format: `XX-topic-slug/` (zero-padded number + kebab-case topic)
65
+ - Infer topic from folder name if descriptive (e.g., "Workshop 1 - JavaScript Bootcamp" → `01-javascript-bootcamp`)
66
+ - For ambiguous names (e.g., "Workshop 6" with no description), try to identify the topic:
67
+ - Read any PDF or `.docx` inside the folder
68
+ - Check file names for clues
69
+ - If still unclear, **ask the user** for that specific workshop
70
+ - Preserve numbering gaps — do NOT renumber (Week 11 stays `11-`, not `07-`)
71
+
72
+ ## Lecture PDF Handling
73
+
74
+ - Collect ALL lecture PDFs into `lectures/` (or `seminars/`) from wherever they are scattered (root, workshop folders, assessment folders)
75
+ - **Deduplicate** — if the same filename appears in multiple locations, keep one copy in `lectures/` and remove the rest
76
+ - Do NOT rename lecture PDFs — keep original filenames
77
+ - Workshop-specific PDFs (exercise sheets, briefs) stay in their workshop folder
78
+
79
+ ## Recording Handling
80
+
81
+ - Only create `recordings/` if video files are detected in the scan
82
+ - Move all lecture recordings to `recordings/`
83
+ - If recordings are already in a sensibly named folder, rename to `recordings/` rather than creating a new one
84
+
85
+ ## Assessment Handling
86
+
87
+ - Only create subcategories under `assessments/` that the user confirmed exist
88
+ - Never guess assessment types — if unclear, ask
89
+
90
+ ## Rules
91
+
92
+ - Present the full move plan as a list before executing
93
+ - Never move files without explicit approval
94
+ - If the existing structure is already clean, say so and only suggest minor fixes
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: init-project-course
3
+ description: "Use when you need to bootstrap a university course or module folder."
4
+ allowed-tools: Bash(mkdir*), Bash(mv*), Bash(ls*), Bash(tree*), Bash(find*), Bash(rm*), Bash(cp*), Read, Write, Edit, Glob, Grep, AskUserQuestion
5
+ argument-hint: "[no arguments — runs in current directory]"
6
+ ---
7
+
8
+ # Init Project Course
9
+
10
+ > Bootstrap a university course or module folder into a clean, navigable structure. Designed for taught modules with lectures, workshops, assessments, and optionally recordings.
11
+
12
+ ## When to Use
13
+
14
+ - University modules with lectures + workshops + assessments
15
+ - Course folders that have accumulated files over a term
16
+ - When the user says "organise this module", "init course", "set up this module folder"
17
+ - Any taught course with recurring weekly components
18
+
19
+ ## When NOT to Use — Escalate
20
+
21
+ - To `/init-project-light` if it's a one-off document collection (no lectures/workshops structure)
22
+ - To `/init-project-research` if it's a research project that happens to be for a course
23
+
24
+ ---
25
+
26
+ ## Phase 1: Scan
27
+
28
+ Read everything already in the directory before asking questions.
29
+
30
+ 1. List all files and folders (excluding `.claude/`, `.DS_Store`)
31
+ 2. Identify content types:
32
+ - **Lecture PDFs** — files matching `Lecture*` or containing "lecture" in name
33
+ - **Seminar materials** — files matching `Seminar*`, `Session*`, or containing "seminar" in name (discussion-based modules use seminars instead of lectures)
34
+ - **Lecture recordings** — video files (`.mp4`, `.mov`, `.mkv`, `.webm`, `.avi`) or folders named `recordings`
35
+ - **Workshop folders** — folders matching `Workshop*`, `Lab*`, `Week*`, or numbered folders with exercise content
36
+ - **Assessment folders** — folders containing "group", "individual", "exam", "coursework", "assignment", "portfolio"
37
+ - **Workshop PDFs** — PDFs inside workshop folders that are NOT lectures (exercise sheets, briefs)
38
+ - **Code projects** — `node_modules/`, `package.json`, `.py`, `.js`, `.ts` files inside workshop folders
39
+ - **Notes** — personal notes, reading lists, exercise solutions (common in student modules)
40
+ 3. Detect duplicates: lecture PDFs that appear in multiple locations
41
+ 4. Note workshop numbering gaps (normal — not every week has a workshop)
42
+ 5. Check for existing organisation (already has `lectures/`, `workshops/`, etc.)
43
+
44
+ **Goal:** Build a complete inventory so the interview is short.
45
+
46
+ ---
47
+
48
+ ## Phase 2: Interview (4-5 questions max)
49
+
50
+ Use `AskUserQuestion`. Only ask what you couldn't infer from Phase 1.
51
+
52
+ Pick from these (skip any you can already answer):
53
+
54
+ 1. **What module is this?** — code + name (e.g., "IB9PK Advances in Behavioural Science")
55
+ 2. **Are you a student or instructor?** — determines template variant (see Phase 3)
56
+ 3. **Who teaches it?** — name(s) and role(s) (for student modules: instructor name; for instructor modules: module leader if different)
57
+ 4. **What components exist?** — lectures/seminars, workshops, group work, individual work, exams, recordings
58
+ 5. **Status?** — still in progress (more content coming) or archived/complete
59
+
60
+ If Phase 1 gave you enough, confirm your understanding instead of asking:
61
+ > "This looks like [module code + name]. You're [student/instructor]. It has [N] workshops, [N] lecture PDFs, and [assessment types]. Still in progress. Correct?"
62
+
63
+ **Always interview** — even if scan is comprehensive. Course folders affect a full term of work; assumptions are expensive.
64
+
65
+ ---
66
+
67
+ ## Phase 3: Organise
68
+
69
+ Present the proposed structure and **wait for explicit approval** before moving anything.
70
+
71
+ Full templates (student + instructor directory structures), workshop naming, lecture/recording/assessment handling rules: [references/organise-templates.md](references/organise-templates.md)
72
+
73
+ ---
74
+
75
+ ## Phase 4: Create CLAUDE.md
76
+
77
+ Follow the `lean-claude-md` rule. Include only:
78
+
79
+ 1. **Module overview** — code, name, institution, programme, credits, 1-2 sentence description
80
+ 2. **People** — instructor(s) and/or student, role
81
+ 3. **Assessment** — type(s), format, word count/page limit, deadline(s) if known
82
+ 4. **Directory structure** — compact tree of the organised layout
83
+ 5. **Conventions** — detectable patterns (LaTeX compilation, GitHub repo naming, submission format)
84
+ 6. **Status note** — "in progress" or "complete/archived", with note on what's still to come
85
+
86
+ **Do NOT include:**
87
+ - Lecture-by-lecture notes
88
+ - Workshop solution details
89
+ - Full assessment criteria (those live in `docs/` or `assessments/`)
90
+ - Anything that duplicates global rules
91
+
92
+ ---
93
+
94
+ ## Phase 5: Seed MEMORY.md
95
+
96
+ Create `MEMORY.md` using the appropriate template (student or instructor). Templates, settings.local.json, and vault pipeline sync details: [references/memory-and-settings.md](references/memory-and-settings.md)
97
+
98
+ ---
99
+
100
+ ## Phase 6: Settings
101
+
102
+ Create `.claude/settings.local.json` if missing. Full details: [references/memory-and-settings.md](references/memory-and-settings.md)
103
+
104
+ ---
105
+
106
+ ## Phase 7: vault pipeline Sync
107
+
108
+ Offer to create a row in the appropriate Modules Pipeline (Student or Instructor). Database IDs and field mappings: [references/memory-and-settings.md](references/memory-and-settings.md)
109
+
110
+ ---
111
+
112
+ ## Phase 8: Confirmation
113
+
114
+ Short report:
115
+
116
+ ```
117
+ Set up course project: <module code + name>
118
+ Role: Student / Instructor
119
+
120
+ Created:
121
+ - CLAUDE.md
122
+ - MEMORY.md (seeded with [student/instructor] template)
123
+ - lectures/ or seminars/ (N PDFs, deduplicated from M locations)
124
+ - notes/ (student only, if applicable)
125
+ - recordings/ (if applicable)
126
+ - workshops/ (N workshops, renamed from original folders)
127
+ - assessments/{types}/ (moved from original folders)
128
+ - docs/ (module specification, guidelines)
129
+ - [.claude/settings.local.json if created]
130
+ - [vault entry created in Modules Pipeline (Student/Instructor)]
131
+
132
+ Workshop naming:
133
+ "Workshop 1 - JavaScript Bootcamp" → workshops/01-javascript-bootcamp
134
+ "Workshop 6" → workshops/06-cwe-vulnerability-analysis
135
+ ...
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Cross-References
141
+
142
+ | Skill | Relationship |
143
+ |-------|-------------|
144
+ | `/init-project-light` | For non-course document collections |
145
+ | `/init-project-research` | For research projects within a course |
146
+ | `/audit-project-course` | Run later to check the structure is still clean |
147
+ | `/update-project-doc` | Run later to refresh CLAUDE.md if the module grows |
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: init-project-light
3
+ description: "Use when you need to bootstrap a lightweight project with minimal structure."
4
+ allowed-tools: Bash(mkdir*), Bash(ls*), Bash(touch*), Read, Write, Edit, Glob, Grep, AskUserQuestion
5
+ argument-hint: "[no arguments — runs in current directory]"
6
+ ---
7
+
8
+ # Init Project Light
9
+
10
+ > Lightweight project bootstrapper for small projects that don't need the full `/init-project-research` scaffold.
11
+
12
+ ## When to Use
13
+
14
+ - Small document collections (proposals, applications, meeting notes)
15
+ - One-off or short-lived projects
16
+ - Projects without a code pipeline or Overleaf link
17
+ - When the user says "set up something light", "quick init", "organise this folder"
18
+ - Any project that doesn't warrant `/init-project-research`
19
+
20
+ ## When NOT to Use — Escalate to `/init-project-research`
21
+
22
+ - Research papers targeting a journal or conference
23
+ - Projects with code, data, or computational pipelines
24
+ - Anything that needs Overleaf, git, or a vault pipeline entry
25
+
26
+ ---
27
+
28
+ ## Phase 1: Scan
29
+
30
+ Read everything already in the directory before asking questions.
31
+
32
+ 1. List all files and folders (excluding `.claude/`, `.DS_Store`)
33
+ 2. Read text files (`.md`, `.tex`, `.bib`, `.txt`) to understand content — respect file size (skip files > 500 lines, note them)
34
+ 3. Build a mental model: what is this project, what's the main output, who's involved?
35
+
36
+ **Goal:** Minimise interview questions by inferring answers from existing files.
37
+
38
+ ---
39
+
40
+ ## Phase 2: Interview (2-3 questions max)
41
+
42
+ Use `AskUserQuestion`. Only ask what you couldn't infer from Phase 1.
43
+
44
+ Pick from these (skip any you can already answer):
45
+
46
+ 1. **What is this project?** — one sentence (e.g., "PhD research proposal for [University]")
47
+ 2. **What's the main output?** — document, application, collection of notes, etc.
48
+ 3. **Anyone else involved?** — names and roles if relevant
49
+
50
+ If Phase 1 gave you enough, confirm your understanding instead of asking:
51
+ > "From the files, this looks like [X]. The main output is [Y]. Correct?"
52
+
53
+ ---
54
+
55
+ ## Phase 3: Create CLAUDE.md
56
+
57
+ Follow the `lean-claude-md` rule. Include only:
58
+
59
+ 1. **Project overview** — 2-3 sentences from interview/scan
60
+ 2. **People** — if collaborators/supervisors exist
61
+ 3. **Directory structure** — compact tree of what exists
62
+ 4. **Conventions** — only if detectable (e.g., LaTeX compilation, bibliography style)
63
+ 5. **Key context** — anything a future session needs to know immediately
64
+
65
+ **Do NOT include:**
66
+ - Detailed literature notes or reference lists
67
+ - Action items or timelines (those go to vault)
68
+ - Anything that duplicates global rules
69
+
70
+ ---
71
+
72
+ ## Phase 4: Organise (suggest, don't force)
73
+
74
+ Based on what's in the directory, **suggest** lightweight organisation. Present options and wait for approval.
75
+
76
+ ### Standard suggestions
77
+
78
+ | Folder | When to suggest |
79
+ |--------|----------------|
80
+ | `to-sort/` | Multiple unsorted documents exist |
81
+ | `docs/` | Reference materials, guidelines, or background reading present |
82
+ | `archive/` | Old versions or abandoned drafts detected |
83
+
84
+ ### Rules
85
+
86
+ - Never create more than 2-3 folders — this is a light project
87
+ - Never move files without explicit approval
88
+ - If the existing structure already makes sense, say so and skip this phase
89
+ - If there's a `.claude/settings.local.json`, leave it. If not, create one with standard permissions.
90
+
91
+ ### Standard permissions (`.claude/settings.local.json`)
92
+
93
+ ```json
94
+ {
95
+ "permissions": {
96
+ "allow": [
97
+ "Bash(latexmk *)",
98
+ "Bash(ls:*)",
99
+ "Bash(mkdir:*)",
100
+ "Bash(tree:*)",
101
+ "Edit",
102
+ "Glob",
103
+ "Grep",
104
+ "Read",
105
+ "Write"
106
+ ],
107
+ "deny": []
108
+ }
109
+ }
110
+ ```
111
+
112
+ Only create if missing. Never overwrite existing permissions.
113
+
114
+ ---
115
+
116
+ ## Phase 5: Confirmation
117
+
118
+ Short report:
119
+
120
+ ```
121
+ Set up lightweight project: <name>
122
+
123
+ Created:
124
+ - CLAUDE.md
125
+ - [any folders created]
126
+ - [.claude/settings.local.json if created]
127
+
128
+ Skipped (use /init-project-research if needed later):
129
+ - Git, Overleaf, vault pipeline, code scaffold
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Cross-References
135
+
136
+ | Skill | Relationship |
137
+ |-------|-------------|
138
+ | `/init-project-research` | Escalate to this for full research projects |
139
+ | `/update-project-doc` | Run later to refresh CLAUDE.md if the project grows |