figcraft-svg
Skill0 starsChanged 6 days agoMITView on GitHub
Builds illustrations, characters, logos, and decorative artwork for FigCraft by authoring SVG and importing it as editable native vectors. Use when a reference image contains artwork that primitive shapes cannot reproduce faithfully.
In this repository75 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/skill-authoring/tools/AGENTS.mdAGENTS.md
- aes-docsSkill
- aes-fixSkill
- aes-layerSkill
- aes-migrationSkill
- android-emulator-linux-gpsSkill
- computer-useSkill
- flatpak-chromium-automationSkill
- qwen-webSkill
- grok-buildSkill
- hermes-agentSkill
- omnirouteSkill
- orcaSkill
- account-managerSkill
- brave-setupSkill
- password-managerSkill
- codegraphSkill
- deep-cleanSkill
- dogfoodSkill
- reviewSkill
- systematic-debuggingSkill
- blender-arwakySkill
- comfyuiSkill
- llm-writingSkill
- vision-arwakySkill
- playwright-toolingSkill
- setup-ci-quality-gatesSkill
- statuslineSkill
- systemd-headless-serviceSkill
- xdg-spec-complianceSkill
- figcraft-builderSkill
- figcraft-iconsSkill
- figcraft-motionSkill
- figcraft-prototyperSkill
- figcraft-reviewSkill
- figcraftSkill
- figcraft-typographySkill
- github-authSkill
- issue-makerSkill
- issue-workerSkill
- mergifySkill
- pr-babysitSkill
- releasingSkill
- repo-managerSkill
- ascii-artSkill
- ascii-videoSkill
- gif-searchSkill
- media-acquisitionSkill
- docxSkill
- emailSkill
- google-workspaceSkill
- notionSkill
- pdfSkill
- pptxSkill
- xlsxSkill
- competitor-news-monitorSkill
- product-price-monitorSkill
- weekly-review-planningSkill
- arxivSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 11 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Use this skill when a reference contains artwork rather than UI chrome: mascots, characters, illustrations, hand-drawn doodles, logos, …
- Distinctive: line 24
Do not approximate a detailed character with stacked ellipses when SVG curves are available.
- Very specific: line 38
Import returns the root frame id, and may return warnings listing what was dropped.
- Distinctive: line 44
Write the SVG to a temporary file, then import it.
- Distinctive: line 60
Use the document's palette.
- Distinctive: line 61
Prefer a few deliberate paths over dozens of fragments.
- Distinctive: line 66
When the reference artwork is a crayon, marker, pencil, or ink doodle, flat filled paths will look too clean.
- Distinctive: line 85
Delete empty groups and stray layers the converter produced.
- Distinctive: line 93
Stop when the artwork reads as the same subject at the size it will actually be viewed.
- Distinctive: line 99
Do not invent a brand logo, mascot, or trademarked artwork.
- Distinctive: line 100
Do not trace or reproduce third-party artwork the user has no rights to.
- Distinctive: line 101
Do not pad a design with decorative illustrations the reference or brief does not call for.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
FigCraft SVG Illustration
Use this skill when a reference contains artwork rather than UI chrome: mascots, characters, illustrations, hand-drawn doodles, logos, badges, decorative scenery, or any curved form that ellipses and rectangles cannot express.
Load the figcraft coordinator for intake and scope rules. Pair with figcraft-icons for interface icons, which are a different problem.
1. Choose the Right Source
| Artwork in the reference | Approach |
| User supplied the asset as a file | file.import the original. Never redraw it by hand. |
| Boxes, bars, pills, simple discs, progress tracks | Native primitives in figcraft-builder. |
| Standard interface icon | figcraft-icons via Iconify. |
| Curved illustration, character, mascot, logo mark, organic shape | Author SVG here, then import. |
| Photography, raster texture, complex painted art | Cannot be authored. Ask the user for the asset. |
Do not approximate a detailed character with stacked ellipses when SVG curves are available. Do not claim an authored illustration reproduces the reference artwork; it is an interpretation unless the original file was supplied.
2. Verified Import Behavior
file.import accepts {path} or {data (base64), name} and turns an SVG into an editable frame of shapes. Confirmed against the engine:
- An
idattribute on an element becomes that layer's name. Put anidon every shape and group. - Groups become groups; nesting is preserved.
<circle>becomes a real ellipse layer, not a path.- Linear and radial gradients survive as gradient fills.
- Strokes survive, so stroke weight stays editable after import.
currentColorresolves to solid black. Recolor after import.<text>becomes an editable text layer, but the SVGfont-familyis lost.- The root frame is named after the file or the
nameyou pass. - Import returns the root frame id, and may return
warningslisting what was dropped. Read them.
Because font family does not survive, do not place copy inside the SVG. Author text natively with figcraft-builder or figcraft-typography.
3. Authoring Rules
Write the SVG to a temporary file, then import it. Keep it clean:
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="120" viewBox="0 0 200 120">
<g id="Whale">
<path id="Whale/Fluke" d="M42 62C28 52 14 32 18 10c18 10 30 32 36 48z" fill="#1D6FA3"/>
<path id="Whale/Body" d="M40 70C40 40 70 22 108 22c40 0 62 20 62 44 0 18-22 30-58 30-40 0-72-10-72-26z" fill="#1D6FA3"/>
<path id="Whale/Mouth" d="M120 72c14 6 28 4 38-4 6 14-10 22-26 20-10-2-14-10-12-16z" fill="#F2D06B"/>
<circle id="Whale/Eye" cx="140" cy="48" r="5" fill="#15283A"/>
</g>
</svg>- Set
width,height, and a matchingviewBoxso the artwork imports at the intended size. - Name ids with the same semantic scheme the rest of the document uses, for example
Whale/BodyorMascot/Head. - Order elements back to front; the last element sits on top.
- Use the document's palette. Do not introduce colors absent from the reference or approved system.
- Prefer a few deliberate paths over dozens of fragments. A reviewer must be able to edit the result.
- Omit filters, masks, and effects you have not confirmed survive import; check
warningswhen you do use them.
4. Hand-Drawn and Marker Looks
When the reference artwork is a crayon, marker, pencil, or ink doodle, flat filled paths will look too clean. The engine can express the stroke character directly:
stroke.widthProfilewithuniform,wedge,taper,eye,rounded, orpinchvaries weight along the path.stroke.brushwithtaper,ink,ribbon, orbristlestretches a brush along the path;dots,stars,confetti, andleavesscatter along it.- Both accept
ids, and both work on strokes that came in from an imported SVG.
Target the imported layers by their SVG id with select.byName {query}, then apply the profile or brush. Confirmed working sequence: file.import → select.byName → stroke.brush → stroke.widthProfile.
Author those elements as stroked open paths rather than filled outlines, otherwise there is no stroke for the brush to follow.
5. Normalize After Import
Imported art is not finished art. Always:
- Rename the root frame from the file name to a semantic name.
- Rename any layer the SVG left generic, such as
GrouporVector. - Recolor anything that came in as black from
currentColor. - Reparent the frame into the screen or component that owns it, and set its position and size.
- Turn artwork reused across screens into a component so copies stay in sync.
- Delete empty groups and stray layers the converter produced.
6. Fidelity Loop
- Author the SVG and import it.
- Render with
screenshot, orfigcraft-cli renderwhen driving the CLI. - Compare against the reference: silhouette, proportion, weight, color, and where the artwork sits in the layout.
- Fix the paths and re-import. Replace the previous layer rather than stacking a second copy.
- Stop when the artwork reads as the same subject at the size it will actually be viewed.
Judge small artwork at its real size. A mark that reads correctly at 200 px can collapse into a blob at 28 px; simplify it for the small size instead of shrinking the detailed version.
7. Boundaries
- Do not invent a brand logo, mascot, or trademarked artwork. Ask for the asset.
- Do not trace or reproduce third-party artwork the user has no rights to.
- Do not pad a design with decorative illustrations the reference or brief does not call for.
- Report every piece of artwork you authored as an interpretation, and name what you could not match.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

