Agent skill
select-svg-icon
Choose and validate SVG icons for pyRevit extension commands. Use when creating or updating a pyRevit pushbutton and you need an SVG-only icon workflow with automated acquisition from svgrepo.com first, manual fallback on svgfind.com, and vision-based semantic ranking before finalizing icon assets.
Install this agent skill to your Project
npx add-skill https://github.com/OriAshkenazi/ai-pyrevit-developer-template/tree/main/CodexWorkspace/skills/select-svg-icon
SKILL.md
Select SVG Icon
Use this skill to pick an icon that matches a pyRevit command's behavior, not just its name.
SVG-Only Policy
- Acquire source assets as
.svgonly. - Reject PNG-only sources during acquisition.
- Generate
icon.pngonly in the finalization step for pyRevit compatibility.
Workflow
- Read the target command script and capture an intent brief:
- Primary verb (
select,align,export,delete). - Primary object (
walls,views,parameters,sheets). - Risk level (
safe,warning,destructive). - User context (
single element,batch,analysis,settings).
- Build 3-6 SVG search queries from the brief.
- Start with
verb noun. - Add one domain synonym.
- Add one metaphor fallback only if literal matches are weak.
- Collect 3-5 candidate SVG icons with ordered sources.
- Keep candidate downloads and previews under
tmp/icons/<command-name>/. - Record each source URL and license note.
- Run
scripts/acquire_svgrepo_svg.py --command-id <command-name> -q "<query>" ...first. - Run
references/svgrepo_automated_acquisition.mdfirst. - If automated acquisition yields fewer than 3 valid candidates, run
references/svgfind_acquisition.mdas manual fallback.
- Run a vision pass before deciding.
- Compare candidates against the script intent and UI context.
- Score and rank with
references/icon_review_rubric.md. - Reject icons that imply the wrong action direction or risk level.
- If vision tools are unavailable, use candidate metadata as fallback and mark confidence as low.
- Finalize for pyRevit.
- Save the selected icon to the command folder as
icon.png. - Generate
icon.pngfrom the selected SVG withscripts/render_svg_icon_png.py. - Check legibility at
16px,24px, and32pxbefore finalizing. - Keep rejected candidates in
tmp/only. - Add a one-line rationale in task/review notes to preserve intent for future changes.
Use With Other Skills
- Pair with
develop-pyrevit-extensionsfor command scaffolding and workflow docs. - Pair with
pyrevit-revit-20xxskills when API behavior affects icon semantics.
Technical Reference
- Open
scripts/acquire_svgrepo_svg.pyfor deterministic automated SVG acquisition. - Open
scripts/render_svg_icon_png.pyto render finalicon.pngfrom SVG. - Open
references/svgrepo_automated_acquisition.mdfor the default automated acquisition path. - Open
references/svgfind_acquisition.mdfor the manual fallback path. - Use
references/icon_review_rubric.mdafter acquisition to rank candidates with vision.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
pyrevit-revit-2024
Revit 2024 API guidance for pyRevit development. Use when implementing or reviewing pyRevit commands that target Autodesk Revit 2024, including transaction patterns, API constraints, and version-specific best practices.
pyrevit-revit-2025
Revit 2025 API guidance for pyRevit development. Use when implementing or reviewing pyRevit commands that target Autodesk Revit 2025, including transaction patterns, API constraints, and version-specific best practices.
pyrevit-revit-2023
Revit 2023 API guidance for pyRevit development. Use when implementing or reviewing pyRevit commands that target Autodesk Revit 2023, including transaction patterns, API constraints, and version-specific best practices.
develop-pyrevit-extensions
Build, plan, review, and document pyRevit extensions. Use when Codex needs the pyRevit development workflow, templates, prompts, checklists, or scripts for creating or updating pyRevit commands in this repo. Pair with a version-specific Revit skill (e.g., 2023/2024/2025) for API constraints.
ubiquitous-language
Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".
every-style-editor
This skill should be used when reviewing or editing copy to ensure adherence to Every's style guide. It provides a systematic line-by-line review process for grammar, punctuation, mechanics, and style guide compliance.
Didn't find tool you were looking for?