Turn lesson content into a PDF handout; render and check it before delivery.
Skill by madhvantyagi
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/madhvantyagi-pdf
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pdf
What's inside
- Skill name
pdf- Description
- Turn lesson content into a PDF handout; render and check it before delivery.
- License
- MIT
- Instructions
- 65 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- files: referenced but missing: examples/lessons/gradient/README.md
Files (8)
- SKILL.md
- lesson-format.md · references/
- visual-review.md · references/
- requirements.txt
- build_pdf.py · scripts/
- create_example_figures.py · scripts/
- markdown_to_pdf.py · scripts/
- render_equation.py · scripts/
SKILL.md (first lines)
# 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 ``. 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](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: ```bash 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: ```bash 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](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.
From madhvantyagi/Gnos, MIT.
More from madhvantyagi/Gnos
- 0.802score
pinepaper
madhvantyagi
Build and check Pinepaper MCP diagrams, charts, motion, and interactive models when a lesson needs linked visual states or a changing quantity.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
subject
madhvantyagi
Select the lead subject, supporting bridges, teacher, sources, and field-specific teaching guidance for a learning goal.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
course-design
madhvantyagi
Design and revise a course's goal, progression, prerequisites, and sources.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
jsxgraph
madhvantyagi
Build and inspect mathematical graphs and coordinate constructions with JSXGraph when a learner needs to connect an equation to a shape, solve graphically, or…
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
learning-orchestrator
madhvantyagi
Entry point.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
lesson-design
madhvantyagi
Develop the current topic into a connected lesson.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
course-viewer
madhvantyagi
Show an enrolled course and its lessons.
SkillAFreshness: A★ 342Claude Code +9 - 0.798score
manim-voice-animation
madhvantyagi
Make Manim teaching animations with narration and subtitles when motion helps a concept.
SkillAFreshness: A★ 342Claude Code +9 - 0.798score
khan-academy
madhvantyagi
Find a Khan Academy video fast and add it only on a strong match.
SkillAFreshness: A★ 342Claude Code +9 - 0.798score
learner-tracking
madhvantyagi
Record what the learner does and adapt the course to it in real time.
SkillAFreshness: A★ 342Claude Code +9 - 0.787score
learning
madhvantyagi
Compatibility route for older GNOS learning invocations; continue through learning-orchestrator.
SkillAFreshness: A★ 342Claude Code +9 - 0.756score
excalidraw
madhvantyagi
Create inspectable teaching diagrams with the Excalidraw MCP server when a lesson needs a clear relationship, process, state, or boundary sketch.
SkillBFreshness: B★ 342Claude Code +9
Signals
- Stars
- 342
- Forks
- 25
- Open issues
- 2
- Last commit (this folder)
- Sep 21, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/madhvantyagi/Gnos
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from madhvantyagi
- 0.802score
pinepaper
madhvantyagi
Build and check Pinepaper MCP diagrams, charts, motion, and interactive models when a lesson needs linked visual states or a changing quantity.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
subject
madhvantyagi
Select the lead subject, supporting bridges, teacher, sources, and field-specific teaching guidance for a learning goal.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
course-design
madhvantyagi
Design and revise a course's goal, progression, prerequisites, and sources.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
jsxgraph
madhvantyagi
Build and inspect mathematical graphs and coordinate constructions with JSXGraph when a learner needs to connect an equation to a shape, solve graphically, or…
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
learning-orchestrator
madhvantyagi
Entry point.
SkillAFreshness: A★ 342Claude Code +9 - 0.802score
lesson-design
madhvantyagi
Develop the current topic into a connected lesson.
SkillAFreshness: A★ 342Claude Code +9
Cite this page
pdf skill. Agent Mart. https://agentmart.dev/skills/madhvantyagi-pdf (last updated 2026-10-24)