Thesis Figure Skill
0xE1337/thesis-figure-skill
生成学术论文配图:LaTeX/TikZ 代码(结构化图表,直接嵌入论文)或 draw.io XML (技术路线图、汇报配图)。自动按论文领域风格设计,编译验证后交付。
Publication-figure overlay for draw.io. An agent skill from bahayonghang/drawio-skills.
$ npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bahayonghang/drawio-skills drawio-academic-skills --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/bahayonghang/drawio-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/drawio-academic-skills .claude/skills/drawio-academic-skills && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "drawio-academic-skills" agent skill from https://github.com/bahayonghang/drawio-skills/tree/main/skills/drawio-academic-skills into .claude/skills/drawio-academic-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "drawio-academic-skills", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/bahayonghang/drawio-skills/tree/main/skills/drawio-academic-skillsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bahayonghang/drawio-skills drawio-academic-skills --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bahayonghang/drawio-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/drawio-academic-skills .agents/skills/drawio-academic-skills && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "drawio-academic-skills" agent skill from https://github.com/bahayonghang/drawio-skills/tree/main/skills/drawio-academic-skills into .agents/skills/drawio-academic-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "drawio-academic-skills", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bahayonghang/drawio-skills drawio-academic-skills --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bahayonghang/drawio-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/drawio-academic-skills .cursor/skills/drawio-academic-skills && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "drawio-academic-skills" agent skill from https://github.com/bahayonghang/drawio-skills/tree/main/skills/drawio-academic-skills into .cursor/skills/drawio-academic-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "drawio-academic-skills", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/bahayonghang/drawio-skills.git --path skills/drawio-academic-skills--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bahayonghang/drawio-skills drawio-academic-skills --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bahayonghang/drawio-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/drawio-academic-skills .gemini/skills/drawio-academic-skills && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "drawio-academic-skills" agent skill from https://github.com/bahayonghang/drawio-skills/tree/main/skills/drawio-academic-skills into .gemini/skills/drawio-academic-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "drawio-academic-skills", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install bahayonghang/drawio-skills drawio-academic-skillsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bahayonghang/drawio-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/drawio-academic-skills .github/skills/drawio-academic-skills && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "drawio-academic-skills" agent skill from https://github.com/bahayonghang/drawio-skills/tree/main/skills/drawio-academic-skills into .github/skills/drawio-academic-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "drawio-academic-skills", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bahayonghang/drawio-skills drawio-academic-skills --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bahayonghang/drawio-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/drawio-academic-skills .opencode/skills/drawio-academic-skills && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "drawio-academic-skills" agent skill from https://github.com/bahayonghang/drawio-skills/tree/main/skills/drawio-academic-skills into .opencode/skills/drawio-academic-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "drawio-academic-skills", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
drawio-academic-skillsPublication-figure overlay for draw.io. An agent skill from bahayonghang/drawio-skills.
Drawio Academic Skills is an agent skill from bahayonghang/drawio-skills. Publication-figure overlay for draw.io. Use instead of drawio whenever the diagram is for a paper, thesis, dissertation, journal, conference, IEEE/ACM submission, manuscript, camera-ready, Word/LaTeX figure, or other publication. Applies venue, figure-type, color, caption/legend, formula, and paper-readability gates for architecture, workflow, roadmap, network-topology, and replicated paper figures.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 30 other files, including reference files (for example `CHANGELOG.md`, `README.md` and `README_CN.md`). Compatibility notes: Requires sibling ../drawio in the same skills directory. Node 20+ is required for the shared YAML/CLI workflow. draw.io Desktop produces the default 300dpi…
It sits in Development, covering Diagrams and Essays and academic help. It works with draw.io and LaTeX. The repository describes itself as: drawio skills for cc,codex. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2aa612e. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteBashAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires sibling ../drawio in the same skills directory. Node 20+ is required for the shared YAML/CLI workflow. draw.io Desktop produces the default 300dpi PNG (plus PDF/JPG or embedded .drawio.svg); without it, image exports fall back to a standalone SVG. No MCP server is required.
From compatibility in the SKILL.md frontmatter.
Drawio Academic Skills loads about 3.2k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 1,151 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Bash, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from bahayonghang/drawio-skills at commit 2aa612e, republished under its MIT licence (© bahayonghang). 1,151 words, ~3,178 tokens.
.claude/skills/drawio-academic-skills/SKILL.md (or your agent's skills folder). This skill also uses 25 other files; get the full folder from GitHub.Create, edit, replicate, validate, and export publication-ready draw.io figures by applying academic policy on top of the sibling Draw.io Base Skill. This overlay is intentionally thin: it owns academic policy/gates, academic docs, and paper examples; the sibling base at ../drawio owns all shared execution (CLI, schema, renderer, themes including academic/academic-color, references, examples, style presets, Desktop export).
Resolve shared resources relative to this overlay directory:
../drawio/scripts/cli.js; URL fallback ../drawio/scripts/runtime/diagrams-net-url.js../drawio/assets/schemas/spec.schema.json; themes ../drawio/assets/themes/; palettes ../drawio/assets/palettes/../drawio/references/docs/, ../drawio/references/official/, ../drawio/references/workflows/, ../drawio/references/examples/; shared rework contract ../drawio/references/workflows/visual-review.md../drawio/styles/built-in/Overlay-local assets: references/docs/publication-overlay.md, academic-figure-playbook.md, academic-export-checklist.md, references/examples/, references/templates/.
If ../drawio/scripts/cli.js is missing, stop and report that the sibling base skill must be installed next to this overlay; never silently recreate or vendor-copy base resources into the overlay.
.mcp.json, MCP, or a live backend..drawio and a 300dpi .png (via draw.io Desktop) as the default academic final deliverables; SVG is the offline fallback without Desktop — report the fallback and never claim files that were not produced..spec.yaml, .arch.json, raw YAML, and diagnostics in a project-local work directory such as .drawio-tmp/<name>/, unless the user explicitly asks for a reproducible sidecar bundle beside the final output.../drawio/references/workflows/visual-review.md for preview structure, issue records, YAML-first rework, and stopping rules; this overlay adds only publication checks..agents/skills/drawio; port durable fixes to the sibling base skill source instead.Before generating or editing, determine and state: venue/audience; figure type (architecture, roadmap, or workflow); color policy; caption/legend/title, formula, and text-fidelity needs; export expectations. Estimate the node budget (authoritative targets, thresholds, and split strategies: references/docs/academic-figure-playbook.md § Node Budget Management); over target, confirm a split/simplify strategy with the user and start from the compact patterns in references/templates/. Full decision detail: references/docs/publication-overlay.md § Required Academic Decisions.
After the venue is known, if the user did not specify a palette, use AskUserQuestion as a single-select: venue recommendation first with (Recommended), 3-4 choices, each palette's displayName as the label, and colorblind/grayscale safety plus venue rationale in each description. Venue map: references/docs/academic-figure-playbook.md § Venue Palette Mapping.
If the user already specified a palette or an unambiguous style, map it directly and do not ask. For academic replication, preserve the source palette and skip selection unless the user explicitly requests normalization. Record the chosen name in meta.palette. The completion report must name the palette and its colorblind/grayscale safety flags, including any print-gate downgrade.
Extract only what the figure needs from papers, reference images, or text-only prompts; keep uncertainties explicit. See references/docs/publication-overlay.md § Source Understanding and references/docs/academic-figure-playbook.md § Scientific Figure Patterns.
For complex paper-derived figures or academic image-replication work, present a concise diagram plan and wait for confirmation before rendering; simple academic diagrams may skip the gate. Template: references/docs/publication-overlay.md § Diagram Plan Gate.
Only after the diagram plan is confirmed, and only with privacy approval before sending unpublished or sensitive content; treat generated text as approximate and correct final labels/formulas/geometry in YAML. Full rules: references/docs/publication-overlay.md § Optional Image Preview.
Choose one route, then load only its files. overlay = this directory; base = the sibling, resolved from this directory.
academic-create — paper, thesis, IEEE, manuscript, journal, publication-ready figure → overlay references/docs/publication-overlay.md, academic-figure-playbook.md, academic-export-checklist.md; base ../drawio/references/workflows/create.mdmath-formula — formula, equation, LaTeX, AsciiMath, MathJax, 公式 → base ../drawio/references/docs/math-typesetting.md, design-system/formulas.mdedit — modify an academic bundle or imported .drawio → base ../drawio/references/workflows/edit.md, ../drawio/references/docs/migration-readiness.mdreplicate — redraw screenshot, image, SVG, or reference paper figure → overlay references/docs/publication-overlay.md; base ../drawio/references/workflows/replicate.md, ../drawio/references/docs/design-system/specification.md, color-guide.mdbase-capabilities — code/config/live imports, raster extraction, local PNG/JPEG assets, multi-page bundles, AI/SysML/BPMN stencils, or offline postprocess before publication checks → base ../drawio/references/docs/upstream-capability-compatibility.md, local-image-assets.md; overlay references/docs/publication-overlay.mdstencil-heavy — academic cloud, network, AWS, Azure, GCP, Cisco, Kubernetes figure → base ../drawio/references/docs/stencil-library-guide.md, ieee-network-diagrams.md, ../drawio/references/official/xml-reference.mdstyle-preset — learn/use/list/delete/rename visual style presets → base ../drawio/references/docs/style-extraction.md, style-presets.md, ../drawio/styles/built-in/direct-xml-exception — tiny handoff-only XML or exact mxGraph control → base ../drawio/references/upstream/pure-drawio-skill.md, ../drawio/references/official/xml-reference.mdFor academic-paper requests, set these before rendering:
meta:
profile: academic-paper
figureType: architecture # architecture | roadmap | workflow
theme: academic # or academic-color when color is acceptable
palette: okabe-ito # from venue preflight; ieee-bw for IEEE print
title: Caption-ready title
description: One sentence explaining the figure intent
legend: Required when symbols, colors, line styles, or icons need explanation
print: { target: cn-thesis } # optional gate: cn-thesis | ieee-single | ieee-doubleDefault deliverables:
<name>.drawio<name>.png (300dpi, via draw.io Desktop; falls back to <name>.svg without Desktop)Intermediate work directory:
<name>.spec.yaml, <name>.arch.json, raw or normalized YAML, diagnosticsFor journal / IEEE vector submission, explicitly export <name>.pdf (or .svg) — vector required, not raster PNG. Other formats only on request.
architecture, roadmap, or workflow; complex paper-derived requests confirm the diagram plan first (preview only after confirmation).node ../drawio/scripts/cli.js input.yaml figure.drawio --validate --write-sidecars --sidecar-dir .drawio-tmp/figure --strict-warnings
node ../drawio/scripts/cli.js input.yaml figure.png --validate --use-desktopFigure-type patterns: references/docs/academic-figure-playbook.md.
.spec.yaml sidecar first; if only .drawio exists, import via the base CLI (--input-format drawio --export-spec).bounds for standalone text/formula blocks and labelOffset for connector labels off the line.Vector submission (journal/IEEE) exports PDF (or SVG) explicitly. Without Desktop, generate a diagrams.net URL and report the missing export honestly:
node ../drawio/scripts/cli.js input.yaml figure.pdf --validate --use-desktop
node ../drawio/scripts/runtime/diagrams-net-url.js figure.drawioUse overlay-specific user presets first (~/.drawio-academic-skills/styles/), then sibling base bundled presets (../drawio/styles/built-in/). Never mutate bundled base presets; copy into the user preset directory before editing or defaulting.
Do not claim completion until:
.drawio and .png (or fallback .svg) align with work-dir .spec.yaml/.arch.json; meta.profile is academic-paper and meta.figureType is architecture, roadmap, or workflowreferences/docs/academic-figure-playbook.md § Node Budget Management); split or simplify when exceeded$$...$$, \(...\), AsciiMath backticks); font classes follow the ladder with no label-fit overflow warningscjk stack or meta.font)meta.palette matches the venue decision; PALETTE_PRINT_GATE is clear — offer ieee-bw/tol-high-contrast when strict print safety fails../drawio/references/workflows/visual-review.md on the exported PNG (or fallback SVG) before any live/browser preview; academic checks additionally cover A4 readability, caption/legend, formulas, print meaning, and venue constraintsraster_reason, atomic_raster_unit: true, and contains_reconstructable_content: falseEnd with a concise report: deliverables with paths; intermediate work directory when sidecars were generated; sibling base CLI commands run; the selected palette, its colorblind/grayscale safety flags, and any print-gate downgrade; unavailable Desktop exports and the fallback provided; remaining venue-specific manual checks.
© bahayonghang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 25 other files (references) in skills/drawio-academic-skills of bahayonghang/drawio-skills.
Open the folder on GitHubat commit 2aa612e
Drawio Academic Skills next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Drawio Academic Skills this skillbahayonghang/drawio-skills | 287 | — | ~3.2k | Automated safety check: Notes | MIT | |
| Thesis Figure Skill0xE1337/thesis-figure-skill | 144 | — | ~9.1k | Automated safety check: Pass | MIT | |
| Write Leetcuda Bookxlite-dev/LeetCUDA | 12k | — | ~2.1k | Automated safety check: Pass | GPL-3.0 | |
| Documentation Managementwengan-li/ncku-thesis-template-latex | 151 | — | ~3.1k | Automated safety check: Pass | Custom licence | |
| Scibox Diagramjihe520/sci-box | 249 | 1 repos | ~983 | Automated safety check: Notes | None | |
| Research Figurechingswy/Skill-Research-Figure | 179 | — | ~5k | Automated safety check: Pass | None |
0xE1337/thesis-figure-skill
生成学术论文配图:LaTeX/TikZ 代码(结构化图表,直接嵌入论文)或 draw.io XML (技术路线图、汇报配图)。自动按论文领域风格设计,编译验证后交付。
xlite-dev/LeetCUDA
把 LeetCUDA kernels/interview 教学源码(base/sgemv/sgemm/hgemm/flashattn/ffpaattn/fp8gemm.cuh/fp4gemm.cuh)+ ffpa-attn CuTe sm120 源码(csrc/cuffpa/cute fp8/fp4,commit 861d75e)写成中文 CUDA 技术书(6 Part 38 章 + CuTe…
wengan-li/ncku-thesis-template-latex
A skill your agent uses for repository documentation lifecycle and consolidation.
jihe520/sci-box
制作与修改可编辑的 draw.io / diagrams.net 示意图(.drawio XML),产出 .drawio + PNG/PDF。三条路径:套用内置模板(五带技术路线图、三栏研究框架图、三栏阶段流程图、横版任务流水线图)、从零手写…
chingswy/Skill-Research-Figure
Generate publication-quality figures for academic papers: LaTeX TikZ method pipelines and Blender 3D renders.
wengan-li/ncku-thesis-template-latex
Design every student-facing change from the viewpoint of a graduate student meeting this repository for the first time.
bahayonghang/drawio-skills
Create, edit, replicate, import, and export draw.io diagrams with an offline YAML-first workflow: architecture, network topologies, flowcharts, UML/ER, org charts, Mermaid/CSV conversion, existing…
Categories
Publication-figure overlay for draw.io. An agent skill from bahayonghang/drawio-skills. Drawio Academic Skills is an agent skill from bahayonghang/drawio-skills.io.
Drawio Academic Skills fits situations like: tasks that involve Diagrams; tasks that involve Essays and academic help.
Run `npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a claude-code`. Or copy the skill folder (skills/drawio-academic-skills in bahayonghang/drawio-skills) into .claude/skills/drawio-academic-skills in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a codex`. Or copy the skill folder (skills/drawio-academic-skills in bahayonghang/drawio-skills) into .agents/skills/drawio-academic-skills in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bahayonghang/drawio-skills --skill drawio-academic-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/drawio-academic-skills, .gemini/skills/drawio-academic-skills, .github/skills/drawio-academic-skills and .opencode/skills/drawio-academic-skills in your project.
Going by SKILL.md and its folder, Drawio Academic Skills needs the command-line tools its instructions call (node). Its frontmatter pre-approves these tools: Read, Write, Bash, AskUserQuestion. Compatibility (from SKILL.md): Requires sibling ../drawio in the same skills directory. Node 20+ is required for the shared YAML/CLI workflow. draw.io Desktop produces the default 300dpi PNG (plus PDF/JPG or embedded .drawio.svg); without it, image exports fall back to a standalone SVG. No MCP server is required..
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Drawio Academic Skills is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Drawio Academic Skills: Thesis Figure Skill (0xE1337/thesis-figure-skill, 144 stars), Write Leetcuda Book (xlite-dev/LeetCUDA, 12k stars), Documentation Management (wengan-li/ncku-thesis-template-latex, 151 stars) and Scibox Diagram (jihe520/sci-box, 249 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bahayonghang (a GitHub user) maintains it in bahayonghang/drawio-skills, which has 287 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 8, 2026.
Source: bahayonghang/drawio-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.