coursmith 0.0.0-stage → 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.
@@ -0,0 +1,89 @@
1
+ # Writing guide
2
+
3
+ The review agent checks accuracy, clarity, language, difficulty, glossary, quiz and visuals. Courses that
4
+ follow this guide usually pass on the first submission.
5
+
6
+ ## Structure
7
+
8
+ - **Sections** are chapters: 3–6 for a 30-minute course, each with a clear purpose stated in its `summary`.
9
+ - **Steps** are single ideas: 80–250 words of text plus one visual. If a step needs two visuals or more
10
+ than one heading, split it.
11
+ - Order steps so each one builds on the previous ones. Never use a concept before the step that introduces it.
12
+ - Open a section with why it matters; close it with a short recap (a `callout` of variant `info` works well).
13
+ - Add a `check` question to the steps that introduce the key ideas: it keeps learners active in stepper mode.
14
+
15
+ ## Difficulty levels
16
+
17
+ | Level | Assume | Write |
18
+ |---|---|---|
19
+ | `beginner` | No prior knowledge of the field | Everyday language, analogies, one new term at a time, concrete examples before abstractions, simple numbers |
20
+ | `intermediate` | The basics of the field | Correct technical terms, cause–effect reasoning, worked examples with real numbers, common pitfalls |
21
+ | `advanced` | Solid working knowledge | Precise terminology, trade-offs and edge cases, formulas and derivations where useful, references to standards or primary sources |
22
+
23
+ Declare prerequisites in `meta.prerequisites` for intermediate and advanced courses.
24
+
25
+ ## Accuracy
26
+
27
+ - State only what you are confident is correct and current. When experts disagree, say so.
28
+ - Use real, sourced figures when you cite statistics, and say where they come from (for example
29
+ "Eurostat, 2023") in the text or caption. If numbers are invented to illustrate a point, say
30
+ "illustrative figures" in the caption.
31
+ - Check every calculation, unit and date. Keep units consistent (SI unless the field uses another convention).
32
+ - Avoid absolute claims ("always", "never") unless they are true.
33
+ - For health, legal and financial topics, add a `callout` disclaimer pointing learners to qualified
34
+ professionals, and do not give individual advice.
35
+
36
+ ## Language
37
+
38
+ - Write every learner-facing string in the course language (`meta.language`): titles, text, captions, chart
39
+ axis titles, alt text, glossary, quiz, explanations. Keep proper names and code as they are.
40
+ - Use one term per concept throughout the course; if you introduce a synonym, add it to `aliases`.
41
+ - Short sentences, active voice, direct address ("you").
42
+
43
+ ## Glossary
44
+
45
+ - Every section has a glossary. Include every concept the section **introduces** and every technical,
46
+ scientific, legal or domain-specific word it **uses**, including acronyms.
47
+ - A definition is one or two sentences, self-contained (it does not require reading the step), correct, and
48
+ at the course's difficulty level. Do not define a term with itself.
49
+ - Mark the term in the text where it is first used in that section, as `[[term]]` or `[[term|shown text]]`.
50
+ - Terms defined in an earlier section can be marked later without redefining them. Do not define the same
51
+ term twice in one section.
52
+ - Add plurals, inflections and abbreviations to `aliases` (e.g. `"aliases": ["kWh", "kilowatt-hours"]`).
53
+ - The review agent is strict, and these are the gaps it flags most often:
54
+ - everyday words that are domain terms in context ("grid", "power", "energy", "panel", "electron");
55
+ - terms that appear only in visuals: chart axes, diagram nodes, animation and highlight labels;
56
+ - technical words used inside another term's definition (if "voltage" is defined with "circuit",
57
+ define "circuit" too);
58
+ - units and their symbols (kW, kWh, Hz, Ω).
59
+ - Before submitting, read each section and list every word a newcomer to the topic might not know. Each one
60
+ must be in this section's glossary or an earlier one.
61
+
62
+ ## Visuals
63
+
64
+ - Every visual must teach something the text refers to; mention it in the text ("the chart shows…").
65
+ - Charts: one message per chart, labelled axes with units, sorted bars, at most about 8 categories.
66
+ - Diagrams: at most about 10 nodes; short labels.
67
+ - Pick the animation preset that matches the idea (see `animation-presets.md`).
68
+ - Alt text describes what the image shows and why it matters, in the course language
69
+ ("Bar chart: gas provides 40% of electricity, the largest share"), not "image" or the file name.
70
+ - Avoid text inside images; when unavoidable, keep it large and in the course language.
71
+
72
+ ## Final quiz
73
+
74
+ - At least 10 questions; spread them so every section is tested, roughly in proportion to its length.
75
+ - Test understanding, not memorized wording: ask learners to apply, compare or explain.
76
+ - Exactly one correct answer for `single`; for `multiple`, say "Select all that apply" in the prompt.
77
+ - Distractors are plausible and similar in length to the correct answer; avoid "all of the above".
78
+ - The `explanation` says why the answer is right (and, when useful, why a tempting option is wrong), and is
79
+ consistent with the course text.
80
+ - Mix types: mostly `single` and `multiple`, a few `true_false` and at most one or two `ordering`.
81
+ - Passing requires 70%, so the quiz must be answerable from the course content alone.
82
+
83
+ ## Before you submit
84
+
85
+ - [ ] `coursmith validate <folder> --json` returns `ok: true`.
86
+ - [ ] Title, description and objectives match what the course actually teaches.
87
+ - [ ] All text is in the declared language, at the declared difficulty.
88
+ - [ ] Figures are correct or labelled as illustrative; sensitive topics have a disclaimer.
89
+ - [ ] Every quiz answer is correct and explained.