
Extract Tikz
- 44 installs
- 1.4k repo stars
- Updated June 10, 2026
- pedrohcgs/claude-code-my-workflow
Helps with ai & agent building tasks.
About
extract-tikz is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- extract-tikz
- AI & Agent Building
- AI-coding skill
Extract Tikz by the numbers
- 44 all-time installs (skills.sh)
- +3 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #7,794 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill extract-tikzAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 44 |
|---|---|
| repo stars | ★ 1.4k |
| Last updated | June 10, 2026 |
| Repository | pedrohcgs/claude-code-my-workflow ↗ |
What it does
Helps with ai & agent building tasks.
Files
Extract TikZ Diagrams to SVG
Extract TikZ diagrams from the Beamer source, compile to multi-page PDF, and convert each page to SVG for use in Quarto slides.
Creating a brand-new diagram instead of extracting? Use `/new-diagram` — it scaffolds from templates/tikz-snippets/ with the prevention rules pre-applied.Steps
Step 0: Freshness Check (MANDATORY)
Before compiling, verify that `extract_tikz.tex` matches the current Beamer source.
1. Find the Beamer source: ls Slides/$ARGUMENTS*.tex 2. Extract all \begin{tikzpicture} blocks from Beamer 3. Compare with Figures/$ARGUMENTS/extract_tikz.tex 4. If ANY difference exists: update extract_tikz.tex from the Beamer source 5. If extract_tikz.tex doesn't exist: create it from scratch
Step 1: Prevention pre-check (MANDATORY — halt on violation)
Before compiling, verify every \begin{tikzpicture} block in Figures/$ARGUMENTS/extract_tikz.tex satisfies the prevention rules in `.claude/rules/tikz-prevention.md`. The pre-check is a small Python script shared with /new-diagram so both skills enforce identical behavior:
python3 scripts/check-tikz-prevention.py "Figures/$ARGUMENTS/extract_tikz.tex"What it checks:
- P3 — `scale=X` without node scaling. Bare
scale=shrinks coordinates but not text. Allowed forms:scale=X, every node/.style={scale=X}orscale=X, transform shape. The checker parses the full\begin{tikzpicture}[...]options block even when it spans multiple lines. - P4 — Directional keyword on edge labels. Every edge label (
nodeinside a\draw) must carryabove,below,left,right, or a compound (e.g.above left).midwayalone is a path position, not a direction. The checker scans the full\draw ...;statement so\drawon one line andnode[...]{...}on the next line are still linked.
Note what the pre-check does NOT enforce: P1 (boxed-node explicit dimensions) and P2 (coordinate-map comment) are structural and get flagged by tikz-reviewer in Step 8, not here.
Exit codes: 0 = all files pass, 1 = one or more P3/P4 violations (stderr lists file, line, snippet, rule), 2 = usage error.
If exit is non-zero: halt, report the offending lines, and ask the user to fix the Beamer source (single source of truth). Do NOT compile.
Step 2: Navigate to the lecture's Figures directory
cd Figures/$ARGUMENTSStep 3: Compile the extract_tikz.tex file
TEXINPUTS=../../Preambles:$TEXINPUTS xelatex -interaction=nonstopmode extract_tikz.texStep 4: Count the number of pages
pdfinfo extract_tikz.pdf | grep "Pages:"Step 5: Convert each page to SVG using 0-BASED INDEXING
CRITICAL: PDF pages are 1-indexed, but output SVG files are 0-indexed!
PAGES=$(pdfinfo extract_tikz.pdf | grep "Pages:" | awk '{print $2}')
for i in $(seq 1 $PAGES); do
idx=$(printf "%02d" $((i-1)))
pdf2svg extract_tikz.pdf tikz_exact_$idx.svg $i
doneStep 6: Sync to docs/ for deployment
cd ../..
./scripts/sync_to_docs.sh $ARGUMENTSStep 7: Verify SVG files
- Read 2-3 SVG files to confirm they contain valid SVG markup
- Confirm file sizes are reasonable (not 0 bytes)
Step 8: Visual Quality Review (tikz-reviewer)
Spawn the tikz-reviewer agent (via Task with subagent_type=tikz-reviewer) on the TikZ source blocks to catch label overlaps, geometric errors, and visual inconsistencies. The reviewer cites specific passes and formulas from `.claude/rules/tikz-measurement.md`. If it returns NEEDS REVISION or REJECTED, loop:
1. Apply the recommended fixes to the Beamer .tex source (single source of truth). 2. Re-copy the updated block to extract_tikz.tex. 3. Re-run the prevention pre-check (Step 1) and compile. 4. Regenerate SVGs, re-sync. 5. Re-invoke tikz-reviewer.
Stop when tikz-reviewer returns APPROVED (max 5 rounds).
Step 9: Report results
Source of Truth Reminder
TikZ diagrams MUST be edited in the Beamer .tex file first, then copied verbatim to extract_tikz.tex. See .claude/rules/single-source-of-truth.md.