agentsclimarketplace

Codebase diagrams and slides

Skill mouadja02/skills/skills/diagrams-slides/codebase-diagrams-and-slides

A curated collection of agent skills for your AI agents - engineering craft, prompt engineering, design, growth marketing, ...

Install
npx -y skills add mouadja02/skills --skill codebase-diagrams-and-slides

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Turns any codebase into branded, presentation-ready SVG diagrams and an optional smooth animated HTML slide deck. Analyzes a repository in any language (Markdown, Python, Rust, dbt, SQL, JS/TS, Java, Go, ...), extracts its architecture / flow / story, and generates eye-friendly 16:9 diagrams plus a polished, professional presentation. Use when the user asks to visualize, diagram, document, illustrate, or present a codebase, architecture, pipeline, or project; to build slides or a deck about a repo; or to produce diagrams from code. Defaults to the company brand palette (#03045e, #0077b6, #00b4d8, #90e0ef, #caf0f8) and writes to docs/diagrams/ and docs/presentation.html.

SKILL.md

11.2 KB, as published. Nobody here has run it

Codebase → Diagrams & Slides

Produce a small set of branded vector diagrams and an optional animated HTML slide deck that explain a codebase to humans. The output bar is high: light, clean, eye-friendly, professionally typeset, well-spaced, and visually verified.

This skill is language-agnostic. It reads the repo, distills the story, then renders it with a proven, palette-driven toolkit so results are consistent every time.

What you produce

ArtifactDefault pathNotes
Diagramsdocs/diagrams/*.svgN branded 16:9 (1280×720) vector files, PPT-insertable
QA rendersdocs/diagrams/preview/*.pngscreenshots used to visually verify layout
Slide deckdocs/presentation.htmloptional single-file animated deck that embeds the diagrams
Build scriptdocs/diagrams/build_diagrams.pyreproducible generator (imports the toolkit)

Inputs & defaults

Resolve these before building. Everything except the codebase has a smart default.

InputDefaultNotes
Codebasecurrent repo / path givenscope to a folder or whole repo
Palette["#03045e","#0077b6","#00b4d8","#90e0ef","#caf0f8"]company branding; accept any 5-color list
# diagrams4–6, chosen by archetypesee archetype map below
Diagram set / layoutsarchetype-drivensee references/diagram_patterns.md
Slides?only if requestedif yes, default 10–12 slides
Audience / depthtechnical, medium depthshapes wording and density
LanguageEnglishmatch the user's language if they ask
Aspect / theme16:9 · lightdiagrams are light; deck is light
Output dirsdocs/diagrams/, docs/presentation.htmlkeep deck next to diagrams/

Decide vs. ask

  • If the user says "you decide / feel free / pick for me", do not interrogate them — apply the defaults above and state your assumptions in the summary.
  • Otherwise, if key parameters are missing, ask once with a compact AskQuestion (max ~5 questions). High-value questions only:
    1. Number of diagrams (auto / 3 / 5 / 6).
    2. Slide deck? (no / yes ~8 / yes ~12 / yes — you choose count).
    3. Palette (company default / custom hex list).
    4. Audience (engineers / mixed / executives).
    5. Anything specific to emphasize (a subsystem, a flow, KPIs…).
  • Never block on trivia. Pick reasonable defaults for fonts, spacing, file names.

Workflow

- [ ] 0  Resolve inputs (codebase, palette, #diagrams, slides?, audience)
- [ ] 1  Explore the codebase and distill the story
- [ ] 2  Plan the diagram set (archetype → set)
- [ ] 3  Generate diagrams with the toolkit → docs/diagrams/
- [ ] 4  Render to PNG, VIEW them, fix overlaps/overflow
- [ ] 5  (optional) Build the deck from the template → docs/presentation.html
- [ ] 6  Summarize, embed previews, offer tweaks

0 · Resolve — settle inputs per the policy above. Echo the plan in one line.

1 · Explore — understand before drawing. Prefer the explore subagent (or read key files: entry points, READMEs, config, module/dir layout, command/agent/route definitions, data models). Extract: purpose, top-level components, layers, the main flow/lifecycle, key entities, data/state movement, external systems, and any "reliability" rules (guards, tests, policies). Write a 5–10 bullet "story" you will draw. Do not fabricate behavior — only diagram what the code shows.

2 · Plan the set — map the codebase archetype to a diagram set (table below). Pick the count from inputs. Each diagram = one clear idea.

3 · Generate — copy scripts/svg_kit.py into docs/diagrams/, then write docs/diagrams/build_diagrams.py that does import svg_kit as k and composes each diagram with the proven primitives (so the output folder is self-contained and reproducible). Canvas is 1280×720. Use the layout recipes in references/diagram_patterns.md. Follow references/design_system.md for palette roles, fonts, spacing. Call k.use_palette([...]) first, then run it to emit SVGs.

4 · Verify (mandatory) — render every SVG to PNG with scripts/render.py and actually open the PNGs to inspect. Fix text overflow, overlaps, off-canvas elements, weak contrast, and crowding. Re-render after each fix. Never ship diagrams you have not looked at.

5 · Deck (optional) — copy templates/presentation.html to docs/presentation.html. Set the 5 palette vars in :root, brand text, and slide content. Embed diagrams with relative img src="diagrams/<file>.svg". The slide engine auto-counts slides, builds dots, supports keyboard / dots / buttons / swipe / fullscreen / deep-links, and respects reduced motion — don't reinvent it. Then render slides (render.py html ... --slides N) and view them. See references/slide_deck_spec.md.

6 · Summarize — list outputs, embed a few preview PNGs, state assumptions, and offer concrete next tweaks (count, language, dark theme, logo, PDF/PPTX export).

Codebase archetype → diagram set

Use as a starting set; trim/extend to the requested count.

Archetype (signals)Recommended diagrams
Agentic / pipeline / workflow (agents, commands, phases, guards)layered architecture · phase/flow · agent or worker roster · command/entry-point map · guards/policies columns · file/state handoff
Library / SDK (public API, packages)module architecture · public API surface · core data/types model · request/call lifecycle (sequence) · extension points
Web app / service (routes, components, controllers)system architecture · component/module tree · request lifecycle · data/state flow · deployment topology
Data / dbt / ELT (models, sources, tests)layer model (staging→marts) · DAG/lineage · source→target flow · materialization & schemas · tests/quality gates
CLI tool (subcommands, config)command map · execution flow · config resolution · output/artifacts
Systems / Rust / Go (crates, services)crate/module architecture · data/ownership flow · concurrency/runtime model · build & deploy

Reusable layouts that cover almost everything: layered bands, phase/snake flow, card grid (roster), mapping rows, themed column cards, node/handoff flow. Recipes: references/diagram_patterns.md.

Design system (summary)

Full detail in references/design_system.md. Essentials:

  • Palette roles (from the 5 colors, darkest→lightest): darkest = headings / emphasis fills (white text on it); mid = section accents / arrows; bright = accents & highlights; light = chip/box fills; pale = backgrounds. Body text is the darkest color; secondary text a derived muted tint. Light background, generous whitespace.
  • Contrast: dark text on light fills. Never light-on-light or rainbow chips.
  • Fonts — diagrams use system-safe fonts (Segoe UI / system stack) so they render identically inside PowerPoint. The HTML deck uses premium webfonts (Bricolage Grotesque display + Plus Jakarta Sans body + IBM Plex Mono) with safe fallbacks. Avoid generic Inter/Roboto in the deck.
  • Spacing — consistent margins, breathing room, aligned grids; never crowd.
  • Motion (deck only) — one orchestrated load: directional slide transitions + staggered reveals. Purposeful, smooth, never gratuitous.

Quality bar

What makes the output good — hold to all of it:

  1. One idea per diagram. A viewer gets it in ~5 seconds.
  2. Clarity over density. Cut detail before crowding.
  3. Strong hierarchy. Title → sections → items, sized accordingly.
  4. Restraint. Few colors, aligned grids, consistent radii/shadows.
  5. Motion with purpose (deck) and respect reduced-motion.
  6. Verify visually. Render and look. Fix anything that overlaps or overflows.
  7. Truthful. Diagram only what the code does. Don't invent metrics/numbers.

Verification (do not skip)

SKILL below = .cursor/skills/codebase-diagrams-and-slides. Copy svg_kit.py once so the build script can import it (cp on macOS/Linux, Copy-Item in PowerShell).

# diagrams
cp  $SKILL/scripts/svg_kit.py  docs/diagrams/
python -X utf8 docs/diagrams/build_diagrams.py
python $SKILL/scripts/render.py svgs --dir docs/diagrams --out docs/diagrams/preview
# → open the PNGs and inspect every one; fix and re-render

# deck
python $SKILL/scripts/render.py html --file docs/presentation.html --slides N \
       --out docs/diagrams/preview --size 1600x900
# → open the slide PNGs and inspect; fix and re-render

render.py finds Chrome/Edge automatically (Windows/macOS/Linux). On Windows use python -X utf8.

Output & portability

  • Diagrams: docs/diagrams/. Deck: docs/presentation.html (keep it next to diagrams/ because it references the SVGs by relative path).
  • For a self-contained, send-anywhere deck, inline the SVG markup into the HTML instead of img src (note this trade-off to the user).
  • The deck loads webfonts from Google Fonts when online; it degrades gracefully offline via the fallback stack.

Anti-patterns

  • No rainbow palettes, no light-text-on-light, no overlapping/clipped elements.
  • Don't fabricate data, KPIs, or behavior not present in the code.
  • Don't ship without rendering and viewing the output.
  • Don't hand-place dozens of chips by eye — use the toolkit's text measurement.
  • No Windows-style paths in generated code (scripts/x.py, not scripts\x.py).
  • Don't drop or restyle the company palette unless the user gives a new one.

Files in this skill

FileUse
scripts/svg_kit.pyExecute/import. Palette-driven SVG primitives (Theme, text measurement, chips, cards, arrows, db cylinder, header/footer). The heart of consistent diagrams.
scripts/render.pyExecute. Cross-platform headless-browser renderer for SVG + HTML → PNG (visual QA).
templates/presentation.htmlCopy & adapt. The full animated deck (CSS design system + slide engine + every slide layout).
templates/build_diagrams_example.pyRead/run. Worked example: build two diagrams with svg_kit.
references/design_system.mdPalette roles, font pairings + Google Fonts link, spacing, do/don't.
references/diagram_patterns.mdThe six reusable diagram layouts with layout math and toolkit calls.
references/slide_deck_spec.mdDeck architecture: slide types, transitions, chrome, nav, accessibility, export.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.