pdf

GitHub

将课程内容转换为PDF讲义,包含渲染、视觉检查及注册发布流程。支持Markdown转PDF、公式渲染及字体配置,确保输出质量并归档至课程工作区。

skills/pdf/SKILL.md madhvantyagi/Gnos

Trigger Scenarios

需要将课程或教程内容生成为可下载的PDF文档 需要对生成的PDF进行排版、公式和图像的质量检查

Install

npx skills add madhvantyagi/Gnos --skill pdf -g -y
More Options

Use without installing

npx skills use madhvantyagi/Gnos@pdf

指定 Agent (Claude Code)

npx skills add madhvantyagi/Gnos --skill pdf -a claude-code -g -y

安装 repo 全部 skill

npx skills add madhvantyagi/Gnos --all -g -y

预览 repo 内 skill

npx skills add madhvantyagi/Gnos --list

SKILL.md

Frontmatter
{
    "name": "pdf",
    "description": "Turn lesson content into a PDF handout; render and check it before delivery."
}

Lesson PDFs

Build a document the learner can return to without the conversation. Keep the teaching sequence visible: question, explanation, worked example, changed case. Use headings to mark conceptual changes rather than decorating every paragraph.

Run the commands below with the project's .venv/bin/python when that environment is present. Check that interpreter before treating a missing package in the system Python as a missing PDF capability. For a fresh environment, install skills/pdf/requirements.txt there.

  1. Select the lesson's outcome and audience. Read only the necessary teacher and subject context. Do not print internal learner records or hidden assessment criteria in a handout unless requested.
  2. Write the lesson as Markdown or use an existing README. Place diagrams and image-model outputs beside it and reference them with ![caption](image.png). HTML <img src="..." alt="..."> works too. Keep captions and source credits.
  3. Convert with python3 skills/pdf/scripts/markdown_to_pdf.py lesson.md -o output/lesson.pdf. This also writes editable lesson JSON. Dependencies: ReportLab, Pillow, markdown-it-py; Matplotlib supplies fonts and equation rendering. Fenced math blocks render as equations. Remote images become explicit source links; save a permitted local image first when the figure must appear in the PDF. For precise block control, use build_pdf.py lesson.json -o output/lesson.pdf; see references/lesson-format.md.
  4. Render pages with pdftoppm -scale-to 1400 -png output/lesson.pdf output/lesson. Inspect every page. Check equations, captions, page breaks, text size, and source links; extraction alone cannot establish visual quality.
  5. Extract text with pdftotext or pypdf and check for omissions or missing glyphs. Deliver the PDF with its editable source. State any unverified layout.

Register the artifact

The viewer page shows the topic's pdf chip as ready only after the PDF is registered. Copy it into the course workspace, then register:

cp output/lesson.pdf learners/<learner>/courses/<course-id>/artifacts/documents/<slug>.pdf
python3 skills/course-design/scripts/manage_artifact.py --learners-root learners \
  register <learner-id> <course-id> --file artifact.json

Use type: document, mime_type: application/pdf, the topic's lesson_id, and status: ready. Then re-render the page:

python3 skills/course-viewer/scripts/render_viewer.py learners/<learner>/courses/<course-id>

Typography and figures

Use a calm hierarchy: serif body, sans heading, mono code; 11–12 pt body with comfortable leading and margins. The builder embeds DejaVu fonts when found; use --font-dir for another installation of that family. It fails if the font set is incomplete rather than silently substituting missing glyphs.

Keep diagrams labeled and interpretable without color alone. Preserve image aspect ratio; avoid enlarging a tiny raster into a blurry page. Keep the caption with the figure. Include source/creator and whether a diagram is schematic. Use actual math rendering for equations; do not send raw LaTeX to paragraph text.

Read references/visual-review.md when inspecting. examples/lessons/gradient/README.md exercises the builder with equations, an image, a comparison table, and a worked example.

Version History

  • c0bef66 Current 2026-09-27 10:19

Same Skill Collection

skills/course-design/SKILL.md
skills/course-viewer/SKILL.md
skills/excalidraw/SKILL.md
skills/learner-tracking/SKILL.md
skills/learning-orchestrator/SKILL.md
skills/lesson-design/SKILL.md
skills/manim-voice-animation/SKILL.md
skills/pinepaper/SKILL.md
skills/subject/SKILL.md

Metadata

Files
0
Version
c0bef66
Hash
de259a92
Indexed
2026-09-27 10:19

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-28 23:39
浙ICP备14020137号-1