Adds or updates icons for languages and frameworks in Socialify image generation.
Install
mkdir -p .claude/skills/add-icon && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3034" && unzip -o skill.zip -d .claude/skills/add-icon && rm skill.zipInstalls to .claude/skills/add-icon
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Add or update supported language, framework, library, tool, or platform icons in Socialify. Use when a request involves adding a new icon/logo, mapping a display name to a Simple Icons entry or a custom icon, and updating the language options list used in the UI.Key capabilities
- →Map a display name to a Simple Icons entry
- →Add a custom icon to `common/icons/customIcons.ts`
- →Update `common/icons/languageMapping.ts` with new entries
- →Confirm UI coverage via `common/configHelper.ts`
- →Add a changeset via `pnpm changeset add --empty`
- →Update `AGENTS.md` or other relevant documentation
How it works
The skill adds a new icon by mapping a display name to an existing Simple Icons entry or a custom icon definition, then updates the `LANGUAGE_ICON_MAPPING` and verifies UI integration.
Inputs & outputs
When to use add-icon
- →Adding support for new framework icons
- →Mapping display names to brand assets
- →Updating icon library metadata
About this skill
Add Icon Support
Overview
Add a new language, framework, library, tool, or platform icon to Socialify’s supported list by mapping a display name to a Simple Icons entry (preferred) or a custom icon. This skill focuses on minimal, consistent changes so the entry appears in generated images and selection lists.
Workflow
1. Identify the display name and icon source
Pick the display name you want to surface in Socialify (language, framework, library, tool, or platform). Confirm whether the icon exists in Simple Icons. If it is a language, also check the GitHub Linguist repo for the exact name at https://raw.githubusercontent.com/github-linguist/linguist/main/lib/linguist/languages.yml:
- If the icon exists, use the
si<IconName>export in the mapping. - If the icon does not exist, add a custom icon to
common/icons/customIcons.tsand export it.
Custom icons must follow the SimpleIcon TypeScript type (same shape as Simple Icons):
title: Display name used in the SVG title tag.slug: Lowercase, URL-safe identifier (no spaces).hex: Brand color hex without#(uppercase preferred).source: Source URL for the icon (empty string if unavailable).guidelines: Brand guidelines URL (empty string if unavailable).path: SVG path data string (single path, viewBox0 0 24 24).svg: Getter that returns a Simple Icons-compatible<svg>string, usingtitleandpath.
2. Add the mapping entry
Update common/icons/languageMapping.ts:
- Import the Simple Icon or custom icon.
- Add the entry in
LANGUAGE_ICON_MAPPINGunder “GitHub Linguist languages” (for languages) or “Custom Frameworks, Libraries, Tools and Platforms” (for non-languages), keeping alphabetical order by display name.
3. Check UI coverage
Confirm the UI can surface the new entry:
common/configHelper.tsusesLANGUAGE_ICON_MAPPINGto build language options, so additions there should show in dropdowns automatically.
4. Update docs and changeset
Follow repo conventions:
- Add a changeset via
pnpm changeset add --empty, then fill in a one-line description. - Update
AGENTS.mdor other relevant docs if the supported list is referenced.
Implementation checklist
- Choose the display name (language, framework, library, tool, or platform; verify Linguist name for languages).
- Add a Simple Icon import or a custom icon in
common/icons/customIcons.ts. - Add the mapping in
common/icons/languageMapping.tsin alphabetical order. - Confirm the UI picks it up via
common/configHelper.ts. - Update docs that mention supported entries and add a changeset.
Example (Typst)
Reference commit 121e569b9899851f1df90cfcdaca6e7fa6e2739d:
- Added
siTypstimport and theTypst: siTypstmapping entry incommon/icons/languageMapping.ts. - Added a changeset noting the new supported language.
Notes
- Keep entries alphabetized to match existing conventions.
- Prefer Simple Icons when available; custom icons only when necessary.
Limitations
- →Custom icons must follow the `SimpleIcon` TypeScript type
- →Custom icons require SVG path data string with viewBox `0 0 24 24`
- →Entries must be kept in alphabetical order by display name
How it compares
This workflow systematically integrates new icons into the Socialify system, unlike manually adding image files without updating metadata or UI configuration.
Compared to similar skills
add-icon side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| add-icon (this skill) | 1 | 7mo | No flags | Beginner |
| scroll-experience | 101 | 6mo | No flags | Intermediate |
| anthropic-frontend-design | 12 | 6mo | No flags | Intermediate |
| infographic-structure-creator | 1 | 5mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by wei
View all by wei →You might also like
scroll-experience
davila7
Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences. Like NY Times interactives, Apple product pages, and award-winning web experiences. Makes websites feel like experiences, not just pages. Use when: scroll animation, parallax, scroll storytelling, interactive story, cinematic website.
anthropic-frontend-design
chaibuilder
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
infographic-structure-creator
antvis
Generate or update infographic Structure components for this repo (TypeScript/TSX in src/designs/structures). Use when asked to design, implement, or modify structure layouts (list/compare/sequence/hierarchy/relation/geo/chart), including layout logic, component composition, and registration.
logo-with-variants
crafter-station
Create logo components with multiple variants (icon, wordmark, logo) and light/dark modes. Use when the user provides logo SVG files and wants to create a variant-based logo component following the Clerk pattern in the Elements project.
design-context
WellApp-ai
Refresh UI/UX context from design system, Storybook, and codebase
threejs-postprocessing
CloudAI-X
Three.js post-processing - EffectComposer, bloom, DOF, screen effects. Use when adding visual effects, color grading, blur, glow, or creating custom screen-space shaders.