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,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
|
+

|
|
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 ``) | -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
|