Architecture document generator

VerifiedSafe

Generates a concise system architecture PDF with embedded diagrams, based on code analysis.

Sby Skills Guide Bot
DocumentationIntermediate
7/22/2026
Claude Code
#architecture-docs#pdf-generation#diagrams#weasyprint#technical-writing

Recommended for

Automated summary

Produces docs/architecture.pdf, a 5-8 page document that embeds the three SVG diagrams from the diagrams skill to explain architecture, execution flow, dependencies, and operational environment.

Strengths

  • Forces diagram regeneration whenever the code changed, so visuals match the system being described
  • Specifies a concrete rendering pipeline: cairosvg rasterization at scale=1.4, self-contained HTML, WeasyPrint, then visual checking with ghostscript
  • Fixed section order (overview, Temporal architecture, flow, infrastructure, dependencies, operations) prevents sprawling, unfocused docs
  • Pins palette and typography to output-template.html for consistent output across regenerations

Limitations

  • Assumes a specific stack (Temporal, Azure, helm, WORKER_QUEUES) inherited from the diagrams skill, so it transfers poorly to other project shapes
  • Requires external tooling: cairosvg, WeasyPrint and ghostscript
  • Verification rasterizes only 2-3 pages, so content errors elsewhere in the PDF can slip through
When to use it

Use it when you need an up-to-date, diagram-rich architecture or design PDF ready to hand off for a Temporal/Azure style project.

When not to use it

Skip it if the project does not use the diagrams skill's outputs, or if the deliverable must be Markdown, a docs site, or any non-PDF format.

Security analysis

Safe
Quality score80/100

The skill is a local documentation pipeline: it reads source files, rasterizes existing SVGs, renders HTML to PDF, and inspects output pages. Nothing is exfiltrated, obfuscated, or destructive, and no safety controls are disabled. The only mild consideration is that it shells out to build/render binaries and touches many project files (including example env/helm configs), but that is ordinary, legitimate tooling use.

Findings
  • •Invokes external CLI tooling (cairosvg, WeasyPrint, ghostscript, make targets, test.sh/admin.sh) but all operations are local read/render/write within the project — no network calls or data egress.
  • •Reads a broad set of project files including .env.example and helm values; the instructions reference a 'secrets model' but only point at example/config files, not live secrets. Worth confirming it never ingests real .env or secrets.yaml contents into the PDF.
  • •Hard dependency on a sibling `diagrams` skill and `output-template.html` means it executes code/instructions it does not itself define.
  • •Writes into docs/ (architecture.pdf, scratchpad artifacts); non-destructive, no deletion or overwrite of source files.
How this analysis is made

Examples

Full architecture PDF
Generate an architecture document for this repo: refresh the diagrams if the workflow or worker files changed, then produce docs/architecture.pdf.
Design doc from code
I need a system overview PDF covering our Temporal queues, execution flow and cloud infrastructure — read the code first, don't guess.
Refresh after changes
We changed worker.py and the helm values, so the diagrams are stale. Regenerate them and rebuild docs/architecture.pdf with updated dependencies and ops sections.

name: archdoc description: Generate docs/architecture.pdf — a concise document covering the architecture, workflow, dependencies, and operational environment, embedding the SVGs produced by the diagrams skill. Use when the user asks for an architecture document, design doc, or system overview PDF.

Architecture document generator

Produce docs/architecture.pdf: concise (target 5-8 A4 pages), current, and visual. The three diagrams from the diagrams skill are the backbone; the prose fills in what pictures can't say. Never describe architecture from memory — read the code first.

Process

  1. Freshen the diagrams. If docs/diagrams/temporal.svg, infra.svg, or flow.svg are missing — or the workflow/worker/chart files changed since they were generated — run the diagrams skill first. This document must embed diagrams that match the code it describes.
  2. Gather facts from the same sources of truth the diagrams skill lists (workflows.py, activities.py, worker.py, shared.py, helm values, .env.example, Makefile), plus requirements.txt, requirements-dev.txt, VERSION, and tests/.
  3. Rasterize the diagrams for embedding with cairosvg at print sharpness (scale=1.4) into the session scratchpad — not ImageMagick (it drops SVG features). Embed the PNGs, not the SVGs (WeasyPrint's own SVG support is partial).
  4. Author one self-contained HTML in the scratchpad. Sections, in order:
    • Overview: what the system does, one paragraph + the artifact outputs.
    • Temporal architecture: embed temporal.png; prose on queues/pools/caps and why (per-resource quota protection), worker roles via WORKER_QUEUES.
    • Execution flow: embed flow.png; prose on ordering, parallelism, retry/heartbeat/resume behavior, fail-fast validations.
    • Cloud infrastructure: embed infra.png; prose on the resource group contents, images, public/private storage split.
    • Dependencies: Azure services table + Python packages (runtime and dev).
    • Operational environment: endpoints (Temporal frontend DNS, UI via admin.sh), config/secrets model (.env locally, helm secrets.yaml to Kubernetes Secrets, runtime listKeys, API-key gate), scaling knobs (replicas x per-pod caps), and the day-to-day commands (make targets, test.sh, admin.sh, local worker/start). Style: match output-template.html's look (same palette #16324f/#2a6fb0, Helvetica, A4 @page with page numbers). Full-width images, each with a short caption. Keep prose tight — bullets over paragraphs.
  5. Render with WeasyPrint to docs/architecture.pdf. Include the project VERSION and generation date on the title header.
  6. Verify: the file starts with %PDF; rasterize 2-3 pages with ghostscript (gs -sDEVICE=png16m) and visually inspect for overflowing text, blank/missing images, or awkward page breaks. Fix and re-render before finishing.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/architecture-document-generator-mrwak9zg/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/architecture-document-generator-mrwak9zg' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/architecture-document-generator-mrwak9zg/download' --output '.skill-downloads/architecture-document-generator-mrwak9zg/SKILL.md.part' && mv '.skill-downloads/architecture-document-generator-mrwak9zg/SKILL.md.part' '.skill-downloads/architecture-document-generator-mrwak9zg/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/architecture-document-generator-mrwak9zg/SKILL.md' && test -s '.skill-downloads/architecture-document-generator-mrwak9zg/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/archdoc' && cp -R '.skill-downloads/architecture-document-generator-mrwak9zg' '.claude/skills/archdoc'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/architecture-document-generator-mrwak9zg'

openskills read 'architecture-document-generator-mrwak9zg'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/architecture-document-generator-mrwak9zg/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills