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