| name | make-concept-notes |
| description | Create polished standalone LaTeX concept-note documents from a topic, lecture notes, textbook material, handwritten outlines, algorithms, math derivations, or rough explanations. Use when the user asks for concept notes, lecture-style notes, summarized theory, algorithm notes, formula notes, step-by-step explanations, worked examples, complexity analysis, comparison tables, warnings about mistakes, or final one-box summaries in LaTeX. |
Make Concept Notes
Output Contract
Produce a complete compilable .tex document unless the user explicitly asks for a section, snippet, or patch to an existing file. The finished note should feel like a clean teaching handout: clear title, boxed definitions, explained formulas, worked examples, warnings, summaries, and enough intermediate steps for a student to follow without extra context.
Core Workflow
- Identify the topic, audience level, and source authority. If no topic or usable source is provided, ask for the missing topic before drafting.
- If editing an existing
.tex file, read it first and preserve its local style unless the user asks to convert it to this skill's style.
- For a new document in this workspace, use
python scripts\new-note.py --subject "<subject>" --topic "<topic>" --type concept when the subject and topic are known, then fill the generated .tex file. If drafting manually, start from templates/concept-note.tex and keep \input{styles/notes-style.tex}.
- Read
references/concept-patterns.md when the topic is an algorithm, math derivation, data structure, operating-system concept, or other complex CS topic.
- Build the content in teaching order: title, introduction, problem or motivation, definitions, notation, main idea, formulas, step-by-step examples, procedure or pseudocode, analysis, tradeoffs, and final summary.
- Verify the final LaTeX mentally or by compiling if a LaTeX compiler is available.
Project Folder Convention
Create notes as Subject/<Topic>/<Topic>.tex and put shared images, TikZ snippets, and reusable .tex fragments in Subject/assets/. In note files, reference shared assets as assets/name.png, assets/name.jpg, assets/name.jpeg, assets/name.tikz, or assets/name.tex. The project compiler adds both the subject folder and project root to the LaTeX search path, so assets/... and styles/notes-style.tex resolve correctly.
Writing Rules
- Define every symbol before using it. Do not introduce variables only inside a final formula.
- Explain what each major equation means in words before or after the equation.
- Show algebra, substitutions, unit conversions, and modular arithmetic step by step.
- Keep the user's exact example values where possible. If an example is inconsistent, add a short assumption or correction in a
warningbox.
- Use direct, student-friendly prose. Avoid vague filler such as "it is obvious" or "clearly" when a real explanation is needed.
- Prefer one focused idea per paragraph. Long dense paragraphs should be split into bullets, equations, tables, or boxes.
- End important results with
\boxed{...}.
Box Rules
- Use
conceptbox for definitions, problem statements, setup, and main ideas.
- Use
importantbox for takeaways, answers, interpretations, and "why this matters" notes.
- Use
warningbox for common mistakes, false assumptions, edge cases, ambiguity, and spurious or exceptional cases.
- Use
formulabox for named formulas, recurrence relations, procedures written as equations, and one-box summaries.
- Use
pseudocodebox or lstlisting for code and pseudocode instead of raw verbatim.
- Use
tabularx, booktabs, and rowcolors for comparison tables or summary tables.
Topic Patterns
- Algorithms: include input/output notation, core intuition, preprocessing, loop or recurrence, pseudocode, full worked trace, correctness intuition, running time, strengths, weaknesses, and final summary.
- Mathematics: include definitions, assumptions, formula boxes, derivation steps, solved examples, common mistakes, and a final boxed result.
- Data structures: include representation, supported operations, invariants, diagrams or tables when useful, operation examples, complexity table, and tradeoffs.
- Operating systems or systems topics: include definition, mechanism, why it exists, concrete example, policy/mechanism distinction when relevant, pitfalls, and comparison tables.
- Networking or architecture topics: include layered context, named fields/registers/components, step-by-step flow, timing or size calculations, and assumptions.
LaTeX Rules
- Keep generated files compile-ready: escape
#, %, &, _, and literal backslashes outside code/listings.
- Use math mode for variables and formulas, not plain text approximations.
- Use
\texttt{...} or lstlisting for code, commands, filenames, and APIs.
- Do not use Markdown syntax inside
.tex files.
- Do not put very long unbreakable text inside
\boxed{...}; use short boxed formulas or a boxed array.
- Keep tcolorbox environments balanced and do not nest large boxes unless necessary.
Validation Checklist
Before finishing a note file:
- Confirm every
\begin{...} has a matching \end{...}.
- Confirm every displayed equation delimiter is paired.
- Confirm tables have the right number of columns per row.
- Confirm code or pseudocode is inside
lstlisting if it contains many special characters.
- In this project, prefer
python scripts\compile-latex.py --file path\to\note.tex --engine tectonic --clean for PDF compilation. If it cannot run because the local TeX installation is broken or unavailable, state that compilation was not run and include the script's diagnostic.