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,226 @@
1
+ ---
2
+ name: quarto-deck
3
+ description: "Use when you need to generate a Reveal.js HTML presentation from Markdown."
4
+ allowed-tools: Bash(reveal-md*), Bash(npx*), Bash(mkdir*), Bash(ls*), Bash(cp*), Bash(open*), Bash(R*), Bash(Rscript*), Bash(python*), Read, Write, Edit, Task
5
+ argument-hint: [topic, content-path, or project-name]
6
+ ---
7
+
8
+ # Reveal.js Deck Skill
9
+
10
+ > Generate HTML presentations from Markdown using reveal-md. Applies the same rhetoric framework as `/beamer-deck` but outputs browser-native slides ideal for teaching, informal talks, and web sharing.
11
+
12
+ ## Purpose
13
+
14
+ Create polished Reveal.js presentations from Markdown files. Every deck gets assertion-driven titles, narrative arc, and rhetoric review. Output is an HTML presentation that runs in any browser — no LaTeX needed.
15
+
16
+ **Use this for:** Teaching, informal research talks, web-shareable presentations, interactive demos.
17
+ **Use `/beamer-deck` for:** Conference talks, formal seminars, supervisor meetings, anything that needs PDF-native output.
18
+
19
+ ## When to Use
20
+
21
+ - Teaching lectures (undergraduate or PhD) — interactive, live in browser
22
+ - Informal research presentations or lab meetings
23
+ - Talks where you want to share a URL instead of a PDF
24
+ - Presentations with live code demos or embedded content
25
+ - Quick decks where LaTeX overhead isn't justified
26
+
27
+ **Python:** Always use `uv run python`. Never bare `python`, `python3`, `pip`, or `pip3`.
28
+
29
+ ## Prerequisites
30
+
31
+ - `reveal-md` (installed globally): `npm install -g reveal-md`
32
+ - Node.js 18+ (via nvm)
33
+
34
+ ---
35
+
36
+ ## Critical Rules
37
+
38
+ 0. **Python: ALWAYS use `uv run python` or `uv pip install`.** Never use bare `python`, `python3`, `pip`, or `pip3`. Include this instruction in any sub-agent prompts that may run Python.
39
+ 1. **One Markdown file = one presentation.** All slides live in a single `.md` file with `---` separators.
40
+ 2. **Titles are assertions, not labels.** "Distance increases abortion rates" — not "Results". Every slide title states a claim.
41
+ 3. **One idea per slide.** Not a guideline. A law. If a slide has two ideas, split it.
42
+ 4. **Speaker notes use the `Note:` keyword.** Place after slide content, before the next `---`.
43
+ 5. **Custom CSS goes in a separate file.** Never inline styles in the Markdown.
44
+ 6. **Figures first, slides second.** Generate figures via R or Python scripts before referencing them.
45
+ 7. **Test in browser before finalising.** Run `reveal-md <file>.md` and check every slide.
46
+
47
+ ---
48
+
49
+ ## Rhetoric Principles
50
+
51
+ Same framework as `/beamer-deck`. Full reference (Three Laws, MB/MC, Aristotelian Triad, Narrative Arc, Pyramid Principle, Devil's Advocate, audience-specific guidance): [`../shared/rhetoric-principles.md`](../shared/rhetoric-principles.md)
52
+
53
+ ---
54
+
55
+ ## Quality Scoring
56
+
57
+ Apply numeric quality scoring using the shared framework and skill-specific rubric:
58
+
59
+ - **Framework:** [`../shared/quality-scoring.md`](../shared/quality-scoring.md) — severity tiers, thresholds, verdict rules
60
+ - **Rubric:** [`references/quality-rubric.md`](references/quality-rubric.md) — issue-to-deduction mappings for this skill
61
+
62
+ Start at 100, deduct per issue found, apply verdict. Compute the score in Phase 6 and report it in the final output.
63
+
64
+ ## Reveal.js Markdown Format
65
+
66
+ Full format reference with basic structure, vertical slides, fragments, custom themes, and CSS examples: [`references/markdown-format.md`](references/markdown-format.md)
67
+
68
+ **Reference palettes** (Professional, Energetic, Academic) with both LaTeX and CSS variants: [`../shared/palettes.md`](../shared/palettes.md)
69
+
70
+ ---
71
+
72
+ ## Workflow: 6 Phases
73
+
74
+ ```
75
+ You (orchestrator)
76
+ ├── Phase 1: Gather context (direct)
77
+ ├── Phase 2: Design structure (direct)
78
+ ├── Phase 3: Build deck (direct)
79
+ ├── Phase 4: Preview & fix (direct)
80
+ ├── Phase 5: Rhetoric review (sub-agent — Explore)
81
+ └── Phase 6: Apply & finalise (direct)
82
+ ```
83
+
84
+ ### Phase 1: Gather Context (Direct)
85
+
86
+ Read project files, content sources, and audience brief. Ask the user:
87
+
88
+ - **Audience**: Teaching? Lab meeting? Informal talk?
89
+ - **Duration**: How long?
90
+ - **Content source**: Paper draft? Notes? Existing slides?
91
+ - **Special requirements**: Code demos? Interactive elements? Specific theme?
92
+ - **Export needs**: Browser only, or also need static HTML/PDF?
93
+
94
+ ### Phase 2: Design Structure (Direct)
95
+
96
+ 1. **Choose rhetoric balance** based on audience
97
+ 2. **Outline slide sequence** with assertion titles
98
+ 3. **Plan narrative arc** — identify Act I/II/III transitions
99
+ 4. **Choose colour palette** — create `custom.css`
100
+ 5. **Identify figures needed** — which need code generation?
101
+
102
+ Present outline to the user for approval.
103
+
104
+ ### Phase 3: Build Deck (Direct)
105
+
106
+ 1. **Generate figures first** — R/Python scripts, save to `figures/`
107
+ 2. **Write the `.md` file** with YAML frontmatter and slide content
108
+ 3. **Write `custom.css`** if custom theming is needed
109
+ 4. **Test locally**: `reveal-md deck.md`
110
+ 5. **Add speaker notes** using `Note:` blocks
111
+
112
+ ### Phase 4: Preview and Fix (Direct)
113
+
114
+ 1. Run `reveal-md deck.md` to preview in browser
115
+ 2. Check every slide for:
116
+ - Text overflow or cramped content
117
+ - Figure sizing and alignment
118
+ - Math rendering (MathJax)
119
+ - Code highlighting
120
+ - Transitions between slides
121
+ 3. Fix issues and re-preview
122
+
123
+ ### Phase 5: Rhetoric Review (Sub-Agent — Explore)
124
+
125
+ Launch the same rhetoric review as `/beamer-deck`, adapted for Markdown:
126
+
127
+ ```
128
+ subagent_type: Explore
129
+ prompt: |
130
+ You are a rhetoric reviewer for an academic Reveal.js presentation.
131
+
132
+ Read the file at: [PATH TO .md FILE]
133
+
134
+ Evaluate against these criteria:
135
+
136
+ ## 1. Narrative Arc
137
+ - Three-act structure (Problem → Investigation → Resolution)?
138
+ - Opening: provocative question, statistic, or bold claim?
139
+ - Closing: single memorable takeaway?
140
+
141
+ ## 2. MB/MC Balance
142
+ - Cognitive load distributed smoothly?
143
+ - Overloaded or underloaded slides?
144
+
145
+ ## 3. Title Quality
146
+ - Every title an assertion (a claim), not a label?
147
+
148
+ ## 4. One Idea Per Slide
149
+ - Any slide trying to convey multiple ideas?
150
+
151
+ ## 5. Transitions
152
+ - Are transitions between slides explicit?
153
+ - Does the audience know where they are in the argument?
154
+
155
+ ## 6. Pyramid Principle
156
+ - Conclusions before support?
157
+
158
+ Return structured markdown with ratings and specific slide suggestions.
159
+ ```
160
+
161
+ ### Phase 6: Apply and Finalise (Direct)
162
+
163
+ 1. Incorporate rhetoric review feedback
164
+ 2. Re-preview in browser
165
+ 3. **Compute quality score** — read `references/quality-rubric.md`, log all issues from Phases 4-5, compute score and verdict
166
+ 4. **Export if needed:**
167
+ - Static HTML: `reveal-md deck.md --static _site`
168
+ - PDF: `reveal-md deck.md --print deck.pdf`
169
+ 5. Confirm all files are in place
170
+
171
+ ---
172
+
173
+ ## Commands Reference
174
+
175
+ | Command | What it does |
176
+ |---------|-------------|
177
+ | `reveal-md deck.md` | Live preview with hot reload (default port 1948) |
178
+ | `reveal-md deck.md --css custom.css` | Preview with custom CSS |
179
+ | `reveal-md deck.md --static _site` | Export to static HTML (shareable folder) |
180
+ | `reveal-md deck.md --print deck.pdf` | Export to PDF (uses Puppeteer) |
181
+ | `reveal-md deck.md --port 3000` | Preview on custom port |
182
+ | `reveal-md deck.md --theme moon` | Use built-in theme (moon, night, serif, etc.) |
183
+
184
+ Press `s` during preview to open **speaker notes view**.
185
+ Press `f` for fullscreen. Press `o` for slide overview.
186
+
187
+ ---
188
+
189
+ ## Output Checklist
190
+
191
+ A completed deck directory should contain:
192
+
193
+ ```
194
+ project/
195
+ ├── deck.md # Markdown presentation
196
+ ├── custom.css # Custom theme (if used)
197
+ ├── figures/ # Generated figures (if any)
198
+ │ ├── figure_1.png
199
+ │ └── ...
200
+ ├── scripts/ # R/Python scripts for figures (if any)
201
+ │ ├── figure_1.R
202
+ │ └── ...
203
+ ├── _site/ # Static HTML export (if generated)
204
+ └── deck.pdf # PDF export (if generated)
205
+ ```
206
+
207
+ - [ ] All slide titles are assertions
208
+ - [ ] One idea per slide
209
+ - [ ] Narrative arc: Problem → Investigation → Resolution
210
+ - [ ] Rhetoric review completed (Phase 5)
211
+ - [ ] Speaker notes present for key slides
212
+ - [ ] Math renders correctly (if used)
213
+ - [ ] Tested in browser — no overflow or layout issues
214
+ - [ ] Quality score computed and reported
215
+
216
+ ---
217
+
218
+ ## Cross-References
219
+
220
+ | Skill | When to use instead/alongside |
221
+ |-------|-------------------------------|
222
+ | `/beamer-deck` | For formal academic presentations (conferences, seminars) that need PDF-native output |
223
+ | `/project-deck` | For project status updates (supervisor meetings, coauthor handoffs) |
224
+ | `/proofread` | For post-hoc review of text quality |
225
+ | `/literature` | For finding and verifying citations to include |
226
+ | `/quarto-course` | For full course websites with multiple lectures, exercises, and navigation |
@@ -0,0 +1,143 @@
1
+ # Reveal.js Markdown Format Reference
2
+
3
+ > Format reference for `/quarto-deck`. All slides live in a single `.md` file with `---` separators.
4
+
5
+ ## Basic Structure
6
+
7
+ ```markdown
8
+ ---
9
+ title: "Presentation Title"
10
+ theme: white
11
+ highlightTheme: github
12
+ revealOptions:
13
+ transition: slide
14
+ slideNumber: true
15
+ hash: true
16
+ center: true
17
+ math:
18
+ mathjax: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
19
+ config: TeX-AMS_HTML-full
20
+ ---
21
+
22
+ # Main Title
23
+
24
+ Subtitle or key question
25
+
26
+ ---
27
+
28
+ ## Assertion title for slide 2
29
+
30
+ Content goes here.
31
+
32
+ Note:
33
+ Speaker notes go here. Press 's' to open speaker view.
34
+
35
+ ---
36
+
37
+ ## Another assertion title
38
+
39
+ - Point one
40
+ - Point two
41
+
42
+ ---
43
+
44
+ <!-- .slide: data-background="#003366" -->
45
+
46
+ ## White text on dark background
47
+
48
+ Use for emphasis slides.
49
+
50
+ ---
51
+
52
+ ## Slide with math
53
+
54
+ The treatment effect is $\tau = E[Y(1) - Y(0)]$
55
+
56
+ $$\hat{\tau}_{ATT} = \frac{1}{N_T} \sum_{i: D_i=1} \left( Y_i - \hat{Y}_i^{(0)} \right)$$
57
+
58
+ ---
59
+
60
+ ## Slide with code
61
+
62
+ ```python
63
+ import pandas as pd
64
+ df = pd.read_csv("data.csv")
65
+ print(df.describe())
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Slide with image
71
+
72
+ ![Description](figures/figure_1.png)
73
+
74
+ ---
75
+
76
+ ## Key takeaway
77
+
78
+ One sentence that the audience remembers.
79
+ ```
80
+
81
+ ## Vertical Slides (Sub-sections)
82
+
83
+ Use `----` (four dashes) for vertical slides within a section:
84
+
85
+ ```markdown
86
+ ## Main Topic
87
+
88
+ Overview
89
+
90
+ ----
91
+
92
+ ### Detail 1
93
+
94
+ First sub-point
95
+
96
+ ----
97
+
98
+ ### Detail 2
99
+
100
+ Second sub-point
101
+ ```
102
+
103
+ ## Fragments (Progressive Reveal)
104
+
105
+ ```markdown
106
+ - First point <!-- .element: class="fragment" -->
107
+ - Second point <!-- .element: class="fragment" -->
108
+ - Third point <!-- .element: class="fragment" -->
109
+ ```
110
+
111
+ ## Custom Themes
112
+
113
+ Create a `custom.css` file alongside the Markdown:
114
+
115
+ ```css
116
+ /* custom.css */
117
+ :root {
118
+ --r-background-color: #FAFBFC;
119
+ --r-main-color: #2C3E50;
120
+ --r-heading-color: #003366;
121
+ --r-link-color: #E94560;
122
+ --r-heading-font: 'Source Sans Pro', Helvetica, sans-serif;
123
+ --r-main-font: 'Source Sans Pro', Helvetica, sans-serif;
124
+ --r-heading-text-transform: none;
125
+ --r-main-font-size: 32px;
126
+ }
127
+
128
+ .reveal .slides section {
129
+ text-align: left;
130
+ }
131
+
132
+ .reveal h2 {
133
+ font-size: 1.4em;
134
+ margin-bottom: 0.5em;
135
+ }
136
+
137
+ /* Emphasis slide */
138
+ .reveal section[data-background-color] h2 {
139
+ color: white;
140
+ }
141
+ ```
142
+
143
+ For colour palette starting points, see [`skills/shared/palettes.md`](../shared/palettes.md).
@@ -0,0 +1,54 @@
1
+ # Quality Rubric: Quarto Deck
2
+
3
+ > Scoring rubric for `/quarto-deck`. Uses the shared framework in [`../../shared/quality-scoring.md`](../../shared/quality-scoring.md).
4
+
5
+ ## Deduction Table
6
+
7
+ ### Blocker (-100)
8
+
9
+ | Issue | Deduction | Notes |
10
+ |-------|-----------|-------|
11
+ | `reveal-md` render fails — no HTML output | -100 | Deck is broken |
12
+ | Markdown syntax error breaking slide structure | -100 | Slides don't parse correctly |
13
+
14
+ ### Critical (-15 to -25)
15
+
16
+ | Issue | Deduction | Notes |
17
+ |-------|-----------|-------|
18
+ | No narrative arc (no Problem → Investigation → Resolution structure) | -20 | Fundamental rhetoric failure |
19
+ | Label title instead of assertion (e.g., "Results" not a claim) | -15 | Per slide |
20
+ | Multiple ideas on a single slide | -15 | Per slide |
21
+ | MathJax rendering failure (broken equations) | -15 | Per broken equation |
22
+ | Image/figure not found (broken `![](path)`) | -15 | Per broken image |
23
+
24
+ ### Major (-5 to -14)
25
+
26
+ | Issue | Deduction | Notes |
27
+ |-------|-----------|-------|
28
+ | Content overflow (text runs off slide) | -5 | Per slide |
29
+ | Missing transitions between sections | -8 | Per missing transition |
30
+ | Aristotelian balance off for audience type | -5 | Once for the deck |
31
+ | Code block syntax highlighting broken | -5 | Per block |
32
+ | Inline styles in Markdown (should be in CSS) | -5 | Per instance — violates Critical Rule 5 |
33
+ | Figure sizing wrong (too small/large for slide) | -5 | Per figure |
34
+ | Colour palette not accessible | -5 | Once for the deck |
35
+
36
+ ### Minor (-1 to -4)
37
+
38
+ | Issue | Deduction | Notes |
39
+ |-------|-----------|-------|
40
+ | Conclusion-last instead of conclusion-first (Pyramid Principle) | -3 | Per slide |
41
+ | Speaker notes missing on key slides | -2 | Per key slide |
42
+ | Slide visually cramped | -3 | Per slide |
43
+ | Inconsistent formatting between slides | -2 | Once for the deck |
44
+ | `---` separator issues (extra blank lines, inconsistent spacing) | -1 | Per instance |
45
+ | Cognitive load spike | -3 | Per instance |
46
+
47
+ ## Category Mapping
48
+
49
+ | Rubric category | Phase |
50
+ |----------------|-------|
51
+ | Rendering & structure | Phase 3-4 |
52
+ | Rhetoric (arc, titles, one-idea) | Phase 5 |
53
+ | Visual quality (figures, code, layout) | Phase 4 |
54
+ | Final polish | Phase 6 |
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: save-context
3
+ description: "Use when you need to save information from the current conversation to the context library."
4
+ allowed-tools: Read, Write, Edit
5
+ ---
6
+
7
+ # Save to Context Library
8
+
9
+ Save information from the current conversation to the user's task management context files for future reference.
10
+
11
+ ## Context Library Location
12
+
13
+ ```
14
+ $TM/.context/
15
+ ```
16
+
17
+ ## Available Context Files
18
+
19
+ ### 1. Profile (`profile.md`)
20
+ **Save here:** Personal details, roles, research areas, working style, preferences
21
+
22
+ **Triggers:**
23
+ - "Add this to my profile"
24
+ - "Remember that I prefer..."
25
+ - "Save my research interests"
26
+
27
+ **Format:** Update the relevant section, preserving existing content
28
+
29
+ ### 2. Current Focus (`current-focus.md`)
30
+ **Save here:** What the user is actively working on, recent progress, next steps
31
+
32
+ **Triggers:**
33
+ - "Update my current focus"
34
+ - "I'm now working on..."
35
+ - "Save where I left off"
36
+
37
+ > **Preferred:** For structured end-of-session updates, use `/update-focus` instead. It preserves the full document structure and handles session rotation, open loops, and mental state. Use `/save-context` only for quick, targeted saves (e.g., adding a single note or updating one field). If `/update-focus` is not available, read the file first and merge carefully — never overwrite with a blank template.
38
+
39
+ **Format:** Read the existing file and update the relevant section. Do not use a template — the file has a rich structure that must be preserved.
40
+
41
+ ### 3. Projects Index (`projects/_index.md`)
42
+ **Save here:** Project overviews, paper status, collaborations
43
+
44
+ **Triggers:**
45
+ - "Add this project"
46
+ - "Update my journal paper status"
47
+ - "Save this research idea"
48
+
49
+ **Format:** Update the appropriate table or section
50
+
51
+ ### 4. Individual Project Files (`projects/papers/[name].md`)
52
+ **Save here:** Detailed notes on specific papers/projects
53
+
54
+ **Triggers:**
55
+ - "Save these notes to my [project] file"
56
+ - "Create a project file for [name]"
57
+
58
+ **Format:** Create new file if doesn't exist:
59
+ ```markdown
60
+ # [Project Name]
61
+
62
+ ## Overview
63
+ [Brief description]
64
+
65
+ ## Status
66
+ [Current stage]
67
+
68
+ ## Key Decisions
69
+ - [Important choices made]
70
+
71
+ ## Notes
72
+ [Detailed notes]
73
+
74
+ ## Action Items
75
+ - [ ] [Tasks]
76
+ ```
77
+
78
+ ### 5. People (`people/supervisors.md` or `people/collaborators.md`)
79
+ **Save here:** Information about supervisors, collaborators, contacts
80
+
81
+ **Triggers:**
82
+ - "Add [name] to my contacts"
83
+ - "Remember that [person] works on..."
84
+ - "Save [person]'s details"
85
+
86
+ **Format:**
87
+ ```markdown
88
+ ### [Name]
89
+ - **Institution:** [Where they work]
90
+ - **Role:** [Their position]
91
+ - **Collaboration:** [What you work on together]
92
+ - **Contact:** [Email/preferred method]
93
+ - **Notes:** [Relevant context]
94
+ ```
95
+
96
+ ### 6. Preferences (`preferences/`)
97
+ **Save here:** Task naming conventions, priority definitions, workflow preferences
98
+
99
+ **Triggers:**
100
+ - "Remember I prefer tasks named like..."
101
+ - "Save my priority rules"
102
+
103
+ ### 7. Workflows (`workflows/`)
104
+ **Save here:** How the user wants certain processes to work
105
+
106
+ **Triggers:**
107
+ - "Update my daily review workflow"
108
+ - "Change how I want meetings processed"
109
+
110
+ ## How to Save
111
+
112
+ ### Step 1: Identify the target file
113
+ Based on the information type, determine which context file to update.
114
+
115
+ ### Step 2: Read the existing file
116
+ Always read the current content first to preserve existing information.
117
+
118
+ ### Step 3: Merge intelligently
119
+ - Don't overwrite existing content unless explicitly asked
120
+ - Add new information in the appropriate section
121
+ - Update timestamps where relevant
122
+
123
+ ### Step 4: Write the updated file
124
+ Save the merged content back to the file.
125
+
126
+ ### Step 5: Confirm
127
+ Tell the user what was saved and where:
128
+ > "Saved to `.context/[file]`: [brief summary of what was added]"
129
+
130
+ ## Examples
131
+
132
+ **User:** "Remember that my supervisor is [Supervisor] [Supervisor], he specialises in multi-objective optimisation"
133
+
134
+ **Action:**
135
+ 1. Read `.context/people/supervisors.md`
136
+ 2. Find or create the Supervisor section
137
+ 3. Update with: Name: [Supervisor] [Supervisor], Focus: Multi-objective optimisation
138
+ 4. Save file
139
+ 5. Respond: "Saved to `.context/people/supervisors.md`: Added [Supervisor] [Supervisor] as your supervisor (multi-objective optimisation)"
140
+
141
+ ---
142
+
143
+ **User:** "Update my current focus - I'm now deep in the journal revision, specifically rewriting section 4"
144
+
145
+ **Action:**
146
+ 1. Read `.context/current-focus.md`
147
+ 2. Update "What I'm Working On" section
148
+ 3. Add timestamp
149
+ 4. Save file
150
+ 5. Respond: "Updated `.context/current-focus.md`: Now working on journal revision, section 4 rewrite"
151
+
152
+ ---
153
+
154
+ **User:** "Save this meeting summary to my context"
155
+
156
+ **Action:**
157
+ 1. Determine if it's project-specific or general
158
+ 2. If project-specific: save to `projects/papers/[project].md`
159
+ 3. If general: save key points to `current-focus.md`
160
+ 4. Extract any action items and offer to create vault tasks
161
+
162
+ ## Integration with vault
163
+
164
+ After saving to context files, offer to:
165
+ - Create related tasks in vault tasks
166
+ - Update Research Pipeline if paper-related
167
+ - Link context to specific vault files
168
+
169
+ ## Tips
170
+
171
+ - Always preserve existing content unless asked to replace
172
+ - Use timestamps for time-sensitive information
173
+ - Keep entries concise but complete
174
+ - Cross-reference between files when relevant
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: session-log
3
+ description: "Use when you need to create a timestamped progress log for a research session."
4
+ allowed-tools: Read, Write, Edit, Bash(mkdir*), Bash(ls*)
5
+ argument-hint: [project-name-or-path]
6
+ ---
7
+
8
+ # Session Log Skill
9
+
10
+ > Automatically create timestamped progress logs for research sessions.
11
+
12
+ ## Purpose
13
+
14
+ Based on Scott Cunningham's Claude Code workflow: "Progress logs are my autosave of the workflow." When sessions end or crash, the next Claude can read logs and pick up exactly where you left off.
15
+
16
+ ## When to Use
17
+
18
+ At the end of any significant work session, or when asked to "log this session" or "update progress".
19
+
20
+ ## Workflow
21
+
22
+ ### Step 1: Identify Projects Touched
23
+
24
+ Before writing anything, inventory which projects were affected during this session. A "project" is any directory with its own `CLAUDE.md` or `log/` directory. Common splits:
25
+
26
+ | Scope | Where the log goes |
27
+ |-------|--------------------|
28
+ | Work inside a specific project | That project's `log/` |
29
+ | Global infrastructure (skills, hooks, rules, settings) | Task Management's `log/` |
30
+ | Course/module-level changes (reorganisation, new CLAUDE.md) | That module's `log/` |
31
+
32
+ **Signs of a multi-project session:**
33
+ - Files changed under `~/.claude/` (skills, hooks, settings) → global/infrastructure log
34
+ - Files changed in the CWD project → project-specific log
35
+ - Files changed in a parent or sibling directory → check if that's a separate project
36
+
37
+ ### Step 2: Create One Log Per Project
38
+
39
+ For each project identified in Step 1:
40
+
41
+ 1. **Read existing context** — check that project's `.context/current-focus.md` and recent `log/` entries
42
+ 2. **Create `log/` directory** if it doesn't exist
43
+ 3. **Write the log** to `log/YYYY-MM-DD-HHMM.md` within that project
44
+ 4. **Scope the content** — each log only covers what happened in that project, not the whole session
45
+
46
+ If there's only one project, this reduces to a single log (the common case).
47
+
48
+ ### Step 3: Cross-Reference
49
+
50
+ When multiple logs are created, add a brief cross-reference at the top of each:
51
+
52
+ ```markdown
53
+ > Also logged: [other project name] — `[relative or absolute path to other log]`
54
+ ```
55
+
56
+ This lets a future session in one project discover that related work happened elsewhere.
57
+
58
+ ### Step 4: Offer Follow-Up
59
+
60
+ - **Offer to run `/update-focus`** for a structured update (session rotation, open loops), rather than making ad-hoc edits to `current-focus.md`
61
+ - If multiple projects were touched, offer to update focus for each
62
+
63
+ ## Log Template
64
+
65
+ ```markdown
66
+ # Session Log: [Date] [Time]
67
+
68
+ ## Project: [Project Name]
69
+
70
+ ## What We Did
71
+ - [Bullet points of accomplishments]
72
+
73
+ ## Key Decisions
74
+ - [Any choices made and why]
75
+
76
+ ## Problems/Blockers
77
+ - [Issues encountered]
78
+
79
+ ## Next Steps
80
+ - [ ] [Actionable next items]
81
+
82
+ ## Files Changed
83
+ - [List of modified files — only those in THIS project]
84
+ ```
85
+
86
+ ## Examples
87
+
88
+ ### Single-project session
89
+ "Please log this session — we worked on the research paper, fixed the simulation code, and decided to target Journal B instead of Journal A."
90
+
91
+ → One log in the MCDM project's `log/`
92
+
93
+ ### Multi-project session
94
+ "Please log this session — we did Workshop 17, reorganised the module folder, and created two new global skills."
95
+
96
+ → Three logs:
97
+ 1. **Module project** `log/` — workshop completion, reorganisation, CLAUDE.md creation
98
+ 2. **Task Management** `log/` — new skills (`init-project-course`, `audit-project-course`), new hook (`ensure-latexmkrc.sh`), settings.json changes