Skip to main content

lecture-image-generator

Create, extend, or refactor Python scripts that generate lecture figures for this repository's network science course materials. Use when working on `lectures/*/generate_*.py`, adding or regenerating files in `lectures/*/images/`, adapting the lecture image template, or keeping NetworkX and matplotlib visualizations reproducible, consistent, and easy to link from Marp slides.

معلومات المصدر

المستودع
nibzard/netsci
آخر نشاط في المصدر
٩ مارس ٢٠٢٦ في ٢٢:٠٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٩

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
4 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
lecture-image-generator
description
Create, extend, or refactor Python scripts that generate lecture figures for this repository's network science course materials. Use when working on `lectures/*/generate_*.py`, adding or regenerating files in `lectures/*/images/`, adapting the lecture image template, or keeping NetworkX and matplotlib visualizations reproducible, consistent, and easy to link from Marp slides.
# Lecture Image Generator ## Overview Create lecture visuals as code, not as one-off notebook output. Keep generation scripts reproducible, lecture-local, and aligned with the existing `lectures/*/generate_*.py` patterns in this repository. Read [`references/repo-patterns.md`](references/repo-patterns.md) when you need concrete examples from existing lecture scripts. Copy or adapt [`assets/image_generation_template.py`](assets/image_generation_template.py) when starting a new generator from scratch. ## Workflow ### 1. Inspect the lecture context - Read the target `lectures/XX/lecture.md` before naming images or choosing layouts. - Inspect existing `generate_*.py` files in the same lecture before introducing a new script. - Reuse existing filenames when updating visuals so slide links stay stable. - Use a new script only when the lecture has no suitable generator or when a topic is clearly separate. ### 2. Start from the lecture template or an existing script - For a new generator, copy `assets/image_generation_template.py` into the lecture directory and rename it to a descriptive `generate_*.py` filename. - For an existing generator, preserve the current structure unless it is actively blocking the task. - Keep scripts runnable from the lecture directory with relative paths such as `images/...`. ### 3. Keep generation deterministic and lecture-local - Create the `images/` directory in code if needed. - Set a fixed random seed before any stochastic layout or sampling step. - Prefer a shared helper for repeated save-and-style logic. - Close figures after saving to avoid memory leaks in multi-image scripts. - Print progress messages when generation is non-trivial. ### 4. Organize code around output images - Use one function per distinct figure or figure family. - Give each function a clear docstring that explains the teaching purpose of the image. - Return reusable objects only when that materially simplifies related figures. - Keep `main()` as the place that orchestrates all outputs for the script. ### 5. Match repository conventions - Save into `images/<descriptive-name>.png` unless the lecture already uses another extension. - Prefer descriptive filenames that map cleanly to slide content. - Use NetworkX, matplotlib, and NumPy directly unless the lecture already depends on another library. - Keep figure sizes and DPI appropriate for slide use, not paper publication. ### 6. Verify outputs before finishing - Run the generator after editing it. - Confirm that expected files were written under `images/`. - If the task includes slide updates, verify that every referenced filename exists. - If the task is primarily about slide layout or Marp authoring, switch to or combine with `marp-lecture-author`. ## Patterns To Preserve - Prefer simple, readable code over abstract helper layers. - Keep each script understandable by an instructor editing it later. - Use inline comments sparingly and only where the visualization logic is not obvious. - Avoid notebook-only idioms or hidden state. ## Outputs - `lectures/XX/generate_*.py` - `lectures/XX/images/*.png` - Optional small adjustments to `lectures/XX/lecture.md` when image names or ordering change ## Avoid - Do not hardcode absolute paths. - Do not save figures outside the lecture directory. - Do not introduce a new generator file when a small edit to an existing one is enough. - Do not change image filenames casually when slides already reference them.
عرض على GitHub